Executar um fluxo de trabalho usando bibliotecas de cliente
É possível executar um fluxo de trabalho e conferir os resultados da execução usando uma biblioteca de cliente.
Para mais informações sobre como instalar as bibliotecas de cliente e configurar o ambiente de desenvolvimento, consulte a Visão geral das bibliotecas de cliente do Workflows.
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.
- O exemplo a seguir pressupõe que você já tenha implantado o fluxo de trabalho,
myFirstWorkflow
. Se ainda não tiver feito isso, implante-o agora usando o console do Google Cloud ou a Google Cloud CLI. - Faça o download e instale a ferramenta de gerenciamento de código-fonte Git.
Acessar o exemplo de código
Clone o repositório do aplicativo de amostra na máquina local:
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Outra alternativa é fazer o download da amostra como um arquivo ZIP e extraí-lo.
Altere para o diretório que contém o código de amostra do Workflows:
Java
cd java-docs-samples/workflows/cloud-client/
Node.js
cd nodejs-docs-samples/workflows/quickstart/
Python
cd python-docs-samples/workflows/cloud-client/
Confira o código de amostra:
Java
Node.js
Python
O programa faz o seguinte:
- Configura as bibliotecas de cliente do Cloud para o Workflows.
- Executa um fluxo de trabalho.
- Pesquisa a execução do fluxo de trabalho (usando a espera exponencial) até que ela seja encerrada.
- Exibe os resultados da execução.
Executar a amostra
Para executar a amostra, primeiro instale as dependências:
Java
mvn compile
Node.js
npm install
Python
pip3 install -r requirements.txt
Execute o script:
Java
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME mvn compile exec:java -Dexec.mainClass=com.example.workflows.WorkflowsQuickstart
Node.js
node . PROJECT_ID CLOUD_REGION WORKFLOW_NAME
Python
GOOGLE_CLOUD_PROJECT=PROJECT_ID LOCATION=CLOUD_REGION WORKFLOW=WORKFLOW_NAME python3 main.py
Substitua:
PROJECT_ID
: (obrigatório) o ID do projeto do Google CloudCLOUD_REGION
: o local do fluxo de trabalho (padrão:us-central1
)WORKFLOW_NAME
: o ID do fluxo de trabalho (padrão:myFirstWorkflow
)
O resultado será assim:
Execution finished with state: SUCCEEDED ["Sunday","Sunday in the Park with George","Sunday shopping","Sunday Bloody Sunday","Sunday Times Golden Globe Race","Sunday All Stars","Sunday Night (South Korean TV series)","Sunday Silence","Sunday Without God","Sunday Independent (Ireland)"]
Transmitir dados em uma solicitação de execução
Dependendo da linguagem da biblioteca de cliente, também é possível transmitir um argumento de ambiente de execução em uma solicitação de execução.
Por exemplo, usando JavaScript:
// Execute workflow
try {
const createExecutionRes = await client.createExecution({
parent: client.workflowPath(projectId, location, workflow),
execution: {
argument: JSON.stringify({"searchTerm": "Friday"})
}
});
const executionName = createExecutionRes[0].name;
Ou, usando Java:
// Creates the execution object.
CreateExecutionRequest request =
CreateExecutionRequest.newBuilder()
.setParent(parent.toString())
.setExecution(Execution.newBuilder().setArgument("{\"searchTerm\":\"Friday\"}").build())
.build();
Para mais informações sobre como transmitir argumentos de ambiente de execução, consulte Transmitir argumentos de ambiente de execução em uma solicitação de execução.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
No console do Google Cloud, abra a página Workflows.
Na lista de fluxos de trabalho, clique em um fluxo para acessar a página Detalhes do fluxo de trabalho.
Clique em
Excluir.Digite o nome do fluxo de trabalho e clique em Confirmar.