このチュートリアルでは、Cloud Translation API コネクタを使用して、非同期バッチモードでファイルを他の言語に翻訳するワークフローを作成する方法について説明します。これにより、入力の処理中にリアルタイムの出力が得られます。
目標
このチュートリアルの内容は次のとおりです。
- 入力用の Cloud Storage バケットを作成します。
- 英語のファイルを 2 つ作成し、入力バケットにアップロードします。
- Cloud Translation API コネクタを使用して 2 つのファイルをフランス語とスペイン語に翻訳し、結果を出力バケットに保存するワークフローを作成します。
- ワークフローをデプロイして実行し、プロセス全体をオーケストレートします。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
組織で定義されているセキュリティの制約により、次の手順を完了できない場合があります。トラブルシューティング情報については、制約のある 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 - gcloud コンポーネントを更新します。
gcloud components update
- 自分のアカウントでログインします。
gcloud auth login
- このチュートリアルで使用するデフォルトのロケーションを設定します。
gcloud config set workflows/location us-central1
このチュートリアルでは、
us-central1
にあるデフォルトの AutoML Translation モデルを使用するため、ロケーションをus-central1
に設定する必要があります。デフォルト以外の AutoML Translation モデルまたは用語集を使用する場合は、コネクタの呼び出しと同じ場所に存在することを確認してください。それ以外の場合は、
INVALID_ARGUMENT (400)
エラーが返されます。詳細については、batchTranslateText メソッドをご覧ください。
入力用の Cloud Storage バケットとファイルを作成する
Cloud Storage を使用してオブジェクトを保存できます。オブジェクトは、任意の形式のファイルで構成される不変のデータであり、バケットと呼ばれるコンテナに保存されます。
翻訳するファイルを格納する Cloud Storage バケットを作成します。
BUCKET_INPUT=${GOOGLE_CLOUD_PROJECT}-input-files gcloud storage buckets create gs://${BUCKET_INPUT}
英語のファイルを 2 つ作成して、入力バケットにアップロードします。
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}
ワークフローをデプロイして実行する
ワークフローは、ワークフロー構文で記述された一連のステップで構成され、YAML 形式または JSON 形式のいずれでも記述できます。これがワークフローの定義です。ワークフローを作成したら、デプロイして実行できるようにします。
次の内容のテキスト ファイルを
workflow.yaml
という名前で作成します。このワークフローは、変数を割り当て、出力バケットを作成してファイルの翻訳を開始し、結果を出力バケットに保存します。
ワークフローを作成したら、デプロイします。
gcloud workflows deploy batch-translation --source=workflow.yaml
ワークフローを実行します。
gcloud workflows execute batch-translation
ワークフローのステータスを表示するには、返されたコマンドを実行します。次に例を示します。
gcloud workflows executions describe eb4a6239-cffa-4672-81d8-d4caef7d8424 / --workflow batch-translation / --location us-central1
ワークフローは
ACTIVE
である必要があります。数分後、翻訳されたファイル(フランス語とスペイン語)が出力バケットにアップロードされます。
出力バケット内のオブジェクトを一覧表示する
出力バケット内のオブジェクトを一覧表示することで、ワークフローが想定どおりに動作していることを確認できます。
出力バケット名を取得します。
gcloud storage ls
出力は次のようになります。
gs://PROJECT_ID-input-files/ gs://PROJECT_ID-output-files-TIMESTAMP/
バケット内のオブジェクトを一覧表示する。
gcloud storage ls gs://PROJECT_ID-output-files-TIMESTAMP/** --recursive
数分後、翻訳されたファイル(フランス語とスペイン語の 2 つのファイル)が一覧表示されます。
クリーンアップ
このチュートリアル用に新規プロジェクトを作成した場合は、そのプロジェクトを削除します。既存のプロジェクトを使用し、このチュートリアルで変更を加えずに残す場合は、チュートリアル用に作成したリソースを削除します。
プロジェクトを削除する
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- 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.
チュートリアル リソースの削除
チュートリアルを設定したときに追加した gcloud のデフォルト構成を削除します。
gcloud config unset workflows/location
このチュートリアルで作成したワークフローを削除します。
gcloud workflows delete WORKFLOW_NAME
このチュートリアルで作成したバケットを削除します。
gcloud storage rm gs://BUCKET_NAME --recursive
ここで、
BUCKET_NAME
は削除するバケットの名前です。たとえば、my-bucket
です。レスポンスは次の例のようになります。
Removing gs://my-bucket/...
次のステップ
- ワークフローの詳細については、ワークフローについて理解するをご覧ください。
- ワークフローの構文の詳細については、ワークフローの構文のリファレンスをご覧ください。
- Workflows コネクタの詳細については、コネクタについてをご覧ください。