Questo tutorial mostra come creare un flusso di lavoro che utilizza il connettore dell'API Cloud Translation per tradurre file in altre lingue in modalità batch asincrona. In questo modo, l'output viene generato in tempo reale durante l'elaborazione degli input.
Obiettivi
In questo tutorial, imparerai a:
- Crea un bucket Cloud Storage di input.
- Crea due file in inglese e caricali nel bucket di input.
- Crea un flusso di lavoro che utilizzi il connettore dell'API Cloud Translation per tradurre i due file in francese e spagnolo e salva i risultati in un bucket di output.
- Esegui il deployment ed esegui il workflow per orchestrare l'intero processo.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Prima di iniziare
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Attiva le API Cloud Storage, Translation e Workflows:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Attiva le API Cloud Storage, Translation e Workflows:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com - Aggiorna i componenti gcloud:
gcloud components update
- Accedi utilizzando il tuo account:
gcloud auth login
- Imposta la località predefinita utilizzata in questo tutorial:
gcloud config set workflows/location us-central1
Poiché questo tutorial utilizza il modello AutoML Translation predefinito che si trova in
us-central1, devi impostare la località suus-central1.Se utilizzi un modello AutoML Translation o un glossario diverso da quello predefinito, assicurati che si trovi nella stessa posizione della chiamata al connettore; in caso contrario, viene restituito un errore
INVALID_ARGUMENT (400). Per i dettagli, consulta il metodo batchTranslateText.
Crea un bucket Cloud Storage di input e i file
Puoi utilizzare Cloud Storage per archiviare oggetti. Gli oggetti sono dati immutabili costituiti da un file di qualsiasi formato e vengono archiviati in contenitori chiamati bucket.
Crea un bucket Cloud Storage per contenere i file da tradurre:
BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files gcloud storage buckets create gs://${BUCKET_INPUT}
Crea due file in inglese e caricali nel bucket di input:
echo "Hello World!" > file1.txt gcloud storage cp file1.txt gs://${BUCKET_INPUT} echo "Workflows connectors simplify calling services." > file2.txt gcloud storage cp file2.txt gs://${BUCKET_INPUT}
Esegui il deployment del workflow ed eseguilo
Un workflow è costituito da una serie di passaggi descritti utilizzando la sintassi di Workflows, che può essere scritta in formato YAML o JSON. Questa è la definizione di workflow. Dopo aver creato un workflow, esegui il deployment per renderlo disponibile per l'esecuzione.
Crea un file di testo con il nome file
workflow.yamle il seguente contenuto:Il flusso di lavoro assegna le variabili, crea un bucket di output e avvia la traduzione dei file, salvando i risultati nel bucket di output.
Dopo aver creato il workflow, esegui il deployment:
gcloud workflows deploy batch-translation --source=workflow.yaml
Esegui il workflow:
gcloud workflows execute batch-translation
Per visualizzare lo stato del flusso di lavoro, puoi eseguire il comando restituito. Ad esempio:
gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 / --workflow batch-translation / --location us-central1
Il flusso di lavoro dovrebbe essere
ACTIVE. Dopo alcuni minuti, i file tradotti (in francese e spagnolo) vengono caricati nel bucket di output.
Elenca gli oggetti nel bucket di output
Per verificare che il workflow abbia funzionato come previsto, elenca gli oggetti nel bucket di output.
Recupera il nome del bucket di output:
gcloud storage ls
L'output è simile al seguente:
gs://PROJECT_ID-input-files/ gs://PROJECT_ID-output-files-TIMESTAMP/
Elenca gli oggetti nel bucket di output:
gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive
Dopo alcuni minuti, vengono elencati i file tradotti, due per ciascuna lingua (francese e spagnolo).
Esegui la pulizia
Se hai creato un nuovo progetto per questo tutorial, eliminalo. Se hai utilizzato un progetto esistente e vuoi conservarlo senza le modifiche aggiunte in questo tutorial, elimina le risorse create per il tutorial.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Elimina le risorse del tutorial
Rimuovi la configurazione predefinita di gcloud che hai aggiunto durante la configurazione del tutorial:
gcloud config unset workflows/location
Elimina il flusso di lavoro creato in questo tutorial:
gcloud workflows delete WORKFLOW_NAME
Elimina un bucket e i relativi oggetti creati in questo tutorial:
gcloud storage rm gs://BUCKET_NAME --recursive
Dove
BUCKET_NAMEè il nome del bucket da eliminare. Ad esempio,my-bucket.La risposta è simile alla seguente:
Removing gs://my-bucket/...
Passaggi successivi
- Per scoprire di più su Workflows, consulta la sezione Comprendere Workflows.
- Per saperne di più sulla sintassi di Workflows, consulta il riferimento alla sintassi di Workflows.
- Per saperne di più sui connettori di Workflows, consulta Informazioni sui connettori.