Utilisation de packs d'extension avec AWS Schema Conversion Tool - AWS Schema Conversion Tool

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.

Utilisation de packs d'extension avec AWS Schema Conversion Tool

Un pack d'AWS SCT extension est un module complémentaire qui émule les fonctions présentes dans une base de données source qui sont requises lors de la conversion d'objets vers la base de données cible. Avant de pouvoir installer un pack d' AWS SCT extension, vous devez convertir le schéma de votre base de données.

Chaque pack d' AWS SCT extension inclut les composants suivants :

  • Schéma de base de données — Inclut des SQL fonctions, des procédures et des tables permettant d'émuler certains objets de base de données de traitement des transactions en ligne (OLTP) et de traitement analytique en ligne (OLAP), tels que des séquences. Émule également des émulations non prises en charge built-in-functions à partir de la base de données source. Le nom de ce schéma a le format suivant :aws_database_engine_name_ext.

  • AWS Lambda fonctions (pour certaines OLTP bases de données) — Inclut des AWS Lambda fonctions qui émulent des fonctionnalités de base de données complexes, telles que la planification des tâches et l'envoi d'e-mails.

  • Bibliothèques personnalisées pour les OLAP bases de données : inclut un ensemble de bibliothèques Java et Python que vous pouvez utiliser pour migrer des scripts Microsoft SQL Server Integration Services (SSIS) d'extraction, de transformation et de chargement (ETL) vers AWS Glue ou AWS Glue Studio.

    Les bibliothèques Java incluent les modules suivants :

    • spark-excel_2.11-0.13.1.jar— Pour émuler les fonctionnalités des composants source et cible d'Excel.

    • spark-xml_2.11-0.9.0.jar,poi-ooxml-schemas-4.1.2.jar, et xmlbeans-3.1.0.jar — Pour émuler les fonctionnalités du composant XML source.

    Les bibliothèques Python incluent les modules suivants :

    • sct_utils.py— Pour émuler les types de données source et préparer les paramètres de la SQL requête Spark.

    • ssis_datetime.py— Pour émuler les fonctions intégrées de date et d'heure.

    • ssis_null.py— Pour émuler ISNULL les fonctions REPLACENULL intégrées.

    • ssis_string.py— Pour émuler les fonctions intégrées aux chaînes.

    Pour plus d'informations sur ces bibliothèques, consultez Utilisation de bibliothèques personnalisées pour les packs d' AWS SCT extension.

Vous pouvez appliquer des packs d' AWS SCT extension de deux manières :

  • AWS SCT peut appliquer automatiquement un pack d'extension lorsque vous appliquez un script de base de données cible en choisissant Appliquer à la base de données dans le menu contextuel. AWS SCT applique le pack d'extension avant d'appliquer tous les autres objets du schéma.

  • Pour appliquer manuellement un pack d'extension, choisissez la base de données cible, puis choisissez Appliquer le pack d'extension pour dans le menu contextuel (clic droit). Dans la plupart des cas, une application automatique est suffisante. Cependant, vous souhaiterez peut-être appliquer le pack manuellement s'il est supprimé accidentellement.

Chaque fois que vous appliquez un pack d' AWS SCT extension à un magasin de données cible, les composants sont remplacés et une notification AWS SCT s'affiche à ce sujet. Pour désactiver ces notifications, choisissez Paramètres, Paramètres généraux, Notifications, puis sélectionnez Masquer l'alerte de remplacement du pack d'extension.

Pour une conversion de Microsoft SQL Server vers PostgreSQL, vous pouvez utiliser le pack d'SQLextension SQL Server to Postgre dans. AWS SCT Ce pack d'extension émule l'agent SQL serveur et le courrier de base de données SQL du serveur. Pour plus d’informations, consultez Émulation de l'agent SQL serveur dans Postgre SQL avec un pack d'extension et Émulation SQL du courrier de base de données du serveur dans Postgre SQL avec un pack d'extension.

Vous trouverez ci-dessous plus d'informations sur l'utilisation des packs d' AWS SCT extension.

Autorisations d'utilisation du pack d' AWS SCT extension

Le pack d' AWS SCT extension pour Amazon Aurora émule l'envoi d'e-mails, la planification des tâches, la mise en file d'attente et d'autres opérations à l'aide de fonctions. AWS Lambda Lorsque vous appliquez le pack d' AWS SCT extension à votre base de données Aurora cible, vous AWS SCT créez un nouveau rôle AWS Identity and Access Management (IAM) et une IAM politique intégrée. Ensuite, AWS SCT crée une nouvelle fonction Lambda et configure votre cluster de base de données Aurora pour les connexions sortantes vers. AWS Lambda Pour exécuter ces opérations, assurez-vous d'accorder les autorisations requises suivantes à votre IAM utilisateur :

  • iam:CreateRole— pour créer un nouveau IAM rôle pour votre AWS compte.

  • iam:CreatePolicy— pour créer une nouvelle IAM politique pour votre AWS compte.

  • iam:AttachRolePolicy— pour associer la politique spécifiée à votre IAM rôle.

  • iam:PutRolePolicy— pour mettre à jour un document de politique intégré à votre IAM rôle.

  • iam:PassRole— pour transmettre le IAM rôle spécifié au moteur de règles.

  • iam:TagRole— pour ajouter des balises à un IAM rôle.

  • iam:TagPolicy— pour ajouter des balises à une IAM politique.

  • lambda:ListFunctions— pour voir la liste de vos fonctions Lambda.

  • lambda:ListTags— pour voir la liste des tags de vos fonctions Lambda.

  • lambda:CreateFunction— pour créer une nouvelle fonction Lambda.

  • rds:AddRoleToDBCluster— pour associer un IAM rôle à votre cluster de base de données Aurora.

Le pack d' AWS SCT extension pour Amazon Redshift émule les fonctions de base de l'entrepôt de données source requises lors de l'application d'objets convertis à Amazon Redshift. Avant d'appliquer votre code converti à Amazon Redshift, vous devez appliquer le pack d'extension pour Amazon Redshift. Pour ce faire, incluez l'iam:SimulatePrincipalPolicyaction dans votre IAM politique.

AWS SCT utilise le IAM Policy Simulator pour vérifier les autorisations requises pour installer le pack d'extension Amazon Redshift. Le IAM Policy Simulator peut afficher un message d'erreur même si vous avez correctement configuré votre IAM utilisateur. Il s'agit d'un problème connu du IAM Policy Simulator. De plus, le simulateur de IAM politique affiche un message d'erreur lorsque l'iam:SimulatePrincipalPolicyaction n'est pas inscrite dans votre IAM politique. Dans ces cas, vous pouvez ignorer le message d'erreur et appliquer le pack d'extension à l'aide de l'assistant du pack d'extension. Pour de plus amples informations, veuillez consulter Appliquer le pack d'extension.

Utilisation du schéma du pack d'extension

Lorsque vous convertissez le schéma de votre base de données ou de votre entrepôt de données, AWS SCT ajoute un schéma supplémentaire à votre base de données cible. Ce schéma implémente les fonctions SQL système de la base de données source requises lors de l'écriture du schéma converti dans la base de données cible. Ce schéma supplémentaire est appelé schéma du kit d'extension.

Le schéma du pack d'extension pour les OLTP bases de données est nommé en fonction de la base de données source comme suit :

  • Microsoft SQL Server : AWS_SQLSERVER_EXT

  • Mon SQL : AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • Poster : SQL AWS_POSTGRESQL_EXT

Le schéma du pack d'extension pour les applications d'entrepôt de OLAP données est nommé en fonction du magasin de données source comme suit :

  • Greenplum : AWS_GREENPLUM_EXT

  • Microsoft SQL Server : AWS_SQLSERVER_EXT

  • Netezza : AWS_NETEZZA_EXT

  • Oracle: AWS_ORACLE_EXT

  • Teradata: AWS_TERADATA_EXT

  • Vertica : AWS_VERTICA_EXT

Utilisation de bibliothèques personnalisées pour les packs d' AWS SCT extension

Dans certains cas, il est AWS SCT impossible de convertir les fonctionnalités de base de données source en fonctionnalités équivalentes dans votre base de données cible. Le pack d' AWS SCT extension correspondant contient des bibliothèques personnalisées qui émulent certaines fonctionnalités de la base de données source dans votre base de données cible.

Si vous convertissez une base de données transactionnelle, consultezUtilisation des AWS Lambda fonctions du pack d' AWS SCT extension .

Appliquer le pack d'extension

Vous pouvez appliquer le pack d' AWS SCT extension à l'aide de l'assistant du pack d'extension ou lorsque vous appliquez le code converti à votre base de données cible.

Pour appliquer le pack d'extension à l'aide de l'assistant du pack d'extension
  1. Dans l' AWS Schema Conversion Tool arborescence de la base de données cible, ouvrez le menu contextuel (clic droit), choisissez Appliquer le pack d'extension pour, puis choisissez votre plate-forme de base de données source.

    Appliquer le menu contextuel du pack d'extension

    L'assistant Kit d'extension s'affiche.

  2. Lisez la page d'accueil, puis choisissez Next.

  3. Sur la page des paramètres du AWS profil, procédez comme suit :

    • Si vous réinstallez uniquement le schéma du kit d'extension, choisissez Skip this step for now, puis Next. L'option Ignorer cette étape pour le moment n'est disponible que pour les bases de données de traitement des transactions en ligne (OLTP).

    • Si vous chargez une nouvelle bibliothèque, fournissez les informations d'identification pour vous connecter à votre Compte AWS. Utilisez cette étape uniquement lorsque vous convertissez des OLAP bases de données ou ETL des scripts. Vous pouvez utiliser vos informations d'identification AWS Command Line Interface (AWS CLI) si vous les avez AWS CLI installées. Vous pouvez également utiliser les informations d'identification précédemment stockées dans un profil dans les paramètres globaux de l'application et associées au projet. Si nécessaire, choisissez Naviguer vers les paramètres globaux pour configurer ou associer un profil différent à votre AWS SCT projet. Pour de plus amples informations, veuillez consulter Gestion des profils dans le AWS Schema Conversion Tool.

  4. Si vous chargez une nouvelle bibliothèque, choisissez Je dois télécharger une bibliothèque sur la page de téléchargement de la bibliothèque. Utilisez cette étape uniquement lorsque vous convertissez des OLAP bases de données ou ETL des scripts. Indiquez ensuite le chemin Amazon S3, puis choisissez Upload library to S3.

    Si vous avez déjà chargé la bibliothèque, sélectionnez J'ai déjà téléchargé des bibliothèques, utilisez mon compartiment S3 existant sur la page de téléchargement de la bibliothèque. Indiquez ensuite le chemin Amazon S3.

    Lorsque vous avez terminé, cliquez sur Next.

  5. Sur la page d'émulation de fonctions, choisissez Create extension pack. Des messages affichent l'état des opérations du kit d'extension.

    Lorsque vous avez terminé, choisissez Finish.

Pour appliquer le pack d'extension lors de l'application du code converti
  1. Spécifiez le compartiment Amazon S3 dans votre profil AWS de service. Utilisez cette étape uniquement lorsque vous convertissez des OLAP bases de données ou ETL des scripts. Pour de plus amples informations, veuillez consulter Gestion des profils dans le AWS Schema Conversion Tool.

    Assurez-vous que votre politique relative aux compartiments Amazon S3 inclut les autorisations suivantes :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:SimulatePrincipalPolicy"], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["iam:GetUser"], "Resource": ["arn:aws:iam::111122223333:user/DataExtractionAgentName"] } ] }

    Dans l'exemple précédent, remplacez 111122223333:user/DataExtractionAgentName avec le nom de votre IAM utilisateur.

  2. Convertissez les schémas de votre entrepôt de données source. Pour de plus amples informations, veuillez consulter Conversion de schémas d'entrepôts de données.

  3. Dans le volet droit, choisissez le schéma converti.

  4. Ouvrez le menu contextuel (clic droit) pour l'élément de schéma, puis choisissez Apply to database.

  5. AWS SCT génère des packs d'extension avec les composants requis et ajoute le aws_database_engine_name_ext schéma dans l'arborescence cible. Ensuite, AWS SCT applique le code converti et le schéma du pack d'extension à votre entrepôt de données cible.

    Lorsque vous utilisez à la fois Amazon Redshift et AWS Glue comme plate-forme de base de données cible, vous ajoutez un AWS SCT schéma supplémentaire dans le pack d'extension.

Utilisation des AWS Lambda fonctions du pack d' AWS SCT extension

AWS SCT fournit un pack d'extension qui contient des fonctions Lambda pour le courrier électronique, la planification des tâches et d'autres fonctionnalités pour les bases de données hébergées sur Amazon. EC2

Utilisation de AWS Lambda fonctions pour émuler les fonctionnalités d'une base de données

Dans certains cas, les fonctionnalités de base de données ne peuvent pas être converties en RDS fonctionnalités Amazon équivalentes. Par exemple, Oracle envoie des appels électroniques qui utilisentUTL_SMTP, et Microsoft SQL Server peut utiliser un planificateur de tâches. Si vous hébergez et gérez vous-même une base de données sur AmazonEC2, vous pouvez émuler ces fonctionnalités en les remplaçant par des AWS services.

L'assistant du pack d' AWS SCT extension vous aide à installer, créer et configurer des fonctions Lambda pour émuler le courrier électronique, la planification des tâches et d'autres fonctionnalités.

Appliquer le pack d'extension pour prendre en charge les fonctions Lambda

Vous pouvez appliquer le pack d'extension pour prendre en charge les fonctions Lambda à l'aide de l'assistant du pack d'extension ou lorsque vous appliquez le code converti à votre base de données cible.

Important

Les fonctionnalités d'émulation de AWS service ne sont prises en charge que pour les bases de données installées et autogérées sur Amazon. EC2 N'installez pas les fonctionnalités d'émulation de service si votre base de données cible se trouve sur une RDS instance de base de données Amazon.

Pour appliquer le pack d'extension à l'aide de l'assistant du pack d'extension
  1. Dans l' AWS Schema Conversion Tool arborescence de la base de données cible, ouvrez le menu contextuel (clic droit), choisissez Appliquer le pack d'extension pour, puis choisissez votre plate-forme de base de données source.

    Appliquer le menu contextuel du pack d'extension

    L'assistant Kit d'extension s'affiche.

  2. Lisez la page d'accueil, puis choisissez Next.

  3. Sur la page des paramètres du AWS profil, procédez comme suit :

    • Si vous réinstallez uniquement le schéma du kit d'extension, choisissez Skip this step for now, puis Next.

    • Si vous installez des AWS services, fournissez les informations d'identification pour vous connecter à votre Compte AWS. Vous pouvez utiliser vos AWS CLI informations d'identification si vous les avez AWS CLI installées. Vous pouvez également utiliser les informations d'identification précédemment stockées dans un profil dans les paramètres globaux de l'application et associées au projet. Le cas échéant, choisissez Navigate to Project Settings pour associer un autre profil au projet. Le cas échéant, choisissez Global Settings pour créer un profil. Pour de plus amples informations, veuillez consulter Gestion des profils dans le AWS Schema Conversion Tool.

  4. Dans la page Email Sending Service, procédez comme suit :

    • Si vous réinstallez uniquement le schéma du kit d'extension, choisissez Skip this step for now, puis Next.

    • Si vous installez des AWS services et que vous possédez déjà une fonction Lambda, vous pouvez la fournir. Sinon, l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next.

  5. Dans la page Job Emulation Service, procédez comme suit :

    • Si vous réinstallez uniquement le schéma du kit d'extension, choisissez Skip this step for now, puis Next.

    • Si vous installez des AWS services et que vous possédez déjà une fonction Lambda, vous pouvez la fournir. Sinon, l'assistant la crée à votre place. Lorsque vous avez terminé, cliquez sur Next.

  6. Sur la page d'émulation de fonctions, choisissez Create extension pack. Des messages affichent l'état des opérations du kit d'extension.

    Lorsque vous avez terminé, choisissez Finish.

Note

Pour mettre à jour un pack d'extension et remplacer les anciens composants du pack d'extension, assurez-vous d'utiliser la dernière version de AWS SCT. Pour de plus amples informations, veuillez consulter Installation et configuration AWS Schema Conversion Tool.

Configuration des fonctions du pack d' AWS SCT extension

Le pack d'extension contient des fonctions que vous devez configurer avant de les utiliser. La constante CONVERSION_LANG définit la langue utilisée par le service pack. Les fonctions sont disponibles en anglais et en allemand.

Pour définir la langue en anglais ou en allemand, apportez la modification suivante au code de fonction. Trouvez la déclaration constante suivante :

CONVERSION_LANG CONSTANT VARCHAR := '';

Pour passer CONVERSION_LANG à l'anglais, modifiez la ligne comme suit :

CONVERSION_LANG CONSTANT VARCHAR := 'English';

Pour passer CONVERSION_LANG à l'anglais, modifiez la ligne comme suit :

CONVERSION_LANG CONSTANT VARCHAR := 'Deutsch';

Définissez ce paramètre pour les fonctions suivantes :

  • aws_sqlserver_ext.conv_datetime_to_string

  • aws_sqlserver_ext.conv_date_to_string

  • aws_sqlserver_ext.conv_string_to_date

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.conv_string_to_datetime

  • aws_sqlserver_ext.parse_to_date

  • aws_sqlserver_ext.parse_to_datetime

  • aws_sqlserver_ext.parse_to_time