このページでは、Cloud Tasks キューを作成する方法について説明します。タスクがキューに追加されると、キューはそのタスクをディスパッチし、ワーカーと呼ばれるサービスによって確実に処理されるようにします。
次の点にご注意ください。
キュー名は、プロジェクト ID、ロケーション、キュー ID の 3 つで構成されます。 プロジェクト ID を提供するGoogle Cloud プロジェクト が必要です。
App Engine ターゲット タスクを使用する場合は、 App Engine アプリケーション も必要です。このアプリケーションは特定のリージョンに配置され、 キューとハンドラが実行されます。アプリを追加するときにリージョンをメモしておきます。
HTTP ターゲット タスクを使用する場合、App Engine アプリは必要ありません。キューを作成するときに a Google Cloud ロケーションを選択します。
キューを作成する
キューは次の方法で作成できます。
- コンソールで Google Cloud
- ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
- Cloud Tasks API に直接リクエストを送信する
コンソール
gcloud
gcloud tasks queues create
コマンドを使用してキューを作成します。
gcloud tasks queues create QUEUE_ID \
--location=LOCATION次のように置き換えます。
QUEUE_ID: キューに割り当てる識別子(my-queueなど)。LOCATION: キューが実行されるサポートされているリージョン (asia-south1など)。
gcloud CLI コマンドの他のフラグを使用すると、レート上限、再試行オプション、キュータイプなどを構成できます。
REST API
キューを作成するには、
projects.locations.queues.create
メソッドを使用します。
リクエスト データを使用する前に、 次のように置き換えます:
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION: キューが実行されるサポートされている リージョン(asia-south1など)。QUEUE_ID: キューに割り当てる識別子(my-queueなど)。
Queueリクエストの本文(JSON):
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID"
}
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成されたインスタンスが含まれます。
Queue:
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "RUNNING"
}
新しく作成されたキューが使用可能になるまでに数分かかることがあります。
キューの説明を取得する
キューが正常に作成されたことを確認するには、次の方法があります。
- コンソールで Google Cloud
- ターミナルまたは Cloud Shell で gcloud CLI を使用する
Cloud Tasks API に直接リクエストを送信する
コンソール
コンソールで、[Cloud Tasks] [>] [キュー] ページに移動します。 Google Cloud
緑色のチェックマーク は、キューが実行中であることを示します。
詳細を表示するには、キューの名前をクリックし、[構成] タブをクリックします。
gcloud
gcloud tasks queues describe
コマンドを使用して、キューが正常に作成されたことを確認します。
gcloud tasks queues describe QUEUE_ID \
--location=LOCATION次のように置き換えます。
QUEUE_ID: キュー ID(略称)LOCATION: キューの場所
出力例を以下に示します。
name: projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
REST API
キューを取得するには、
projects.locations.queues.get
メソッドを使用します。
リクエスト データを使用する前に、 次のように置き換えます:
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION: キューがデプロイされている リージョン(us-central1など)。QUEUE_ID: キューの短い ID(my-queueなど)。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には
Queue:
のインスタンスが含まれます。
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "RUNNING"
}
キューの作成に関する問題のトラブルシューティング
予期した出力が表示されない場合は、次のことを試してください。
- キューが初期化されるまで 1 分以上待ちます。
同じ ID を持つキューが存在しないことを確認します。プロジェクト内のすべてのキューを表示するには、
gcloud tasks queues listコマンドを使用します。gcloud tasks queues list \ --location=LOCATION複数の場所を検索するには、複数のリクエストを行う必要があります。
キューの割り当てに達しているかどうかを確認します。
コンソールで、Cloud Tasks API の [API/サービスの詳細] ページに移動します。 Google Cloud
[割り当てとシステム上限] タブをクリックします。
割り当てを増やすには、割り当ての行で、省略記号アイコン > [割り当てを編集] をクリックします。
詳細については、 割り当ての調整をリクエストするをご覧ください。
コマンドを再実行してキューを作成し、各ステップが正しく完了していることを確認します。