Utilizza Dataflow Config Store per configurare e gestire le impostazioni dei job in tutte le risorse di Resource Manager, tra cui organizzazioni, cartelle e progetti Google Cloud .
Con Dataflow Config Store, puoi impostare policy di configurazione su larga scala senza modificare il codice delle singole pipeline, i modelli di job o gli script di deployment. Ad esempio, puoi impostare un tipo di macchina di avvio predefinito per un'intera organizzazione o cartella per mitigare le carenze di tipi di macchine Compute Engine, facilitare le migrazioni delle macchine o standardizzare il dimensionamento delle risorse.
Impostazioni supportate e limitazioni
Dataflow Config Store supporta le seguenti impostazioni:
default_launcher_machine_type: specifica il tipo di macchina Compute Engine predefinito (ad esempioe2-standard-2on2-standard-2) utilizzato dalla VM di avvio del template per i job con template flessibile.
Dataflow Config Store presenta le seguenti limitazioni:
- L'impostazione
default_launcher_machine_typesi applica solo alla VM di avvio del template per i job con template flessibile. Non influisce sulle VM worker o sui job dei modelli classici. Per configurare i tipi di macchine delle VM worker, consulta Configura le VM worker Dataflow. - Quando scegli come target un progetto, devi specificare il numero di progetto numerico. Gli ID progetto non sono supportati.
- Le impostazioni di Config Store sono regionali e si applicano solo ai job in esecuzione nella stessa regione Dataflow.
Impostazione della precedenza di risoluzione
All'avvio di un job Dataflow, le impostazioni vengono risolte utilizzando un modello di precedenza gerarchico in cui la configurazione più specifica ha la precedenza:
- Configurazione a livello di job: impostazioni passate esplicitamente durante l'invio del job (ad esempio tramite opzioni della pipeline o parametri di esecuzione).
- Impostazione a livello di progetto: un'impostazione di Config Store configurata direttamente nel progetto in cui viene eseguito il job.
- Impostazione a livello di cartella o organizzazione: un'impostazione di Config Store configurata sulle risorse predecessore nella gerarchia di Resource Manager. La cartella predecessore più vicina al progetto ha la precedenza sulle cartelle di livello superiore e sull'organizzazione.
- Valore predefinito a livello di servizio Dataflow: valori predefiniti del servizio integrato utilizzati quando non viene definito alcun override a livello di gerarchia di job o Resource Manager.
Prima di iniziare
Prima di gestire o ispezionare le impostazioni di Config Store, assicurati di disporre delle autorizzazioni Identity and Access Management (IAM) richieste per il progetto, la cartella o l'organizzazione di destinazione.
Autorizzazioni obbligatorie
| Operazione | Autorizzazione obbligatoria |
|---|---|
| Crea o aggiorna un'impostazione | dataflow.configStoreSettings.create |
| Visualizza un'impostazione configurata esplicitamente | dataflow.configStoreSettings.get |
| Elenca le impostazioni di una risorsa | dataflow.configStoreSettings.list |
| Risolvi l'impostazione effettiva | dataflow.configStoreSettings.resolve |
| Elimina un override delle impostazioni | dataflow.configStoreSettings.delete |
Ruoli predefiniti
Puoi concedere i seguenti ruoli predefiniti nel progetto, nella cartella o nell'organizzazione di destinazione oppure creare ruoli personalizzati con le autorizzazioni richieste:
- Dataflow Admin (
roles/dataflow.admin): include le autorizzazioni per creare, recuperare, elencare, risolvere ed eliminare le impostazioni di Config Store (dataflow.configStoreSettings.*). - Sviluppatore Dataflow (
roles/dataflow.developer): include autorizzazioni di sola lettura per recuperare, elencare e risolvere le impostazioni di Config Store. - Visualizzatore Dataflow (
roles/dataflow.viewer): include autorizzazioni di sola lettura per ottenere, elencare e risolvere le impostazioni di Config Store.
Per saperne di più, consulta Controllo dell'accesso con IAM.
Gestisci le impostazioni utilizzando gcloud CLI
Puoi gestire le impostazioni di Config Store utilizzando gcloud CLI.
Specifica l'ambito della risorsa di destinazione
Quando utilizzi i comandi gcloud dataflow config-store-settings, specifica l'ambito della risorsa di destinazione utilizzando uno dei seguenti flag che si escludono a vicenda.
Non combinarli nello stesso comando.
- Progetto:
--project=PROJECT_NUMBER(utilizza il numero di progetto Google Cloud numerico, non l'ID progetto) - Cartella:
--folder=FOLDER_ID(l'ID numerico della tua cartella) - Organizzazione:
--organization=ORGANIZATION_ID(l'ID organizzazione numerico)
Crea o aggiorna un'impostazione di Config Store
Per creare un'impostazione in un progetto, una cartella o un'organizzazione, esegui il comando gcloud dataflow config-store-settings create. Se l'impostazione esiste già nella risorsa di destinazione, l'esecuzione di nuovo del comando create con un --value diverso sovrascrive il valore dell'impostazione esistente:
gcloud dataflow config-store-settings create SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION \
--value="SETTING_VALUE"
Sostituisci quanto segue:
SETTING_ID: l'ID dell'impostazione supportata da configurare, ad esempiodefault_launcher_machine_type.PROJECT_NUMBER: il tuo numero di progetto Google Cloudnumerico. Per scegliere come target una cartella o un'organizzazione anziché un progetto, sostituisci--project=PROJECT_NUMBERcon--folder=FOLDER_IDo--organization=ORGANIZATION_ID.REGION: la regione Dataflow in cui si applica l'impostazione, ad esempious-central1.SETTING_VALUE: il valore dell'impostazione, ad esempioe2-standard-2perdefault_launcher_machine_type.
Recupera un'impostazione di Config Store
Per recuperare un'impostazione configurata direttamente su una risorsa, esegui il comando gcloud dataflow config-store-settings describe:
gcloud dataflow config-store-settings describe SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Sostituisci quanto segue:
SETTING_ID: l'ID dell'impostazione supportata da recuperare, ad esempiodefault_launcher_machine_type.PROJECT_NUMBER: il tuo numero di progetto Google Cloudnumerico. Per scegliere come target una cartella o un'organizzazione anziché un progetto, sostituisci--project=PROJECT_NUMBERcon--folder=FOLDER_IDo--organization=ORGANIZATION_ID.REGION: la regione Dataflow dell'impostazione, ad esempious-central1.
Impostazioni di List Config Store
Per elencare tutte le impostazioni di Config Store configurate direttamente su una risorsa,
esegui il comando gcloud dataflow config-store-settings list:
gcloud dataflow config-store-settings list \
--project=PROJECT_NUMBER \
--location=REGION \
--page-size=10
Sostituisci quanto segue:
PROJECT_NUMBER: il tuo numero di progetto Google Cloudnumerico. Per scegliere come target una cartella o un'organizzazione anziché un progetto, sostituisci--project=PROJECT_NUMBERcon--folder=FOLDER_IDo--organization=ORGANIZATION_ID.REGION: la regione Dataflow da cui elencare le impostazioni, ad esempious-central1.
Risolvi l'impostazione effettiva
Per valutare quale valore di impostazione si applica ai job avviati all'interno di una gerarchia di risorse, esegui il comando gcloud dataflow config-store-settings resolve.
Questo comando funge da dry run per confermare il valore di impostazione utilizzato da un job:
gcloud dataflow config-store-settings resolve SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Sostituisci quanto segue:
SETTING_ID: l'ID dell'impostazione supportata da risolvere, ad esempiodefault_launcher_machine_type.PROJECT_NUMBER: il tuo numero di progetto Google Cloudnumerico. Per scegliere come target una cartella o un'organizzazione anziché un progetto, sostituisci--project=PROJECT_NUMBERcon--folder=FOLDER_IDo--organization=ORGANIZATION_ID.REGION: la regione Dataflow in cui viene eseguito il job, ad esempious-central1.
L'output restituisce il valore setting effettivo, insieme a tutti i valori choices candidati nella gerarchia:
setting:
name: projects/123456789012/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: e2-standard-2
choices:
- name: projects/123456789012/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: e2-standard-2
- name: organizations/987654321098/locations/us-central1/configStoreSettings/default_launcher_machine_type
value:
stringValue: n1-standard-1
In questo esempio, sia il progetto che l'organizzazione definiscono un valore e l'impostazione più specifica a livello di progetto (e2-standard-2) ha la precedenza.
Elimina un'impostazione di Config Store
Per rimuovere un override delle impostazioni da una risorsa, esegui il comando gcloud dataflow config-store-settings delete:
gcloud dataflow config-store-settings delete SETTING_ID \
--project=PROJECT_NUMBER \
--location=REGION
Sostituisci quanto segue:
SETTING_ID: l'ID dell'impostazione supportata da eliminare, ad esempiodefault_launcher_machine_type.PROJECT_NUMBER: il tuo numero di progetto Google Cloudnumerico. Per scegliere come target una cartella o un'organizzazione anziché un progetto, sostituisci--project=PROJECT_NUMBERcon--folder=FOLDER_IDo--organization=ORGANIZATION_ID.REGION: la regione Dataflow dell'impostazione, ad esempious-central1.
Quando elimini un'impostazione, Dataflow torna a qualsiasi impostazione configurata nelle cartelle o nelle organizzazioni principali o ai valori predefiniti a livello di servizio.
Risolvi gli errori di Config Store
L'elenco seguente descrive come risolvere gli errori comuni di Config Store:
INVALID_ARGUMENT(HTTP 400): il valore dell'impostazione non è supportato (ad esempio un tipo di macchina Compute Engine non valido),--projectspecifica un ID progetto anziché un numero di progetto numerico o--locationnon è una regione Dataflow valida.NOT_FOUND(HTTP 404): l'impostazione non è stata creata direttamente sulla risorsa specificata. Eseguigcloud dataflow config-store-settings listper visualizzare le impostazioni della risorsa oresolveper controllare le impostazioni ereditate.PERMISSION_DENIED(HTTP 403): il chiamante non dispone delle autorizzazioni IAM richieste nell'ambito del progetto, della cartella o dell'organizzazione di destinazione.ABORTED(HTTP 409): un aggiornamento simultaneo ha modificato l'impostazione durante la tua richiesta. Riprova a eseguire il comando.- Il job non va a buon fine dopo la creazione di un'impostazione: la creazione di un'impostazione di Config Store convalida il formato dell'impostazione, ma non controlla la disponibilità risorsa di regione. Un job può comunque non riuscire al momento del lancio se la risorsa configurata non è disponibile. Ad esempio, un tipo di macchina potrebbe non essere supportato nella regione di destinazione oppure la zona potrebbe avere una carenza di risorse. Per risolvere il problema, aggiorna l'impostazione in modo da utilizzare un tipo di macchina disponibile. Per ulteriori informazioni, consulta Regioni e zone disponibili ed Esaurimento delle risorse VM di Launcher.
Passaggi successivi
- Scopri come configurare le VM worker di Dataflow.
- Scopri come impostare le opzioni della pipeline di Dataflow.
- Leggi la panoramica dei template Dataflow.
- Scopri di più sui tipi di macchine di Compute Engine.