Cloud Tasks キューを作成する

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

コンソール

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

    [キュー] に移動

  2. [Create queue] をクリックします。

  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

次のように置き換えます。

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

REST API

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

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

リソースの他の構成可能なプロパティには、レート上限、再試行オプション、キュータイプなどがあります。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. コンソールで、[Cloud Tasks] [>] [キュー] ページに移動します。 Google Cloud

    [キュー] に移動

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

  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. コンソールで、Cloud Tasks API の [API/サービスの詳細] ページに移動します。 Google Cloud

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

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

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

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

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

次のステップ