Questa pagina descrive come gestire le pipeline utilizzando il controllo del codice sorgente in Cloud Data Fusion tramite i repository Git.
Informazioni sulla gestione del controllo del codice sorgente
Cloud Data Fusion offre la possibilità di progettare visivamente le pipeline per le integrazioni ETL ed ELT. Per una migliore gestione delle pipeline tra sviluppo e produzione, Cloud Data Fusion consente la gestione del controllo del codice sorgente delle pipeline utilizzando GitHub e altri sistemi di controllo della versione.
La gestione del controllo del codice sorgente in Cloud Data Fusion consente di eseguire le seguenti operazioni:
- Integrare ogni spazio dei nomi di Cloud Data Fusion con un sistema di controllo della versione.
- Gestire le pipeline in un repository Git centrale.
- Esaminare e controllare le modifiche alle pipeline.
- Ripristinare le modifiche alle pipeline.
- Collaborare in modo efficace con il team garantendo al contempo il controllo centrale.
Prima di iniziare
- La gestione del controllo del codice sorgente supporta l'integrazione con i repository GitHub, Bitbucket Server, Bitbucket Cloud e GitLab.
- GitHub OAuth non è supportato.
- La gestione del controllo del codice sorgente supporta solo le pipeline in batch.
- La gestione del controllo del codice sorgente supporta solo i JSON di progettazione delle pipeline per le operazioni push e pull. Le configurazioni di esecuzione non sono supportate.
- Il limite di dimensione del repository collegato è di 5 GB.
Ruoli e autorizzazioni richiesti
La gestione del controllo del codice sorgente in Cloud Data Fusion è costituita da due operazioni chiave:
- Configurazione dei repository di controllo del codice sorgente
- Sincronizzazione delle pipeline con i repository Git utilizzando le operazioni push e pull
Per ottenere le autorizzazioni necessarie per utilizzare la funzionalità di gestione del controllo del codice sorgente, chiedi all'amministratore di concederti uno dei seguenti ruoli predefiniti nel tuo progetto:
Configura repository di controllo del codice sorgente:
- Operatore Cloud Data Fusion (
roles/datafusion.operator) - Editor Cloud Data Fusion (
roles/datafusion.editor) - Amministratore Cloud Data Fusion (
roles/datafusion.admin)
- Operatore Cloud Data Fusion (
Sincronizza le pipeline utilizzando l'operazione push o pull da uno spazio dei nomi:
- Operatore Cloud Data Fusion (
roles/datafusion.operator) - Sviluppatore Cloud Data Fusion (
roles/datafusion.developer) - Editor Cloud Data Fusion (
roles/datafusion.editor) - Amministratore Cloud Data Fusion (
roles/datafusion.admin)
- Operatore Cloud Data Fusion (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite altri ruoli predefiniti.
Configurare un repository Git
Per creare un repository Git in GitHub, segui le istruzioni descritte in Creare un repository.
Per saperne di più sui token di accesso personali in GitHub e in altri sistemi di controllo della versione, consulta le seguenti pagine:
GitHub: Creazione di un token di accesso personale e Creazione di un token di accesso personale con granularità fine
Connettere un repository Git a Cloud Data Fusion
Cloud Data Fusion consente di configurare e connettere il repository Git nella scheda Gestione del controllo del codice sorgente per ogni spazio dei nomi. Per collegare uno spazio dei nomi al repository Git:
Console
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Amministrazione dello spazio dei nomi.
- Nella pagina Amministrazione dello spazio dei nomi, fai clic sulla scheda Gestione del controllo del codice sorgente.
- Fai clic su Collega repository.
Inserisci i seguenti dettagli:
- Provider: scegli un provider di servizi Git, ad esempio GitHub o GitLab.
- URL repository: inserisci l'URL in cui è possibile accedere al repository. Per GitHub, l'URL del repository è
https://github.com/HOST/REPO. - Branch predefinito (facoltativo): inserisci il branch iniziale di Git. Questo branch può essere diverso dal branch predefinito configurato su GitHub. Questo branch viene utilizzato per sincronizzare le pipeline, indipendentemente dal branch predefinito su GitHub.
- Prefisso del percorso (facoltativo): inserisci un prefisso per il nome della pipeline salvato nel repository Git. Ad esempio, se il nome della pipeline
è
DataFusionQuickStarte se specifichi il prefisso comenamespaceName, la pipeline viene salvata comenamespaceName/DataFusionQuickStartnel repository Git. - Tipo di autenticazione: Cloud Data Fusion consente di utilizzare il token di accesso personalizzato come tipo di autenticazione. Questa opzione viene selezionata automaticamente.
- Nome token: inserisci un nome che può essere associato al token.
- Token: inserisci il token fornito dal repository GitHub.
- (Facoltativo) Nome utente: inserisci un nome utente o un proprietario per il token.
Fai clic su Convalida. Attendi la verifica della connessione.
Al termine della configurazione, fai clic su Salva e chiudi per confermare la configurazione.

API REST
Crea una chiave secret in Cloud Data Fusion contenente il token di accesso personale.
Esegui questo comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'Sostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.PASSWORD_SECRET_KEY: il nome della chiave secret contenente il token di accesso personale.PERSONAL_ACCESS_TOKEN: token di accesso personale di GitHub.
Esegui questo comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'Sostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.TEST_ONLY: imposta sutruese vuoi solo convalidare la configurazione e non aggiungerla.PROVIDER_TYPE: il nome del provider Git, ovveroGITHUB.REPO_URL: l'URL del repository da collegare. Utilizza unhttpsURL—ad esempio,https://github.com/user/repo.git.DEFAULT_BRANCH: il branch utilizzato per le operazioni push e pull. Se omesso, viene utilizzato il branch predefinito configurato nel repository, ad esempio il branch principale.PATH_TO_DIRECTORY: il percorso della directory nel repository in cui sono archiviati i file di configurazione.AUTH_TYPE: il tipo di autenticazione. È supportato soloPAT. Consulta Token di accesso personale con granularità fine in GitHub.PASSWORD_SECRET_KEY: il nome della chiave secret contenente il token di accesso personale per il tipo di autenticazionePAT.USER_NAME: puoi omettere questo valore per il tipo di autenticazionePAT.
Sincronizzare le pipeline di Cloud Data Fusion con un repository remoto
Dopo aver configurato un repository Git con uno spazio dei nomi, puoi eseguire il push e il pull delle pipeline e sincronizzarle con il repository Git.
Eseguire il push delle pipeline da Cloud Data Fusion al repository Git
Per sincronizzare più pipeline di cui è stato eseguito il deployment da uno spazio dei nomi a un repository Git:
Console
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Amministrazione dello spazio dei nomi.
- Nella pagina Amministrazione dello spazio dei nomi, fai clic sulla scheda Gestione del controllo del codice sorgente.
- Trova il repository Git con cui vuoi eseguire la sincronizzazione e fai clic su Sincronizza pipeline.
- Fai clic sulla scheda Pipeline dello spazio dei nomi.
Cerca e seleziona le pipeline di cui vuoi eseguire il push nel repository Git.
Se viene eseguito il push o il pull dell'ultima versione della pipeline dal repository Git, lo stato Connesso a Git mostra
Connected. Se non è mai stato eseguito il push della pipeline in GitHub, lo stato Connesso a Git è vuoto (-).Se esegui il deployment di una versione più recente di una pipeline già sincronizzata con il repository Git, lo stato Connesso a Git cambia da
Connecteda vuoto (-).Fai clic su Esegui il push nel repository.
Inserisci un messaggio di commit e fai clic su OK.
L'operazione push viene avviata e viene visualizzato un messaggio che indica che le pipeline selezionate vengono eseguite il push nel repository remoto.

Al termine dell'operazione push, viene visualizzato un messaggio di operazione riuscita che indica il numero di pipeline di cui è stato eseguito il push nel repository remoto.
Se l'operazione push non riesce, controlla la pipeline in GitHub per verificare se è l'ultima versione. Per ogni operazione push non riuscita, viene visualizzato un messaggio di errore. Per visualizzare i dettagli dell'errore, espandi il messaggio di errore.
Puoi anche eseguire il push di singole pipeline in un repository Git da Studio di progettazione delle pipeline:
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Elenco.
- Fai clic sulla pipeline di cui vuoi eseguire il push nel repository Git.
- Nella pagina della pipeline, fai clic su Azioni > Esegui il push nel repository.
- Inserisci un messaggio di commit e fai clic su OK.

API REST
Esegui il push di un insieme di pipeline da Cloud Data Fusion al repository Git:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'Sostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.PIPELINE_NAME_1,PIPELINE_NAME_2: i nomi delle pipeline di cui eseguire il push.COMMIT_MESSAGE: il messaggio di commit per il commit Git.
La risposta contiene l'ID dell'operazione push. Ad esempio:
RESPONSE { "id": OPERATION_ID }Per eseguire il polling dello stato dell'operazione push, esegui questo comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_IDSostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.OPERATION_ID: l'ID operazione ricevuto dall'operazione push.
La risposta contiene lo stato dell'operazione push. Ad esempio:
RESPONSE { "id": OPERATION_ID "done": True/False "status": STARTING/RUNNING/SUCCEEDED/FAILED "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]} }Per verificare se l'operazione push è stata completata, controlla la proprietà
donenella risposta. Se l'operazione non è riuscita, controlla la proprietàerrorper maggiori dettagli.
Eseguire il pull delle pipeline dal repository Git in Cloud Data Fusion
Per sincronizzare più pipeline da un repository Git al tuo spazio dei nomi:
Console
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Amministrazione dello spazio dei nomi.
- Nella pagina Amministrazione dello spazio dei nomi, fai clic sulla scheda Gestione del controllo del codice sorgente.
- Trova il repository Git con cui vuoi eseguire la sincronizzazione e fai clic su Sincronizza pipeline.
- Fai clic sulla scheda Pipeline del repository. Vengono visualizzate tutte le pipeline archiviate nel repository Git.
- Cerca e seleziona le pipeline di cui vuoi eseguire il pull dal repository Git nel tuo spazio dei nomi di Cloud Data Fusion.
Fai clic su Esegui il pull dal repository.
L'operazione di pull viene avviata e viene visualizzato un messaggio che indica che le pipeline selezionate vengono eseguite il pull dal repository remoto. Cloud Data Fusion cerca i file JSON nel percorso configurato, li esegue e li implementa come pipeline in Cloud Data Fusion.

Al termine dell'operazione pull, viene visualizzato un messaggio di operazione riuscita che indica il numero di pipeline di cui è stato eseguito il pull dal repository remoto.
Se l'operazione pull non riesce, viene visualizzato un messaggio di errore. Per visualizzare i dettagli dell'errore, espandi il messaggio di errore.
Puoi anche eseguire il pull di singole pipeline da un repository Git a uno spazio dei nomi da Studio di progettazione delle pipeline:
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Elenco.
- Fai clic sulla pipeline di cui vuoi eseguire il pull dal repository Git.
- Nella pagina della pipeline, fai clic su Azioni > Esegui il pull dal repository.

API REST
Esegui il pull di un insieme di pipeline dal repository Git in Cloud Data Fusion:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'Sostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.PIPELINE_NAME_1,PIPELINE_NAME_2: i nomi delle pipeline di cui eseguire il pull.
La risposta contiene l'ID dell'operazione pull. Ad esempio:
RESPONSE { "id": OPERATION_ID }Per eseguire il polling dello stato dell'operazione pull, esegui questo comando:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_IDSostituisci quanto segue:
NAMESPACE_ID: l'ID dello spazio dei nomi.OPERATION_ID: l'ID operazione ricevuto dall'operazione pull.
La risposta contiene lo stato dell'operazione pull. Ad esempio:
RESPONSE { "id": OPERATION_ID "done": True/False "status": STARTING/RUNNING/SUCCEEDED/FAILED "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]} }Per verificare se l'operazione pull è stata completata, controlla la proprietà
donenella risposta. Se l'operazione non è riuscita, controlla la proprietàerrorper maggiori dettagli.
Eliminare la configurazione del repository Git
Per eliminare la configurazione del repository Git da uno spazio dei nomi:
Console
- In Cloud Data Fusion Studio, fai clic su Menu.
- Fai clic su Amministrazione dello spazio dei nomi.
- Nella pagina Amministrazione dello spazio dei nomi, fai clic sulla scheda Gestione del controllo del codice sorgente.
- Per la configurazione del repository Git che vuoi eliminare, fai clic su > Elimina.
API REST
Elimina la configurazione del repository Git:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE
Sostituisci NAMESPACE_ID con l'ID dello spazio dei nomi.
Passaggi successivi
- Scopri di più su l'utilizzo di un repository GitHub per gestire le pipeline.