Workflows API のクイックスタート

コードからワークフローを呼び出します。

このコードサンプルが含まれるドキュメント ページ

コンテキストで使用されているコードサンプルを見るには、次のドキュメントをご覧ください。

コードサンプル

Node.js

このサンプルを試す前に、Workflows クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を実施してください。詳細については、Workflows Node.js API のリファレンス ドキュメントをご覧ください。

const {ExecutionsClient} = require('@google-cloud/workflows');
const client = new ExecutionsClient();

/**
 * Sleeps the process N number of milliseconds.
 * @param {Number} ms The number of milliseconds to sleep.
 */
function sleep(ms) {
  return new Promise(resolve => {
    setTimeout(resolve, ms);
  });
}

// Execute workflow
try {
  const createExecutionRes = await client.createExecution({
    parent: client.workflowPath(projectId, location, workflow),
  });
  const executionName = createExecutionRes[0].name;
  console.log(`Created execution: ${executionName}`);

  // Wait for execution to finish, then print results.
  let executionFinished = false;
  let backoffDelay = 1000; // Start wait with delay of 1,000 ms
  console.log('Poll every second for result...');
  while (!executionFinished) {
    const [execution] = await client.getExecution({
      name: executionName,
    });
    executionFinished = execution.state !== 'ACTIVE';

    // If we haven't seen the result yet, wait a second.
    if (!executionFinished) {
      console.log('- Waiting for results...');
      await sleep(backoffDelay);
      backoffDelay *= 2; // Double the delay to provide exponential backoff.
    } else {
      console.log(`Execution finished with state: ${execution.state}`);
      console.log(execution.result);
      return execution.result;
    }
  }
} catch (e) {
  console.error(`Error executing workflow: ${e}`);
}

次のステップ

他の Google Cloud プロダクトに関連するコードサンプルの検索および条件付き検索を行うには、Google Cloud のサンプル ブラウザをご覧ください。