Cloud Tasks キューを作成する

このページでは、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 に直接リクエストを送信する

コンソール

  1. Google Cloud コンソールで、[Cloud Tasks] > [キュー] ページに移動します。

    [キュー] に移動

  2. [キューを作成] をクリックします。

  3. キュー名を入力します(例: my-queue)。

  4. [リージョン] リストで、キューが実行されるサポートされているロケーションasia-south1 など)を選択します。

    組織がリソース ロケーションを制限していて、us-central1 または us-central2 のいずれかでキューを作成する場合、組織のポリシーにより(どちらか 1 つのリージョンでのみキューを作成する場合でも)us-central1us-central2 の両方でキューの作成が許可されている必要があります。

  5. 必要に応じて、キューをさらに構成できます。

  6. [作成] をクリックします。

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-central1us-central2 の両方でキューの作成が許可されている必要があります。

gcloud CLI コマンドの他のフラグを使用すると、レート制限、再試行オプション、キュータイプなどを構成できます。

REST API

キューを作成するには、projects.locations.queues.create メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: キューが実行されるサポートされているリージョン(例: asia-south1)。

    組織がリソース ロケーションを制限していて、us-central1 または us-central2 のいずれかでキューを作成する場合、組織のポリシーにより(どちらか 1 つのリージョンでのみキューを作成する場合でも)us-central1us-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 に直接リクエストを送信する

コンソール

  1. Google Cloud コンソールで、[Cloud Tasks] > [キュー] ページに移動します。

    [キュー] に移動

    緑色のチェックマーク は、キューが実行中であることを示します。

  2. 詳細を表示するには、キューの名前をクリックし、[構成] タブをクリックします。

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

    複数の場所を検索するには、複数のリクエストを行う必要があります。

  • キューの割り当てに達しているかどうかを確認します。

    1. Google Cloud コンソールで、Cloud Tasks API の [API/サービスの詳細] ページに移動します。

      [API/サービスの詳細] に移動

    2. [割り当てとシステム上限] タブをクリックします。

    3. 割り当てを増やすには、割り当ての行で、省略記号アイコン > [割り当てを編集] をクリックします。

      詳細については、割り当ての調整をリクエストするをご覧ください。

  • コマンドを再実行してキューを作成し、各ステップが正しく完了していることを確認します。

次のステップ