Neste tutorial, mostramos como criar um fluxo de trabalho que usa o conector da API Cloud Translation para traduzir arquivos para outros idiomas no modo em lote assíncrono. Isso fornece saída em tempo real à medida que as entradas estão sendo processadas.
Objetivos
Neste tutorial, você aprenderá a:
- criar um bucket de entrada do Cloud Storage;
- criar dois arquivos em inglês e fazer upload deles no bucket de entrada;
- criar um fluxo de trabalho que use o conector da API Cloud Translation para traduzir os dois arquivos para francês e espanhol e salvar os resultados em um bucket de saída;
- implantar e executar o fluxo de trabalho para orquestrar todo o processo.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito de Google Cloud .
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Storage, Translation, and Workflows APIs:
gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Storage, Translation, and Workflows APIs:
gcloud services enable storage.googleapis.com
translate.googleapis.com workflows.googleapis.com - Atualize os componentes da gcloud:
gcloud components update
- Faça login usando sua conta:
gcloud auth login
- Defina o local padrão usado neste tutorial:
gcloud config set workflows/location us-central1
Como este tutorial usa o modelo padrão do AutoML Translation, que fica em
us-central1
, você precisa definir o local comous-central1
.Se você estiver usando um modelo ou glossário do AutoML Translation diferente do padrão, verifique se ele está no mesmo local da chamada ao conector. Caso contrário, um erro
INVALID_ARGUMENT (400)
será retornado. Para mais detalhes, consulte o método batchTranslateText.
Criar um bucket e os arquivos do Cloud Storage
Use o Cloud Storage para armazenar objetos. Objetos são partes imutáveis de dados que consistem em um arquivo de qualquer formato e são armazenados em contêineres chamados buckets.
Crie um bucket do Cloud Storage para armazenar os arquivos que serão traduzidos:
BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files gcloud storage buckets create gs://${BUCKET_INPUT}
Crie dois arquivos em inglês e faça upload deles para o bucket de entrada:
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}
Implantar e executar o fluxo de trabalho
Um fluxo de trabalho é composto por uma série de etapas descritas usando a sintaxe dos fluxos de trabalho, que pode ser escrita em formato YAML ou JSON. Essa é a definição do fluxo de trabalho. Depois de criar um fluxo de trabalho, implante-o para que ele fique disponível para execução.
Crie um arquivo de texto com o nome de arquivo
workflow.yaml
com o seguinte conteúdo:O fluxo de trabalho atribui variáveis, cria um bucket de saída e inicia a tradução dos arquivos, salvando os resultados no bucket de saída.
Depois de criar o fluxo de trabalho, implante-o:
gcloud workflows deploy batch-translation --source=workflow.yaml
Execute o fluxo de trabalho:
gcloud workflows execute batch-translation
Para ver o status do fluxo de trabalho, execute o comando retornado. Exemplo:
gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 / --workflow batch-translation / --location us-central1
O fluxo de trabalho precisa ser
ACTIVE
. Após alguns minutos, os arquivos traduzidos (em francês e espanhol) serão enviados ao bucket de saída.
Listar objetos no bucket de saída
É possível confirmar se o fluxo de trabalho funcionou conforme esperado listando os objetos no bucket de saída.
Recupere o nome do bucket de saída:
gcloud storage ls
A saída será assim:
gs://PROJECT_ID-input-files/ gs://PROJECT_ID-output-files-TIMESTAMP/
Liste os objetos no bucket de saída.
gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive
Após alguns minutos, os arquivos traduzidos em francês e espanhol (dois de cada) serão listados.
Limpar
Se você criou um novo projeto para este tutorial, exclua o projeto. Se você usou um projeto atual e quer mantê-lo sem as alterações incluídas neste tutorial, exclua os recursos criados para o tutorial.
Exclua o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Excluir recursos do tutorial
Remova as configurações padrão da gcloud que você adicionou durante a configuração do tutorial:
gcloud config unset workflows/location
Exclua o fluxo de trabalho criado neste tutorial:
gcloud workflows delete WORKFLOW_NAME
Exclua um bucket e os objetos criados neste tutorial:
gcloud storage rm gs://BUCKET_NAME --recursive
Em que
BUCKET_NAME
é o nome do bucket a ser excluído. Por exemplo,my-bucket
.A resposta é semelhante a:
Removing gs://my-bucket/...
A seguir
- Para saber mais sobre fluxos de trabalho, consulte Noções básicas sobre Workflows.
- Para saber mais sobre a sintaxe do Workflows, consulte a referência de sintaxe do Workflows.
- Para saber mais sobre os conectores do Workflows, consulte Noções básicas sobre conectores.