このページでは、Cloud Tasks キューを作成する方法について説明します。タスクがキューに追加されると、キューはそのタスクをディスパッチし、ワーカーとも呼ばれるサービスによって確実に処理されるようにします。
次の点にご注意ください。
キュー名は、プロジェクト ID、ロケーション、キュー ID の 3 つで構成されます。プロジェクト ID を提供する Google Cloud プロジェクトが必要です。
App Engine ターゲット タスクを使用する場合は、特定のリージョンに配置され、キューとハンドラが実行されるApp Engine アプリケーションも必要です。アプリを追加する際に、リージョンをメモします。
HTTP Target タスクを使用する場合、App Engine アプリは必要ありません。キューを作成するときに Google Cloud ロケーションを選択します。
キューを作成する
キューは次の方法で作成できます。
- Google Cloud コンソールで
- ターミナルまたは Cloud Shell で Google Cloud CLI を使用する
- Cloud Tasks API に直接リクエストを送信する
コンソール
Google Cloud コンソールで、[Cloud Tasks] > [キュー] ページに移動します。
[キューを作成] をクリックします。
キュー名を入力します(例:
my-queue)。[リージョン] リストで、キューが実行されるサポートされているロケーション(
asia-south1など)を選択します。組織がリソース ロケーションを制限していて、
us-central1またはus-central2のいずれかでキューを作成する場合、組織のポリシーにより(どちらか 1 つのリージョンでのみキューを作成する場合でも)us-central1とus-central2の両方でキューの作成が許可されている必要があります。必要に応じて、キューをさらに構成できます。
[作成] をクリックします。
gcloud
gcloud tasks queues create コマンドを使用して、キューを作成します。
gcloud tasks queues create QUEUE_ID \
--location=LOCATION次のように置き換えます。
QUEUE_ID: キューに割り当てる識別子(例:my-queue)。LOCATION: キューが実行されるサポートされているリージョン(例:asia-south1)。組織がリソース ロケーションを制限していて、
us-central1またはus-central2のいずれかでキューを作成する場合、組織のポリシーにより(どちらか 1 つのリージョンでのみキューを作成する場合でも)us-central1とus-central2の両方でキューの作成が許可されている必要があります。
gcloud CLI コマンドの他のフラグを使用すると、レート制限、再試行オプション、キュータイプなどを構成できます。
REST API
キューを作成するには、projects.locations.queues.create メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION: キューが実行されるサポートされているリージョン(例:asia-south1)。組織がリソース ロケーションを制限していて、
us-central1またはus-central2のいずれかでキューを作成する場合、組織のポリシーにより(どちらか 1 つのリージョンでのみキューを作成する場合でも)us-central1とus-central2の両方でキューの作成が許可されている必要があります。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 に直接リクエストを送信する
コンソール
Google Cloud コンソールで、[Cloud Tasks] > [キュー] ページに移動します。
緑色のチェックマーク は、キューが実行中であることを示します。
詳細を表示するには、キューの名前をクリックし、[構成] タブをクリックします。
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複数の場所を検索するには、複数のリクエストを行う必要があります。
キューの割り当てに達しているかどうかを確認します。
Google Cloud コンソールで、Cloud Tasks API の [API/サービスの詳細] ページに移動します。
[割り当てとシステム上限] タブをクリックします。
割り当てを増やすには、割り当ての行で、省略記号アイコン > [割り当てを編集] をクリックします。
詳細については、割り当ての調整をリクエストするをご覧ください。
コマンドを再実行してキューを作成し、各ステップが正しく完了していることを確認します。