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 sistemi di controllo delle versioni Git in AWS Glue
Nota
I notebook non sono attualmente supportati per il controllo della versione in AWS Glue Studio. Tuttavia, è supportato il controllo della versione per gli script del processo AWS Glue e i processi ETL visivi.
Se disponi di repository remoti e desideri gestire i tuoi AWS Glue lavori utilizzando i tuoi repository, puoi utilizzare AWS Glue Studio o AWS CLI per sincronizzare le modifiche ai tuoi repository e ai tuoi lavori in. AWS Glue Quando si sincronizzano le modifiche in questo modo, si sta inviando il processo da AWS Glue Studio al repository o lo si sta estraendo dal repository verso AWS Glue Studio.
Grazie all'integrazione di Git in AWS Glue Studio, è possibile:
-
Integrazione con i sistemi di controllo delle versioni Git AWS CodeCommit, come, GitHub GitLab, e Bitbucket
-
Modifica i processi AWS Glue in AWS Glue Studio indipendentemente dal fatto che utilizzi processi visivi o processi di script e li sincronizzi con un repository
-
Parametrizza le origini e le destinazioni nei processi
-
Estrai i processi da un repository e modificali in AWS Glue Studio
-
Testa i processi estraendoli dai rami e/o inviandoli verso i rami utilizzando flussi di lavoro multiramo in AWS Glue Studio
-
Scarica file da un repository e carica processi in AWS Glue Studio per la creazione di processi tra account
-
Usa lo strumento di automazione che preferisci (ad esempio, Jenkins AWS CodeDeploy, ecc.)
Questo video dimostra come integrare AWS Glue con Git e creare una pipeline di codice continua e collaborativa.
Autorizzazioni IAM
Verifica che il processo abbia una delle seguenti autorizzazioni IAM. Per ulteriori informazioni su come configurare le autorizzazioni IAM, consulta Impostare le autorizzazioni IAM per AWS Glue Studio.
-
AWSGlueServiceRole
-
AWSGlueConsoleFullAccess
Come minimo, sono necessarie le seguenti operazioni per l'integrazione con Git:
-
glue:UpdateJobFromSourceControl
— essere in grado di aggiornare AWS Glue con un processo presente in un sistema di controllo delle versioni -
glue:UpdateSourceControlFromJob
— essere in grado di aggiornare il sistema di controllo delle versioni con un processo archiviato in AWS Glue -
s3:GetObject
— essere in grado di recuperare lo script per il processo mentre si invia al sistema di controllo delle versioni -
s3:PutObject
— essere in grado di aggiornare lo script quando si estrae un processo da un sistema di controllo dell'origine
Prerequisiti
Per poter inviare i processi a un repository di controllo del codice sorgente, avrai bisogno di:
-
un repository che è già stato creato dall'amministratore
-
un ramo nel repository
-
un token di accesso personale (per Bitbucket, questo è il Repository Access Token)
-
il nome utente del proprietario del repository
-
impostare le autorizzazioni nel repository per consentire ad AWS Glue Studio la lettura e la scrittura nel repository
-
GitLab— imposta gli ambiti dei token su api, read_repository e write_repository
-
Bitbucket: imposta le autorizzazioni su:
-
Iscrizione a Workspace: lettura e scrittura
-
Progetti: scrittura, lettura e amministratore
-
Repository: lettura, scrittura, eliminazione e amministratore
-
-
Nota
Durante l'utilizzo AWS CodeCommit, non sono necessari il token di accesso personale e il proprietario del repository. Consulta Introduzione a Git e AWS CodeCommit.
Utilizzo dei processi dal tuo repository di controllo del codice sorgente in AWS Glue Studio
Per poter estrarre un processo dal repository per il controllo di origine che non è presente in AWS Glue Studio e utilizzare quel processo in AWS Glue Studio, i prerequisiti dipenderanno dal tipo di processo.
Per i processi visivi:
-
sono necessari una cartella e un file JSON della definizione del processo che corrisponda al nome del processo
Ad esempio, vedi la definizione del processo di seguito. Il ramo nel repository dovrebbe contenere un percorso
my-visual-job/my-visual-job.json
dove sia la cartella che il file JSON corrispondono al nome del processo{ "name" : "my-visual-job", "description" : "", "role" : "arn:aws:iam::aws_account_id:role/Rolename", "command" : { "name" : "glueetl", "scriptLocation" : "s3://foldername/scripts/my-visual-job.py", "pythonVersion" : "3" }, "codeGenConfigurationNodes" : "{\"node-nodeID\":{\"S3CsvSource\":{\"AdditionalOptions\":{\"EnableSamplePath\":false,\"SamplePath\":\"s3://notebook-test-input/netflix_titles.csv\"},\"Escaper\":\"\",\"Exclusions\":[],\"Name\":\"Amazon S3\",\"OptimizePerformance\":false,\"OutputSchemas\":[{\"Columns\":[{\"Name\":\"show_id\",\"Type\":\"string\"},{\"Name\":\"type\",\"Type\":\"string\"},{\"Name\":\"title\",\"Type\":\"choice\"},{\"Name\":\"director\",\"Type\":\"string\"},{\"Name\":\"cast\",\"Type\":\"string\"},{\"Name\":\"country\",\"Type\":\"string\"},{\"Name\":\"date_added\",\"Type\":\"string\"},{\"Name\":\"release_year\",\"Type\":\"bigint\"},{\"Name\":\"rating\",\"Type\":\"string\"},{\"Name\":\"duration\",\"Type\":\"string\"},{\"Name\":\"listed_in\",\"Type\":\"string\"},{\"Name\":\"description\",\"Type\":\"string\"}]}],\"Paths\":[\"s3://dalamgir-notebook-test-input/netflix_titles.csv\"],\"QuoteChar\":\"quote\",\"Recurse\":true,\"Separator\":\"comma\",\"WithHeader\":true}}}" }
Per i processi di script:
-
hai bisogno di una cartella, un file JSON con la definizione del processo e lo script
-
la cartella e il file JSON devono corrispondere al nome del processo. Il nome dello script deve corrispondere alla
scriptLocation
nella definizione del processo insieme all'estensione del fileAd esempio, nella definizione del processo riportata di seguito, il ramo nel repository deve contenere un percorso
my-script-job/my-script-job.json
emy-script-job/my-script-job.py
. Il nome dello script deve corrispondere al nome nellascriptLocation
inclusa l'estensione dello script{ "name" : "my-script-job", "description" : "", "role" : "arn:aws:iam::aws_account_id:role/Rolename", "command" : { "name" : "glueetl", "scriptLocation" : "s3://foldername/scripts/my-script-job.py", "pythonVersion" : "3" } }
Limitazioni
Collegamento dei repository di controllo delle versioni a AWS Glue
È possibile inserire i dettagli del repository di controllo delle versioni e gestirli nella scheda Controllo delle versioni nell'editor dei processi AWS Glue Studio. Per integrarlo con il repository Git, bisogna connettersi al repository ogni volta che si accede a AWS Glue Studio.
Per connettere un sistema di controllo della versione Git:
-
In AWS Glue Studio, inizia un nuovo processo e scegli la scheda Controllo delle versioni.
-
In Sistema di controllo delle versioni, scegli Git Service tra le opzioni disponibili facendo clic sul menu a discesa.
-
AWS CodeCommit
-
GitHub
-
GitLab
-
Bitbucket
-
-
A seconda del sistema di controllo delle versioni Git scelto, si avranno diversi campi da completare.
Per AWS CodeCommit:
Completa la configurazione del repository selezionando il repository e il ramo per il processo:
-
Repository: se hai configurato dei repository in AWS CodeCommit, seleziona il repository dal menu a discesa. I repository verranno inseriti automaticamente nell'elenco
-
Ramo — seleziona il ramo dal menu a discesa
-
Cartella — facoltativo: inserisci il nome della cartella in cui salvare il processo. Se lasciato vuoto, viene creata automaticamente una cartella. Il nome predefinito della cartella è il nome del processo
Per: GitHub
Completa la GitHub configurazione completando i campi:
-
Token di accesso personale: è il token fornito dal GitHub repository. Per ulteriori informazioni sui token di accesso personali, consulta Docs GitHub
-
Proprietario del repository: è il proprietario del repository. GitHub
Completa la configurazione del repository selezionando il repository e il ramo da. GitHub
-
Repository: se hai configurato dei repository in GitHub, seleziona il repository dal menu a discesa. I repository verranno inseriti automaticamente nell'elenco
-
Ramo — seleziona il ramo dal menu a discesa
-
Cartella — facoltativo: inserisci il nome della cartella in cui salvare il processo. Se lasciato vuoto, viene creata automaticamente una cartella. Il nome predefinito della cartella è il nome del processo
Per: GitLab
-
Token di accesso personale: questo è il token fornito dal repository. GitLab Per ulteriori informazioni sui token di accesso personali, consulta Token di accesso GitLab personali
-
Proprietario del repository: si tratta del proprietario del repository. GitLab
Completa la configurazione del repository selezionando il repository e il ramo da. GitLab
-
Repository: se hai configurato dei repository in GitLab, seleziona il repository dal menu a discesa. I repository verranno inseriti automaticamente nell'elenco
-
Ramo — seleziona il ramo dal menu a discesa
-
Cartella — facoltativo: inserisci il nome della cartella in cui salvare il processo. Se lasciato vuoto, viene creata automaticamente una cartella. Il nome predefinito della cartella è il nome del processo
Per Bitbucket:
-
Password dell'app: Bitbucket utilizza le password delle app e non i token di accesso al repository. Per ulteriori informazioni sulle password delle app, consulta Password delle app.
-
Proprietario del repository: questo è il proprietario del repository Bitbucket. In Bitbucket, il proprietario è il creatore del repository.
Completa la configurazione del repository selezionando il workspace, il repository, il ramo e la cartella da Bitbucket.
-
Workspace: se sono stati configurati i workspace in Bitbucket, selezionare il workspace dal menu a discesa. I workspace vengono popolati automaticamente
-
Repository: se sono stati configurati i repository in Bitbucket, selezionare il repository dal menu a discesa. I repository vengono popolati automaticamente
-
Ramo: seleziona il ramo dal menu a discesa. I tuoi rami vengono popolati automaticamente
-
Cartella — facoltativo: inserisci il nome della cartella in cui salvare il processo. Se lasciato vuoto, viene creata automaticamente una cartella con il nome del processo.
-
-
Scegli Save (Salva) nella parte superiore del processo AWS Glue Studio
Invio dei processi AWS Glue al repository di origine
Dopo aver inserito i dettagli del sistema di controllo delle versioni, puoi modificare i processi in AWS Glue Studio e inviarli al repository di origine. Se non conosci i concetti di Git come inviare ed estrarre, guarda questo tutorial Nozioni di base su Git e AWS CodeCommit.
Per inviare il processo a un repository, devi inserire i dettagli del sistema di controllo delle versioni e salvare il processo.
-
Nel processoAWS Glue Studio, scegli Operazioni. Questo aprirà opzioni di menu aggiuntive.
-
Scegli Invia a repository.
Questa operazione salverà il processo. Quando si esegue l'invio al repository,AWS Glue Studio invia l'ultima modifica salvata. Se il processo nel repository è stato modificato da te o da un altro utente e non è sincronizzato con il processo in AWS Glue Studio, quando si invia il processo da AWS Glue Studio, il processo nel repository viene sovrascritto con il processo salvato in AWS Glue Studio.
-
Scegli Conferma per completare l'operazione. Questo crea un nuovo commit nel repository. Se lo stai utilizzando AWS CodeCommit, un messaggio di conferma mostrerà un link all'ultimo commit on. AWS CodeCommit
Estrarre processi AWS Glue dal repository di origine
Dopo aver inserito i dettagli del repository Git nella scheda Controllo delle versioni, puoi anche estrarre i processi dal repository e modificarli in AWS Glue Studio.
-
Nel processo AWS Glue Studio, scegli Operazioni. Questo aprirà opzioni di menu aggiuntive.
-
Scegli Estrai dal repository.
-
Scegli Conferma. Questo prende il commit più recente dal repository e aggiorna il processo in AWS Glue Studio.
-
Modificare il processo in AWS Glue Studio. Se apporti delle modifiche, puoi sincronizzare il processo con il repository scegliendo Invia a repository dal menu a discesa Operazioni.