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ê 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 do 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.
-
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.
-
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 está em
us-central1
, defina o local comous-central1
.Se você estiver usando um modelo ou glossário de tradução do AutoML diferente do padrão, verifique se ele está no mesmo local que a chamada para o 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.
delete-tutorial-resources
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 os buckets criado 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.