Verwenden von AWS SCT Erweiterungspaketen - AWS Schema Conversion Tool

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von AWS SCT Erweiterungspaketen

Ein AWS SCT Erweiterungspaket ist ein Zusatzmodul, das Funktionen emuliert, die in einer Quelldatenbank vorhanden sind und für die Konvertierung von Objekten in die Zieldatenbank erforderlich sind. Bevor Sie ein AWS SCT Erweiterungspaket installieren können, konvertieren Sie Ihr Datenbankschema.

Jedes AWS SCT Erweiterungspaket umfasst die folgenden Komponenten:

  • DB-Schema — Beinhaltet SQL-Funktionen, -Prozeduren und -Tabellen zur Emulation bestimmter Datenbankobjekte wie Sequenzen im Bereich Online-Transaktionsverarbeitung (OLTP) und Online-Analytische Verarbeitung (OLAP). Emuliert außerdem nicht von der Quelldatenbank aus. built-in-functions Der Name dieses Schemas hat das folgende Format:. aws_database_engine_name_ext

  • AWS Lambda Funktionen (für bestimmte OLTP-Datenbanken) — Beinhaltet AWS Lambda Funktionen, die komplexe Datenbankfunktionen emulieren, z. B. die Auftragsplanung und das Senden von E-Mails.

  • Benutzerdefinierte Bibliotheken für OLAP-Datenbanken — Enthält eine Reihe von Java- und Python-Bibliotheken, mit denen Sie Microsoft SQL Server Integration Services (SSIS) -Skripts zum Extrahieren, Transformieren und Laden (ETL) nach AWS Glue oder migrieren können. AWS Glue Studio

    Java-Bibliotheken umfassen die folgenden Module:

    • spark-excel_2.11-0.13.1.jar— Um die Funktionalität von Excel-Quell- und Zielkomponenten zu emulieren.

    • spark-xml_2.11-0.9.0.jarpoi-ooxml-schemas-4.1.2.jar, und xmlbeans-3.1.0.jar — Um die Funktionalität der XML-Quellkomponente zu emulieren.

    Python-Bibliotheken umfassen die folgenden Module:

    • sct_utils.py— Um Quelldatentypen zu emulieren und Parameter für die Spark-SQL-Abfrage vorzubereiten.

    • ssis_datetime.py— Um integrierte Funktionen für Datum und Uhrzeit zu emulieren.

    • ssis_null.py— Um die ISNULL und die REPLACENULL integrierten Funktionen zu emulieren.

    • ssis_string.py— Um eingebaute Zeichenkettenfunktionen zu emulieren.

    Weitere Informationen zu diesen Bibliotheken finden Sie unter Verwenden von benutzerdefinierten Bibliotheken für AWS SCT Erweiterungspakete.

Sie können AWS SCT Erweiterungspakete auf zwei Arten anwenden:

  • AWS SCT kann ein Erweiterungspaket automatisch anwenden, wenn Sie ein Zieldatenbankskript anwenden, indem Sie im Kontextmenü die Option Auf Datenbank anwenden wählen. AWS SCT wendet das Erweiterungspaket an, bevor es alle anderen Schemaobjekte anwendet.

  • Um ein Erweiterungspaket manuell anzuwenden, wählen Sie die Zieldatenbank aus und wählen Sie dann im Kontextmenü (Rechtsklick) die Option Erweiterungspaket anwenden für aus. In den meisten Situationen ist eine automatische Anwendung ausreichend. Möglicherweise möchten Sie das Paket jedoch manuell anwenden, falls es versehentlich gelöscht wurde.

Jedes Mal, wenn Sie ein AWS SCT Erweiterungspaket auf einen Zieldatenspeicher anwenden, werden die Komponenten überschrieben, und es AWS SCT wird eine entsprechende Benachrichtigung angezeigt. Um diese Benachrichtigungen zu deaktivieren, wählen Sie Einstellungen, Allgemeine Einstellungen, Benachrichtigungen und dann die Option Warnung zum Austausch des Erweiterungspakets ausblenden aus.

Für eine Konvertierung von Microsoft SQL Server zu PostgreSQL können Sie das SQL Server to PostgreSQL Extension Pack in verwenden. AWS SCT Dieses Erweiterungspaket emuliert SQL Server Agent und SQL Server Database Mail. Weitere Informationen finden Sie unter Emulieren des SQL Server-Agents in PostgreSQL mit einem Erweiterungspaket und Emulieren von SQL Server-Datenbank-Mail in PostgreSQL mit einem Erweiterungspaket.

Im Folgenden finden Sie weitere Informationen zum Arbeiten mit AWS SCT Erweiterungspaketen.

Berechtigungen für die Verwendung des AWS SCT Erweiterungspakets

Das AWS SCT Erweiterungspaket für Amazon Aurora emuliert das Senden von E-Mails, die Auftragsplanung, das Einstellen von Warteschlangen und andere Operationen mithilfe von AWS Lambda Funktionen. Wenn Sie das AWS SCT Erweiterungspaket auf Ihre Aurora-Zieldatenbank anwenden, AWS SCT erstellt es eine neue AWS Identity and Access Management (IAM-) Rolle und eine Inline-IAM-Richtlinie. Als Nächstes AWS SCT erstellt es eine neue Lambda-Funktion und konfiguriert Ihren Aurora-DB-Cluster für ausgehende Verbindungen zu. AWS Lambda Um diese Operationen auszuführen, stellen Sie sicher, dass Sie Ihrem IAM-Benutzer die folgenden erforderlichen Berechtigungen gewähren:

  • iam:CreateRole— um eine neue IAM-Rolle für Ihr AWS Konto zu erstellen.

  • iam:CreatePolicy— um eine neue IAM-Richtlinie für Ihr AWS Konto zu erstellen.

  • iam:AttachRolePolicy— um die angegebene Richtlinie an Ihre IAM-Rolle anzuhängen.

  • iam:PutRolePolicy— um ein integriertes Richtliniendokument zu aktualisieren, das in Ihre IAM-Rolle eingebettet ist.

  • iam:PassRole— um die angegebene IAM-Rolle an die Regel-Engine zu übergeben.

  • iam:TagRole— um einer IAM-Rolle Tags hinzuzufügen.

  • iam:TagPolicy— um einer IAM-Richtlinie Tags hinzuzufügen.

  • lambda:ListFunctions— um die Liste Ihrer Lambda-Funktionen zu sehen.

  • lambda:ListTags— um die Liste der Tags Ihrer Lambda-Funktionen zu sehen.

  • lambda:CreateFunction— um eine neue Lambda-Funktion zu erstellen.

  • rds:AddRoleToDBCluster— um Ihrem Aurora-DB-Cluster eine IAM-Rolle zuzuordnen.

Das AWS SCT Erweiterungspaket für Amazon Redshift emuliert Quell-Data Warehouse-Basisfunktionen, die erforderlich sind, wenn konvertierte Objekte auf Amazon Redshift angewendet werden. Bevor Sie Ihren konvertierten Code auf Amazon Redshift anwenden, müssen Sie das Erweiterungspaket für Amazon Redshift anwenden. Nehmen Sie dazu die iam:SimulatePrincipalPolicy Aktion in Ihre IAM-Richtlinie auf.

AWS SCT verwendet den IAM Policy Simulator, um die erforderlichen Berechtigungen für die Installation des Amazon Redshift Redshift-Erweiterungspakets zu überprüfen. Der IAM Policy Simulator kann eine Fehlermeldung anzeigen, auch wenn Sie Ihren IAM-Benutzer korrekt konfiguriert haben. Dies ist ein bekanntes Problem des IAM Policy Simulator. Außerdem zeigt der IAM-Richtliniensimulator eine Fehlermeldung an, wenn Sie die iam:SimulatePrincipalPolicy Aktion nicht in Ihrer IAM-Richtlinie haben. In diesen Fällen können Sie die Fehlermeldung ignorieren und das Erweiterungspaket mithilfe des Erweiterungspaket-Assistenten anwenden. Weitere Informationen finden Sie unter Anwenden des Erweiterungspakets.

Verwenden Sie das Erweiterungspaket-Schema

Wenn Sie Ihr Datenbank- oder Data Warehouse-Schema konvertieren, fügt AWS SCT ein zusätzliches Schema zur Zieldatenbank hinzu. Über dieses Schema werden SQL-Systemfunktionen der Quelldatenbank implementiert, die zum Schreiben des konvertierten Schemas in die Zieldatenbank benötigt werden. Dieses Zusätzliche Schema wird als Erweiterungspaketschema bezeichnet.

Das Erweiterungspaketschema für OLTP-Datenbanken wird wie folgt entsprechend der Quelldatenbank benannt:

  • Microsoft SQL Server: AWS_SQLSERVER_EXT

  • MySQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • PostgreSQL: AWS_POSTGRESQL_EXT

Das Erweiterungspaketschema für OLAP-Datawarehouse-Anwendungen wird wie folgt entsprechend dem Quelldatenspeicher benannt:

  • 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

Verwenden von benutzerdefinierten Bibliotheken für AWS SCT Erweiterungspakete

In einigen Fällen AWS SCT können Quelldatenbank-Features nicht in äquivalente Features in Ihrer Zieldatenbank konvertiert werden. Das entsprechende AWS SCT Erweiterungspaket enthält benutzerdefinierte Bibliotheken, die einige Funktionen der Quelldatenbank in Ihrer Zieldatenbank emulieren.

Wenn Sie eine Transaktionsdatenbank konvertieren, finden Sie weitere Informationen unter. Verwenden Sie die AWS Lambda Funktionen aus dem AWS SCT Erweiterungspaket

Anwenden des Erweiterungspakets

Sie können das AWS SCT Erweiterungspaket mithilfe des Erweiterungspaket-Assistenten anwenden oder wenn Sie den konvertierten Code auf Ihre Zieldatenbank anwenden.

Um das Erweiterungspaket mit dem Erweiterungspaket-Assistenten anzuwenden
  1. Öffnen Sie in der Zieldatenbankstruktur das Kontextmenü (Rechtsklick), wählen Sie Erweiterungspaket anwenden für und wählen Sie dann Ihre Quelldatenbankplattform aus. AWS Schema Conversion Tool

    Kontextmenü Erweiterungspaket anwenden

    Der Assistent des Erweiterungspakets wird angezeigt.

  2. Lesen Sie die Seite Welcome und wählen Sie dann Next aus.

  3. Gehen Sie auf der Seite mit den AWS Profileinstellungen wie folgt vor:

    • Wenn Sie das Erweiterungspaketschema lediglich erneut installieren, wählen Sie Skip this step for now und Next aus. Die Option „Diesen Schritt vorerst überspringen“ ist nur für OLTP-Datenbanken (Online Transaction Processing) verfügbar.

    • Wenn Sie eine neue Bibliothek hochladen, geben Sie die Anmeldeinformationen ein, um eine Verbindung zu Ihrer Bibliothek herzustellen. AWS-Konto Verwenden Sie diesen Schritt nur, wenn Sie OLAP-Datenbanken oder ETL-Skripts konvertieren. Sie können Ihre AWS Command Line Interface (AWS CLI) -Anmeldeinformationen verwenden, wenn Sie die AWS CLI installiert haben. Sie können auch die Anmeldeinformationen verwenden, die Sie zuvor in einem Profil in den globalen Anwendungseinstellungen gespeichert und mit dem Projekt verknüpft haben. Wählen Sie bei Bedarf Navigate to Global Settings aus, um Ihr AWS SCT Projekt zu konfigurieren oder einem anderen Profil zuzuordnen. Weitere Informationen finden Sie unter Speichern vonAWS Serviceprofilen inAWS SCT.

  4. Wenn Sie eine neue Bibliothek hochladen, wählen Sie auf der Seite zum Hochladen der Bibliothek die Option Ich muss eine Bibliothek hochladen. Verwenden Sie diesen Schritt nur, wenn Sie OLAP-Datenbanken oder ETL-Skripts konvertieren. Geben Sie als Nächstes den Amazon S3 S3-Pfad an und wählen Sie dann Bibliothek auf S3 hochladen.

    Wenn Sie die Bibliothek bereits hochgeladen haben, wählen Sie Ich habe bereits Bibliotheken hochgeladen und verwenden Sie meinen vorhandenen S3-Bucket auf der Seite zum Hochladen der Bibliothek. Geben Sie als Nächstes den Amazon S3-Pfad an.

    Klicken Sie anschließend auf Next.

  5. Wählen Sie auf der Seite Funktionsemulation die Option Erweiterungspaket erstellen aus. Es werden Nachrichten zum Status der Operationen des Erweiterungspakets angezeigt.

    Wenn Sie fertig sind, wählen Sie Finish aus.

Um das Erweiterungspaket beim Anwenden des konvertierten Codes anzuwenden
  1. Geben Sie den Amazon S3 S3-Bucket in Ihrem AWS Serviceprofil an. Verwenden Sie diesen Schritt nur, wenn Sie OLAP-Datenbanken oder ETL-Skripts konvertieren. Weitere Informationen finden Sie unter Speichern vonAWS Serviceprofilen inAWS SCT.

    Stellen Sie sicher, dass Ihre Amazon S3 S3-Bucket-Richtlinie die folgenden Berechtigungen umfasst:

    { "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"] } ] }

    Ersetzen Sie im vorherigen Beispiel 111122223333:user/ DataExtractionAgentName durch den Namen Ihres IAM-Benutzers.

  2. Konvertieren Sie Ihre Data Warehouse-Quellschemas. Weitere Informationen finden Sie unter Konvertierung von Data Warehouse-Schemas nach Amazon Redshift.

  3. Wählen Sie im rechten Bereich das konvertierte Schema aus.

  4. Öffnen Sie das Kontextmenü (rechte Maustaste) für das Schema-Element und wählen Sie Apply to database aus.

  5. AWS SCT generiert Erweiterungspakete mit den erforderlichen Komponenten und fügt das aws_database_engine_name_ext Schema in die Zielstruktur ein. AWS SCT Wendet als Nächstes den konvertierten Code und das Erweiterungspaket-Schema auf Ihr Ziel-Data Warehouse an.

    Wenn Sie eine Kombination aus Amazon Redshift und AWS Glue als Zieldatenbankplattform verwenden, AWS SCT fügt dem Erweiterungspaket ein zusätzliches Schema hinzu.

Verwenden Sie die AWS Lambda Funktionen aus dem AWS SCT Erweiterungspaket

AWS SCT bietet ein Erweiterungspaket, das Lambda-Funktionen für E-Mail, Jobplanung und andere Funktionen für Datenbanken enthält, die auf Amazon EC2 gehostet werden.

Verwendung von AWS Lambda Funktionen zur Emulierung von Datenbankfunktionen

In einigen Fällen können Datenbankfunktionen nicht in äquivalente Amazon RDS-Funktionen konvertiert werden. Beispielsweise sendet Oracle E-Mail-Aufrufe mit UTL_SMTP, während Microsoft SQL Server möglicherweise einen Aufgabenplaner verwendet. Wenn Sie eine Datenbank auf Amazon EC2 hosten und selbst verwalten, können Sie diese Funktionen emulieren, indem Sie sie durch Dienste ersetzen AWS .

Der AWS SCT Erweiterungspaket-Assistent hilft Ihnen bei der Installation, Erstellung und Konfiguration von Lambda-Funktionen, um E-Mail, Jobplanung und andere Funktionen zu emulieren.

Anwenden des Erweiterungspakets zur Unterstützung von Lambda-Funktionen

Sie können das Erweiterungspaket zur Unterstützung von Lambda-Funktionen mithilfe des Erweiterungspaket-Assistenten anwenden oder wenn Sie den konvertierten Code auf Ihre Zieldatenbank anwenden.

Wichtig

Die Funktionen zur AWS Service-Emulation werden nur für Datenbanken unterstützt, die auf Amazon EC2 installiert und selbst verwaltet werden. Installieren Sie die Service-Emulationsfunktionen nicht, wenn sich Ihre Zieldatenbank auf einer Amazon RDS-DB-Instance befindet.

Um das Erweiterungspaket mithilfe des Erweiterungspaket-Assistenten anzuwenden
  1. Öffnen Sie in der Zieldatenbankstruktur das Kontextmenü (Rechtsklick), wählen Sie Erweiterungspaket anwenden für und wählen Sie dann Ihre Quelldatenbankplattform aus. AWS Schema Conversion Tool

    Kontextmenü Erweiterungspaket anwenden

    Der Assistent des Erweiterungspakets wird angezeigt.

  2. Lesen Sie die Seite Welcome und wählen Sie dann Next aus.

  3. Gehen Sie auf der Seite mit den AWS Profileinstellungen wie folgt vor:

    • Wenn Sie das Erweiterungspaketschema lediglich erneut installieren, wählen Sie Skip this step for now und Next aus.

    • Wenn Sie AWS Dienste installieren, geben Sie die Anmeldeinformationen ein, um eine Verbindung zu Ihrem herzustellen AWS-Konto. Sie können Ihre AWS CLI Anmeldeinformationen verwenden, wenn Sie die AWS CLI installiert haben. Sie können auch die Anmeldeinformationen verwenden, die Sie zuvor in einem Profil in den globalen Anwendungseinstellungen gespeichert und mit dem Projekt verknüpft haben. Wählen Sie bei Bedarf Navigate to Project Settings aus, um ein anderes Profil mit dem Projekt zu verknüpfen. Wählen Sie bei Bedarf Global Settings aus, um ein neues Profil zu erstellen. Weitere Informationen finden Sie unter Speichern vonAWS Serviceprofilen inAWS SCT.

  4. Führen Sie auf der Seite Email Sending Service folgende Schritte aus:

    • Wenn Sie das Erweiterungspaketschema lediglich erneut installieren, wählen Sie Skip this step for now und Next aus.

    • Wenn Sie AWS Dienste installieren und bereits über eine Lambda-Funktion verfügen, können Sie diese bereitstellen. Andernfalls erstellt der Assistent eine für Sie. Klicken Sie anschließend auf Next.

  5. Führen Sie auf der Seite Job Emulation Service folgende Schritte aus:

    • Wenn Sie das Erweiterungspaketschema lediglich erneut installieren, wählen Sie Skip this step for now und Next aus.

    • Wenn Sie AWS Dienste installieren und bereits über eine Lambda-Funktion verfügen, können Sie diese bereitstellen. Andernfalls erstellt der Assistent eine für Sie. Klicken Sie anschließend auf Next.

  6. Wählen Sie auf der Seite Funktionsemulation die Option Erweiterungspaket erstellen aus. Es werden Nachrichten zum Status der Operationen des Erweiterungspakets angezeigt.

    Wenn Sie fertig sind, wählen Sie Finish aus.

Anmerkung

Um ein Erweiterungspaket zu aktualisieren und die alten Erweiterungspaket-Komponenten zu überschreiben, stellen Sie sicher, dass Sie die neueste Version von verwenden. AWS SCT Weitere Informationen finden Sie unter Installation, Überprüfung und Aktualisierung AWS SCT.

Funktionen für das AWS SCT Erweiterungspaket konfigurieren

Das Erweiterungspaket enthält Funktionen, die Sie vor der Verwendung konfigurieren müssen. Die Konstante CONVERSION_LANG definiert die Sprache, die das Service Pack verwendet. Die Funktionen sind für Englisch und Deutsch verfügbar.

Um die Sprache auf Englisch oder Deutsch einzustellen, nehmen Sie die folgende Änderung im Funktionscode vor. Suchen Sie die folgende Konstantendeklaration:

CONVERSION_LANG CONSTANT VARCHAR := '';

Um auf Englisch CONVERSION_LANG zu setzen, ändern Sie die Zeile wie folgt:

CONVERSION_LANG CONSTANT VARCHAR := 'English';

Um die Einstellung CONVERSION_LANG auf Englisch einzustellen, ändern Sie die Zeile wie folgt:

CONVERSION_LANG CONSTANT VARCHAR := 'Deutsch';

Stellen Sie diese Einstellung für die folgenden Funktionen ein:

  • 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