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à.
Nota
I notebook non sono attualmente supportati per il controllo della versione in AWS Glue Studio. Tuttavia, controllo della versione per AWS Glue sono supportati gli script di lavoro e i lavori ETL visivi.
Se disponi di repository remoti e desideri gestire i tuoi AWS Glue lavori utilizzando i tuoi repository, puoi usare AWS Glue Studio o AWS CLI per sincronizzare le modifiche ai tuoi repository e ai tuoi lavori in AWS Glue. Quando sincronizzi le modifiche in questo modo, stai spostando il lavoro da AWS Glue Studio al tuo repository, o estraendo dal repository a AWS Glue Studio.
Con l'integrazione di Git in AWS Glue Studio, puoi:
-
Integrazione con i sistemi di controllo delle versioni Git AWS CodeCommit, come, GitHub GitLab, e Bitbucket
-
Modificare AWS Glue offerte di lavoro in AWS Glue Studio indipendentemente dal fatto che utilizzi lavori visivi o lavori di script e li sincronizzi con un repository
-
Parametrizza le origini e le destinazioni nei processi
-
Recupera i lavori da un repository e modificali AWS Glue Studio
-
Metti alla prova i lavori estraendoli dalle filiali e/o trasferendoli alle filiali utilizzando flussi di lavoro multifiliale in AWS Glue Studio
-
Scarica i file da un repository e carica i lavori in AWS Glue Studio per la creazione di posti di lavoro su più 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 Configurare le autorizzazioni IAM per AWS Glue Studio.
-
AWSGlueServiceRole
-
AWSGlueConsoleFullAccess
Come minimo, sono necessarie le seguenti operazioni per l'integrazione con Git:
-
glue:UpdateJobFromSourceControl
— per poter effettuare l'aggiornamento AWS Glue con un lavoro presente in un sistema di controllo della versione -
glue:UpdateSourceControlFromJob
— poter aggiornare il sistema di controllo della versione con un lavoro memorizzato 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
-
imposta le autorizzazioni nel repository per consentire AWS Glue Studio leggere e scrivere 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 lavori dal tuo repository di controllo del codice sorgente in AWS Glue Studio
Per recuperare un lavoro dal tuo repository di controllo del codice sorgente che non è presente AWS Glue Studioe per utilizzare quel lavoro in AWS Glue Studio, i prerequisiti dipenderanno dal tipo di lavoro.
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
Connessione dei repository di controllo della versione con AWS Glue
Puoi inserire i dettagli del tuo repository di controllo delle versioni e gestirli nella scheda Controllo delle versioni del AWS Glue Studio editor di lavori. Per l'integrazione con il tuo repository Git, devi connetterti al tuo repository ogni volta che accedi a AWS Glue Studio.
Per connettere un sistema di controllo della versione Git:
-
In AWS Glue Studio, inizia un nuovo lavoro e scegli la scheda Version Control.
-
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: si tratta del 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 Salva nella parte superiore della AWS Glue Studio job
Spingendo AWS Glue lavori nel repository dei sorgenti
Dopo aver inserito i dettagli del sistema di controllo delle versioni, puoi modificare i lavori in AWS Glue Studio e trasferisci i lavori nel tuo 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 AWS Glue Studiolavoro, scegli Azioni. Questo aprirà opzioni di menu aggiuntive.
-
Scegli Invia a repository.
Questa operazione salverà il processo. Quando invii al repository, AWS Glue Studio invia l'ultima modifica salvata. Se il lavoro nel repository è stato modificato dall'utente o da un altro utente e non è sincronizzato con il lavoro in AWS Glue Studio, il lavoro nel repository viene sovrascritto con il lavoro salvato in AWS Glue Studio quando invii il lavoro da 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.
Tirando AWS Glue lavori dal repository di origine
Dopo aver inserito i dettagli del tuo repository Git nella scheda Controllo della versione, puoi anche estrarre i lavori dal tuo repository e modificarli AWS Glue Studio.
-
Nel AWS Glue Studio lavoro, scegli Azioni. Questo aprirà opzioni di menu aggiuntive.
-
Scegli Estrai dal repository.
-
Scegli Conferma. Questo prende l'ultimo commit dal repository e aggiorna il tuo lavoro in AWS Glue Studio.
-
Modifica il tuo lavoro in AWS Glue Studio. Se apporti modifiche, puoi sincronizzare il lavoro con il repository scegliendo Invia al repository dal menu a discesa Azioni.