Utilizzo dei pacchetti di estensione con AWS Schema Conversion Tool - AWS Schema Conversion Tool

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dei pacchetti di estensione con AWS Schema Conversion Tool

Un pacchetto di AWS SCT estensione è un modulo aggiuntivo che emula le funzioni presenti in un database di origine necessarie per la conversione degli oggetti nel database di destinazione. Prima di poter installare un pacchetto di AWS SCT estensione, è necessario convertire lo schema del database.

Ogni pacchetto di AWS SCT estensione include i seguenti componenti:

  • Schema DB: include SQL funzioni, procedure e tabelle per l'emulazione di determinati oggetti del database di elaborazione delle transazioni online (OLTP) e di elaborazione analitica online (OLAP), come le sequenze. Inoltre, emula non è supportata built-in-functions dal database di origine. Il nome di questo schema ha il seguente formato:. aws_database_engine_name_ext

  • AWS Lambda funzioni (per determinati OLTP database): include AWS Lambda funzioni che emulano funzionalità complesse del database, come la pianificazione dei lavori e l'invio di e-mail.

  • Librerie personalizzate per OLAP database: include un set di librerie Java e Python che è possibile utilizzare per migrare gli script AWS Glue di estrazione, trasformazione e caricamento SSIS () di SQL Microsoft Server Integration Services ETL () in o. AWS Glue Studio

    Le librerie Java includono i seguenti moduli:

    • spark-excel_2.11-0.13.1.jar— Per emulare la funzionalità dei componenti di origine e destinazione di Excel.

    • spark-xml_2.11-0.9.0.jarpoi-ooxml-schemas-4.1.2.jar, e xmlbeans-3.1.0.jar — Per emulare la funzionalità del componente di XML origine.

    Le librerie Python includono i seguenti moduli:

    • sct_utils.py— Per emulare i tipi di dati di origine e preparare i parametri per la query SQL Spark.

    • ssis_datetime.py— Per emulare le funzioni integrate di data e ora.

    • ssis_null.py— Per emulare le ISNULL REPLACENULL funzioni integrate.

    • ssis_string.py— Per emulare le funzioni integrate nelle stringhe.

    Per ulteriori informazioni su queste librerie, consulta Utilizzo di librerie personalizzate per i pacchetti di AWS SCT estensione.

È possibile applicare i pacchetti di AWS SCT estensione in due modi:

  • AWS SCT può applicare automaticamente un pacchetto di estensione quando si applica uno script di database di destinazione scegliendo Applica al database dal menu contestuale. AWS SCT applica il pacchetto di estensione prima di applicare tutti gli altri oggetti dello schema.

  • Per applicare manualmente un pacchetto di estensione, scegli il database di destinazione, quindi scegli Applica pacchetto di estensione per dal menu contestuale (fai clic con il pulsante destro del mouse). Nella maggior parte dei casi, l'applicazione automatica è sufficiente. Tuttavia, potresti voler applicare il pacchetto manualmente se viene eliminato accidentalmente.

Ogni volta che si applica un pacchetto di AWS SCT estensione a un data store di destinazione, i componenti vengono AWS SCT sovrascritti e viene visualizzata una notifica al riguardo. Per disattivare queste notifiche, scegli Impostazioni, Impostazioni globali, Notifiche, quindi seleziona Nascondi l'avviso di sostituzione del pacchetto di estensione.

Per una conversione da Microsoft SQL Server a PostgreSQL, puoi utilizzare il pacchetto di estensione SQL Server to Postgre SQL in. AWS SCT Questo pacchetto di estensione emula SQL Server Agent e Server Database Mail. SQL Per ulteriori informazioni, consulta Emulazione di SQL Server Agent in SQL Postgre con un pacchetto di estensione e Emulazione di SQL Server Database Mail in SQL Postgre con un pacchetto di estensione.

Di seguito sono disponibili ulteriori informazioni sull'utilizzo dei pacchetti di AWS SCT estensione.

Autorizzazioni per l'utilizzo del pacchetto di AWS SCT estensioni

Il pacchetto di AWS SCT estensione per Amazon Aurora emula l'invio di posta, la pianificazione dei lavori, l'accodamento e altre operazioni utilizzando le funzioni. AWS Lambda Quando applichi il pacchetto di AWS SCT estensione al database Aurora di destinazione, AWS SCT crea un nuovo ruolo AWS Identity and Access Management (IAM) e una politica in IAM linea. Successivamente, AWS SCT crea una nuova funzione Lambda e configura il cluster Aurora DB per le connessioni in uscita a. AWS Lambda Per eseguire queste operazioni, assicurati di concedere all'utente le seguenti autorizzazioni richieste: IAM

  • iam:CreateRole— per creare un nuovo IAM ruolo per il tuo AWS account.

  • iam:CreatePolicy— per creare una nuova IAM politica per il tuo AWS account.

  • iam:AttachRolePolicy— per allegare la politica specificata al tuo IAM ruolo.

  • iam:PutRolePolicy— per aggiornare un documento di policy in linea incorporato nel tuo IAM ruolo.

  • iam:PassRole— per passare il IAM ruolo specificato al motore delle regole.

  • iam:TagRole— per aggiungere tag a un IAM ruolo.

  • iam:TagPolicy— per aggiungere tag a una IAM politica.

  • lambda:ListFunctions— per visualizzare l'elenco delle tue funzioni Lambda.

  • lambda:ListTags— per visualizzare l'elenco dei tag delle funzioni Lambda.

  • lambda:CreateFunction— per creare una nuova funzione Lambda.

  • rds:AddRoleToDBCluster— per associare un IAM ruolo al cluster Aurora DB.

Il pacchetto di AWS SCT estensione per Amazon Redshift emula le funzioni di base del data warehouse di origine necessarie per applicare oggetti convertiti ad Amazon Redshift. Prima di applicare il codice convertito ad Amazon Redshift, devi applicare il pacchetto di estensione per Amazon Redshift. A tal fine, includi l'iam:SimulatePrincipalPolicyazione nella tua IAM politica.

AWS SCT utilizza IAM Policy Simulator per verificare le autorizzazioni richieste per l'installazione del pacchetto di estensione Amazon Redshift. IAMPolicy Simulator può visualizzare un messaggio di errore anche se l'utente è stato configurato correttamente. IAM Si tratta di un problema noto del IAM Policy Simulator. Inoltre, il IAM Policy Simulator visualizza un messaggio di errore quando l'iam:SimulatePrincipalPolicyazione non è inclusa nella IAM politica. In questi casi, puoi ignorare il messaggio di errore e applicare il pacchetto di estensione utilizzando la procedura guidata del pacchetto di estensione. Per ulteriori informazioni, consulta Applicazione del pacchetto di estensione.

Utilizzo dello schema del pacchetto di estensione

Quando converti lo schema del database o del data warehouse, AWS SCT aggiunge un ulteriore schema per il database di destinazione. Questo schema implementa le funzioni di SQL sistema del database di origine necessarie per scrivere lo schema convertito nel database di destinazione. Lo schema aggiuntivo viene chiamato schema del pacchetto di estensione.

Lo schema del pacchetto di estensione per OLTP i database è denominato in base al database di origine nel modo seguente:

  • Microsoft SQL Server: AWS_SQLSERVER_EXT

  • MioSQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • Poster: SQL AWS_POSTGRESQL_EXT

Lo schema del pacchetto di estensione per le applicazioni di OLAP data warehouse è denominato in base al data store di origine come segue:

  • 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

Utilizzo di librerie personalizzate per i pacchetti di AWS SCT estensione

In alcuni casi, non è AWS SCT possibile convertire le funzionalità del database di origine in funzionalità equivalenti nel database di destinazione. Il pacchetto di AWS SCT estensione pertinente contiene librerie personalizzate che emulano alcune funzionalità del database di origine nel database di destinazione.

Se stai convertendo un database transazionale, vedi. Utilizzo delle AWS Lambda funzioni del pacchetto di AWS SCT estensione

Applicazione del pacchetto di estensione

È possibile applicare il pacchetto di AWS SCT estensione utilizzando la procedura guidata del pacchetto di estensione o quando si applica il codice convertito al database di destinazione.

Per applicare il pacchetto di estensione utilizzando la procedura guidata del pacchetto di estensione
  1. Nell'albero del database di destinazione AWS Schema Conversion Tool, apri il menu contestuale (fai clic con il pulsante destro del mouse), scegli Applica il pacchetto di estensione per, quindi scegli la piattaforma di database di origine.

    Applica il menu contestuale del pacchetto di estensione

    Viene visualizzata la procedura guidata del pacchetto di estensione.

  2. Leggi la pagina Welcome (Benvenuti) e scegli Next (Avanti).

  3. Nella pagina AWS delle impostazioni del profilo, procedi come segue:

    • Se stai reinstallando solo lo schema del pacchetto di estensione, scegli Skip this step for now (Salta questa fase per ora) e seleziona Next (Avanti). L'opzione Ignora questo passaggio per ora è disponibile solo per i database di elaborazione delle transazioni online (OLTP).

    • Se stai caricando una nuova libreria, fornisci le credenziali per connetterti alla tua. Account AWS Utilizzate questo passaggio solo quando convertite OLAP database o ETL script. Puoi usare le tue credenziali AWS Command Line Interface (AWS CLI) se le hai installate AWS CLI . Puoi anche utilizzare le credenziali che hai precedentemente archiviato in un profilo nelle impostazioni globali dell'applicazione e associate al progetto. Se necessario, scegliete Passa alle impostazioni globali per configurare o associare un profilo diverso al AWS SCT progetto. Per ulteriori informazioni, consulta Gestione dei profili in AWS Schema Conversion Tool.

  4. Se stai caricando una nuova libreria, scegli Devo caricare una libreria nella pagina di caricamento della libreria. Utilizzate questo passaggio solo quando convertite OLAP database o ETL script. Quindi, fornisci il percorso Amazon S3, quindi scegli Carica libreria su S3.

    Se hai già caricato la libreria, scegli Ho già caricato le librerie, usa il mio bucket S3 esistente nella pagina di caricamento della libreria. Quindi, fornisci il percorso Amazon S3.

    Al termine, seleziona Next (Avanti).

  5. Nella pagina di emulazione delle funzioni, scegli Crea pacchetto di estensione. I messaggi vengono visualizzati con lo stato delle operazioni del pacchetto di estensione.

    Al termine, seleziona Finish (Fine).

Per applicare il pacchetto di estensione quando si applica il codice convertito
  1. Specificate il bucket Amazon S3 nel vostro AWS profilo di servizio. Utilizza questo passaggio solo quando converti OLAP database o ETL script. Per ulteriori informazioni, consulta Gestione dei profili in AWS Schema Conversion Tool.

    Assicurati che la tua policy sui bucket di Amazon S3 includa le seguenti autorizzazioni:

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

    Nell'esempio precedente, sostituisci 111122223333:user/DataExtractionAgentName con il nome del tuo IAM utente.

  2. Converti gli schemi del data warehouse di origine. Per ulteriori informazioni, consulta Conversione degli schemi di data warehouse.

  3. Nel riquadro a destra, scegli lo schema convertito.

  4. Apri il menu contestuale (tasto destro del mouse) per l'elemento dello schema e quindi scegli Apply to database (Applica al database).

  5. AWS SCT genera pacchetti di estensione con i componenti richiesti e aggiunge lo aws_database_engine_name_ext schema nell'albero di destinazione. Successivamente, AWS SCT applica il codice convertito e lo schema del pacchetto di estensione al data warehouse di destinazione.

    Quando utilizzi una combinazione di Amazon Redshift e AWS Glue come piattaforma di database di destinazione, AWS SCT aggiunge uno schema aggiuntivo nel pacchetto di estensione.

Utilizzo delle AWS Lambda funzioni del pacchetto di AWS SCT estensione

AWS SCT fornisce un pacchetto di estensione che contiene le funzioni Lambda per la posta elettronica, la pianificazione dei processi e altre funzionalità per i database ospitati su Amazon. EC2

Utilizzo di AWS Lambda funzioni per emulare la funzionalità del database

In alcuni casi, le funzionalità del database non possono essere convertite in RDS funzionalità Amazon equivalenti. Ad esempio, Oracle invia chiamate e-mail che utilizzano UTL_SMTP e Microsoft SQL Server può utilizzare un job scheduler. Se ospiti e gestisci autonomamente un database su AmazonEC2, puoi emulare queste funzionalità AWS sostituendole con i servizi.

La procedura guidata AWS SCT del pacchetto di estensione consente di installare, creare e configurare le funzioni Lambda per emulare la posta elettronica, la pianificazione dei processi e altre funzionalità.

Applicazione del pacchetto di estensione per supportare le funzioni Lambda

Puoi applicare il pacchetto di estensione per supportare le funzioni Lambda utilizzando la procedura guidata del pacchetto di estensione o quando applichi il codice convertito al database di destinazione.

Importante

Le funzionalità AWS di emulazione del servizio sono supportate solo per i database installati e gestiti automaticamente su Amazon. EC2 Non installare le funzionalità di emulazione del servizio se il database di destinazione si trova su un'istanza Amazon RDS DB.

Per applicare il pacchetto di estensione utilizzando la procedura guidata per il pacchetto di estensione
  1. Nell'albero del database di destinazione AWS Schema Conversion Tool, apri il menu contestuale (fai clic con il pulsante destro del mouse), scegli Applica il pacchetto di estensione per, quindi scegli la piattaforma di database di origine.

    Applica il menu contestuale del pacchetto di estensione

    Viene visualizzata la procedura guidata del pacchetto di estensione.

  2. Leggi la pagina Welcome (Benvenuti) e scegli Next (Avanti).

  3. Nella pagina AWS delle impostazioni del profilo, procedi come segue:

    • Se stai reinstallando solo lo schema del pacchetto di estensione, scegli Skip this step for now (Salta questa fase per ora) e seleziona Next (Avanti).

    • Se stai installando AWS servizi, fornisci le credenziali per connetterti al tuo Account AWS. Puoi usare AWS CLI le tue credenziali se le hai installate AWS CLI . Puoi anche utilizzare le credenziali che hai precedentemente archiviato in un profilo nelle impostazioni globali dell'applicazione e associate al progetto. Se necessario scegli Navigate to Project Settings (Passare alle impostazioni di progetto) per associare un diverso profilo al progetto. Se necessario, scegli Global Settings (Impostazioni globali) per creare un nuovo profilo. Per ulteriori informazioni, consulta Gestione dei profili in AWS Schema Conversion Tool.

  4. Nella pagina Email Sending Service (Servizio di invio e-mail), segui questi passaggi:

    • Se stai reinstallando solo lo schema del pacchetto di estensione, scegli Skip this step for now (Salta questa fase per ora) e seleziona Next (Avanti).

    • Se stai installando AWS servizi e disponi di una funzione Lambda esistente, puoi fornirla. In caso contrario, la procedura guidata la crea automaticamente. Al termine, seleziona Next (Avanti).

  5. Nella pagina Job Emulation Service (Servizio di emulazione processi), segui questi passaggi:

    • Se stai reinstallando solo lo schema del pacchetto di estensione, scegli Skip this step for now (Salta questa fase per ora) e seleziona Next (Avanti).

    • Se stai installando AWS servizi e disponi di una funzione Lambda esistente, puoi fornirla. In caso contrario, la procedura guidata la crea automaticamente. Al termine, seleziona Next (Avanti).

  6. Nella pagina di emulazione della funzione, scegli Crea pacchetto di estensione. I messaggi vengono visualizzati con lo stato delle operazioni del pacchetto di estensione.

    Al termine, seleziona Finish (Fine).

Nota

Per aggiornare un pacchetto di estensione e sovrascrivere i vecchi componenti del pacchetto di estensione, assicurati di utilizzare la versione più recente di. AWS SCT Per ulteriori informazioni, consulta Installazione e configurazione AWS Schema Conversion Tool.

Configurazione delle funzioni per il pacchetto di estensione AWS SCT

Il pacchetto di estensione contiene funzioni che è necessario configurare prima dell'uso. La costante CONVERSION_LANG definisce il linguaggio utilizzato dal service pack. Le funzioni sono disponibili per l'inglese e il tedesco.

Per impostare la lingua su inglese o tedesco, apportate la seguente modifica al codice della funzione. Trovate la seguente dichiarazione costante:

CONVERSION_LANG CONSTANT VARCHAR := '';

CONVERSION_LANGPer impostare l'inglese, modifica la riga come segue:

CONVERSION_LANG CONSTANT VARCHAR := 'English';

CONVERSION_LANGPer impostare l'inglese, modifica la riga nel modo seguente:

CONVERSION_LANG CONSTANT VARCHAR := 'Deutsch';

Imposta questa impostazione per le seguenti funzioni:

  • 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