このページでは、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/サービスの詳細] ページに移動します。
[割り当てとシステム上限] タブをクリックします。
割り当てを増やすには、割り当ての行で、省略記号アイコン > [割り当てを編集] をクリックします。
詳細については、割り当ての調整をリクエストするをご覧ください。
コマンドを再実行してキューを作成し、各ステップが正しく完了していることを確認します。