Chargement de données depuis un cluster de SQL base de données Aurora Postgre ou RDS pour une instance de base de données Postgre SQL - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chargement de données depuis un cluster de SQL base de données Aurora Postgre ou RDS pour une instance de base de données Postgre SQL

Après avoir terminé la configuration des ressources et de l'authentification, connectez-vous au point de terminaison du cluster et appelez la procédure rds_aurora.limitless_data_load_start stockée depuis une base de données illimitée, telle quepostgres_limitless. La base de données limitless est une base de données du groupe de partitions de base de données vers lequel vous souhaitez migrer les données.

Cette fonction se connecte de manière asynchrone en arrière-plan à la base de données source spécifiée dans la commande, lit les données depuis la source et charge les données sur les partitions. Pour de meilleures performances, les données sont chargées à l'aide de threads parallèles. La fonction récupère un instantané de point-in-time table en exécutant une SELECT commande pour lire les données de la ou des tables fournies dans la commande.

Vous pouvez charger des données dans des tables fragmentées, de référence et standard.

Vous pouvez charger des données au niveau de la base de données, du schéma ou de la table lors rds_aurora.limitless_data_load_start des appels.

  • Base de données — Vous pouvez charger une base de données à la fois lors de chaque appel, sans limite quant au schéma ou au nombre de tables dans la base de données.

  • Schéma — Vous pouvez charger un maximum de 15 schémas par appel, sans limite quant au nombre de tables dans chaque schéma.

  • Table — Vous pouvez charger un maximum de 15 tables par appel.

Note

Cette fonctionnalité n'utilise pas les RDS instantanés Amazon ni point-in-time l'isolation de la base de données. Pour des raisons de cohérence entre les tables, nous recommandons de cloner la base de données source et de pointer vers cette base de données clonée comme source.

La procédure stockée utilise la syntaxe suivante :

CALL rds_aurora.limitless_data_load_start('source_type', 'source_DB_cluster_or_instance_ID', 'source_database_name', 'streaming_mode', 'data_loading_IAM_role_arn', 'source_DB_secret_arn', 'destination_DB_secret_arn', 'ignore_primary_key_conflict_boolean_flag', 'is_dry_run', (optional parameter) schemas/tables => ARRAY['name1', 'name2', ...]);

Les paramètres d'entrée sont les suivants :

  • source_type— Le type de source : aurora_postgresql ou rds_postgresql

  • source_DB_cluster_or_instance_ID— L'identifiant du cluster de SQL base de données Aurora Postgre source ou l'identifiant de l'RDSinstance de SQL base de données Postgre

  • source_database_name— Le nom de la base de données source, tel que postgres

  • streaming_mode— S'il faut inclure la capture des données de modification (CDC) : full_load ou full_load_and_cdc

  • data_loading_IAM_role_arn— Le IAM rôle Amazon Resource Name (ARN) pour aurora-data-loader

  • source_DB_secret_arn— Le secret de la base de données source ARN

  • destination_DB_secret_arn— Le secret de la base de données de destination ARN

  • ignore_primary_key_conflict_boolean_flag— S'il faut continuer en cas de conflit de clé primaire :

    • S'il est défini surtrue, le chargement des données ignore les nouvelles modifications apportées aux lignes présentant un conflit de clé primaire.

    • S'il est défini surfalse, le chargement des données remplace les lignes existantes sur les tables de destination en cas de conflit de clé primaire.

  • is_dry_run— S'il faut vérifier que la tâche de chargement des données peut se connecter aux bases de données source et de destination :

    • S'il est défini surtrue, teste les connexions sans charger de données

    • S'il est défini surfalse, charge les données

  • (facultatif) schemas ou tables — Tableau de schémas ou de tables à charger. Vous pouvez spécifier chacune des valeurs suivantes :

    • Une liste de tableaux au format tables => ARRAY['schema1.table1', 'schema1.table2', 'schema2.table1', ...]

    • Une liste de schémas au format schemas => ARRAY['schema1', 'schema2', ...]

    Si vous n'incluez pas ce paramètre, l'intégralité de la base de données source spécifiée est migrée.

Le paramètre de sortie est l'ID de tâche accompagné d'un message.

L'exemple suivant montre comment utiliser la procédure rds_aurora.limitless_data_load_start stockée pour charger des données à partir d'un cluster de SQL base de données Aurora Postgre.

CALL rds_aurora.limitless_data_load_start('aurora_postgresql', 'my-db-cluster', 'postgres', 'full_load_and_cdc', 'arn:aws:iam::123456789012:role/aurora-data-loader-8f2c66', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-source-8f2c66-EWrr0V', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-destination-8f2c66-d04fbD', 'true', 'false', tables => ARRAY['public.customer', 'public.order', 'public.orderdetails']); INFO: limitless data load job id 1688761223647 is starting.