Cloud Tasks-Aufgaben erstellen

Mit Cloud Tasks können Sie asynchrone Arbeitsaufgaben erstellen, die als Aufgaben bezeichnet werden. In diesem Dokument wird gezeigt, wie Sie HTTP Target-Aufgaben und App Engine-Aufgaben erstellen.

HTTP-Zielaufgaben sind Anfragen, die an einen Worker weitergeleitet werden, der sich an einem beliebigen allgemeinen HTTP-Endpunkt mit einer externen IP-Adresse befindet, z. B. Cloud Run, Google Kubernetes Engine, Compute Engine oder ein lokaler Webserver.

Bei App Engine-Zielen leitet Cloud Tasks Aufgabenanfragen an einen Handler in App Engine weiter. Für alle Warteschlangen, die auf App Engine-Handler ausgerichtet sind, muss eine App Engine-Anwendung vorhanden sein. Handler müssen in der Region ausgeführt werden, in der die App Engine-Anwendung ausgeführt wird. Diese Region dient auch als REGION-Parameter für Ihre Cloud Tasks-Anfragen.

So können Sie eine HTTP Target-Aufgabe erstellen:

  • In der Google Cloud Console
  • Über die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell
  • Durch Senden einer direkten Anfrage an die Cloud Tasks API

Informationen zum programmatischen Hinzufügen einer HTTP-Zielaufgabe zu einer Cloud Tasks-Warteschlange finden Sie unter HTTP-Zielaufgaben programmatisch erstellen.

Sie haben folgende Möglichkeiten, eine App Engine-Aufgabe zu erstellen:

  • Über die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell
  • Durch Senden einer direkten Anfrage an die Cloud Tasks API

Informationen zum programmgesteuerten Hinzufügen einer App Engine-Aufgabe zu einer Cloud Tasks-Warteschlange finden Sie unter App Engine-Aufgaben programmgesteuert erstellen.

Hinweis

Prüfen Sie, ob Sie bereits eine Cloud Tasks-Warteschlange erstellt haben. Weitere Informationen finden Sie unter Cloud Tasks-Warteschlangen erstellen.

HTTP Target-Aufgabe erstellen

Wenn Sie eine Aufgabe erstellen, können Sie einen Namen dafür angeben. Wenn der Name mit dem Namen einer vorhandenen Aufgabe oder einer Aufgabe identisch ist, die vor Kurzem gelöscht oder erledigt wurde, schlägt der Aufruf fehl. Wenn Sie keinen Namen für die Aufgabe angeben, wird eine zufällige eindeutige Aufgaben-ID generiert.

Da für die Identifizierung doppelter Aufgabennamen zusätzliche Suchkosten anfallen, weisen Aufgaben, die mit nutzerspezifischen IDs erstellt wurden, eine deutlich höhere Latenz auf. Es wird empfohlen, gehashte Strings für die Aufgaben-ID oder für das Präfix der Aufgaben-ID zu verwenden. Weitere Informationen finden Sie unter Aufgabendeduplizierung.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zu Warteschlangen

  2. Klicken Sie auf den Namen der Warteschlange, der Sie die Aufgabe hinzufügen möchten.

  3. Klicken Sie auf  HTTP-Aufgabe erstellen.

  4. Geben Sie optional den Aufgabennamen an.

  5. Geben Sie unter URL die vollständig qualifizierte URL an, an die die Anfrage gesendet wird. Der Pfad muss mit http:// oder https:// beginnen, z. B. https://www.example.com.

  6. Geben Sie optional die HTTP-Methode an, die für die Anfrage verwendet werden soll. Der Standardwert ist POST.

  7. Geben Sie optional für Anfrage-Body die HTTP-Body-Daten an, die an den Worker gesendet werden sollen, der die Aufgabe verarbeitet.

  8. Optional können Sie einen oder mehrere HTTP-Anfrageheader angeben. Klicken Sie dazu auf  Header hinzufügen.

  9. Wählen Sie für Auth-Header eine der folgenden Autorisierungsoptionen aus, um anzugeben, wie die an das Ziel gesendete Anfrage bei der Ausführung der Aufgabe authentifiziert wird:

    • None (Kein) – kein Header, für öffentliche Endpunkte ohne Autorisierung
    • OAuth-Token hinzufügen: Wird in der Regel für Google-APIs verwendet, die auf *.googleapis.com gehostet werden.
    • OIDC-Token hinzufügen: Wird für Google Cloud - und Drittanbieter-Endpunktaufrufe verwendet, mit Ausnahme von Google APIs, die auf *.googleapis.com gehostet werden.
  10. Geben Sie gegebenenfalls für Dienstkonto die E-Mail-Adresse des Dienstkontos an, mit der das Autorisierungstoken generiert wird, das in der Anfrage enthalten ist, die beim Ausführen der Aufgabe an das Ziel gesendet wird. Das Dienstkonto muss sich im selben Projekt wie die Warteschlange befinden. Der Aufrufer muss die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto haben.

  11. Geben Sie optional und falls zutreffend die Zielgruppe an, um die Arten von Aktionen oder Empfängern für das Autorisierungstoken einzuschränken.

  12. Klicken Sie auf Erstellen.

Ihre Aufgabe sollte auf der Seite Warteschlangendetails aufgeführt sein.

gcloud

Verwenden Sie den Befehl gcloud tasks create-http-task, um eine HTTP-Zielaufgabe zu erstellen und einer vorhandenen Warteschlange hinzuzufügen.

gcloud tasks create-http-task \
    --queue=QUEUE_ID \
    --url=URL \
    --location=REGION \
    --project=PROJECT_ID \
    --oidc-service-account-email=SERVICE_ACCOUNT_EMAIL

Ersetzen Sie Folgendes:

  • QUEUE_ID: Der Name der Warteschlange, der die Aufgabe hinzugefügt werden soll.
  • URL: die vollständig qualifizierte URL, an die die Anfrage gesendet wird. Der Pfad muss mit http:// oder https:// beginnen, z. B. https://www.example.com.

  • REGION: optional. Die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1.

  • PROJECT_ID: optional. Die Projekt-ID desGoogle Cloud -Projekts, in dem die Aufgabe erstellt wird.

  • SERVICE_ACCOUNT_EMAIL: optional. Die E-Mail-Adresse des Dienstkontos, mit der ein Autorisierungstoken generiert wird, das in der Anfrage enthalten ist, die beim Ausführen der Aufgabe an das Ziel gesendet wird. Das Dienstkonto muss sich im selben Projekt wie die Warteschlange befinden. Der Aufrufer muss die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto haben.

    Wenn Sie ein OAuth2-Zugriffstoken anstelle eines OpenID Connect-Tokens generieren möchten, ersetzen Sie das Flag --oidc-service-account-email durch --oauth-service-account-email, um die E‑Mail-Adresse des Dienstkontos anzugeben.

Nachdem Sie die Aufgabe erstellt haben, sollte eine Bestätigungsmeldung mit dem vollständigen Ressourcennamen der erstellten Aufgabe angezeigt werden.

REST

Verwenden Sie die Methode projects.locations.queues.tasks.create, um eine HTTP-Zielaufgabe zu erstellen und einer vorhandenen Warteschlange hinzuzufügen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Erforderlich. Die Projekt-ID des Google Cloud -Projekts, in dem die Aufgabe erstellt wird.
  • REGION: Erforderlich. Die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1.
  • QUEUE_ID: Erforderlich. Die ID der Warteschlange, der die Aufgabe hinzugefügt wird.
  • URL: Erforderlich. Die vollständig qualifizierte URL, an die die Anfrage gesendet wird. Dieser String muss mit http:// oder https:// beginnen, z. B. https://www.example.com. .
  • SERVICE_ACCOUNT_EMAIL: Optional. Die E-Mail-Adresse des Dienstkontos, mit der ein Autorisierungstoken generiert wird, das in der Anfrage enthalten ist, die beim Ausführen der Aufgabe an das Ziel gesendet wird. Das Dienstkonto muss sich im selben Projekt wie die Warteschlange befinden. Der Aufrufer muss die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto haben.

    Wenn Sie ein OAuth2-Zugriffstoken anstelle eines OpenID Connect-Tokens generieren möchten, ersetzen Sie das Feld oidcToken durch oauthToken, um die E‑Mail-Adresse des Dienstkontos anzugeben.

  • SCHEDULE_TIME: optional. Die Zeit, zu der die Aufgabe ausgeführt werden soll, im RFC 3339-Format, z. B. 2026-10-02T15:01:23Z. Wenn die Zeit nicht festgelegt ist oder in der Vergangenheit liegt, wird sie von Cloud Tasks auf die aktuelle Zeit gesetzt.

JSON-Text der Anfrage:

{
  "task": {
    "httpRequest": {
      "url": "URL",
      "httpMethod": "POST",
      "oidcToken": {
        "serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL"
      }
    },
    "scheduleTime": "SCHEDULE_TIME"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei Erfolg enthält der Antworttext die neu erstellte Instanz der Task-Ressource.

{
  "name": "projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID",
  "httpRequest": {
    "url": "URL",
    "httpMethod": "POST",
    "headers": {
      "User-Agent": "Google-Cloud-Tasks"
    },
    "oidcToken": {
      "serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL",
      "audience": "URL"
    }
  },
  "scheduleTime": "SCHEDULE_TIME",
  "createTime": "2026-04-30T19:11:50Z",
  "dispatchDeadline": "600s",
  "view": "BASIC"
}

App Engine-Aufgabe erstellen

Wenn Sie eine Aufgabe erstellen, können Sie einen Namen dafür angeben. Wenn der Name mit dem Namen einer vorhandenen Aufgabe oder einer Aufgabe identisch ist, die vor Kurzem gelöscht oder erledigt wurde, schlägt der Aufruf fehl. Wenn Sie keinen Namen für die Aufgabe angeben, wird eine zufällige eindeutige Aufgaben-ID generiert.

Da für die Identifizierung doppelter Aufgabennamen zusätzliche Suchkosten anfallen, weisen Aufgaben, die mit nutzerspezifischen IDs erstellt wurden, eine deutlich höhere Latenz auf. Es wird empfohlen, gehashte Strings für die Aufgaben-ID oder für das Präfix der Aufgaben-ID zu verwenden. Weitere Informationen finden Sie unter Aufgabendeduplizierung.

gcloud

Wenn Sie eine App Engine-Aufgabe erstellen und einer vorhandenen Warteschlange hinzufügen möchten, verwenden Sie den Befehl gcloud tasks create-app-engine-task.

gcloud tasks create-app-engine-task \
    --queue=QUEUE_ID \
    --relative-uri=RELATIVE_URI \
    --location=REGION \
    --project=PROJECT_ID \
    --routing=KEY:VALUE

Ersetzen Sie Folgendes:

  • QUEUE_ID: Der Name der Warteschlange, der die Aufgabe hinzugefügt werden soll.
  • RELATIVE_URI: Der relative URI der Anfrage. Der Pfad muss mit einem Schrägstrich (/) beginnen. Wenn er nicht angegeben ist, wird der Stammpfad (/) verwendet.
  • REGION: optional. Die Region, in der die Warteschlange bereitgestellt wird. Wenn nicht angegeben, wird der Standort der App Engine-App des aktuellen Projekts verwendet.
  • PROJECT_ID: optional. Die Projekt-ID desGoogle Cloud -Projekts, in dem die Aufgabe erstellt wird.
  • KEY:VALUE: optional. Die für diese Aufgabe zu verwendende Route, wobei KEY mindestens einer der folgenden Werte ist: service, version oder instance. Für alle fehlenden Schlüssel wird das Standardrouting verwendet.

Nachdem Sie die Aufgabe erstellt haben, sollte eine Bestätigungsmeldung mit dem vollständigen Ressourcennamen der erstellten Aufgabe angezeigt werden.

REST

Verwenden Sie die Methode projects.locations.queues.tasks.create, um eine App Engine-Aufgabe zu erstellen und einer vorhandenen Warteschlange hinzuzufügen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Erforderlich. Die Projekt-ID des Google Cloud -Projekts, in dem die Aufgabe erstellt wird.
  • REGION: Erforderlich. Die Region, in der die Warteschlange bereitgestellt wird.
  • QUEUE_ID: Erforderlich. Die ID der Warteschlange, der die Aufgabe hinzugefügt wird.
  • RELATIVE_URI: Erforderlich. Der relative URI der Anfrage. Der Pfad muss mit einem Schrägstrich (/) beginnen. Wenn er nicht angegeben ist, wird der Stammpfad (/) verwendet.
  • SERVICE: optional. Der App Engine-Dienst, der die Aufgabe verarbeitet. Standardmäßig wird die Aufgabe an den Dienst gesendet, der beim Ausführen der Aufgabe der Standarddienst ist.
  • VERSION: optional. Die App Engine-Version, die die Aufgabe verarbeitet. Standardmäßig wird die Aufgabe an die Version gesendet, die beim Ausführen der Aufgabe die Standardversion ist.
  • SCHEDULE_TIME: optional. Die Zeit, zu der die Aufgabe ausgeführt werden soll, im RFC 3339-Format, z. B. 2026-10-02T15:01:23Z. Wenn die Zeit nicht festgelegt ist oder in der Vergangenheit liegt, wird sie von Cloud Tasks auf die aktuelle Zeit gesetzt.

JSON-Text der Anfrage:

{
  "task": {
    "appEngineHttpRequest": {
      "httpMethod": "POST",
      "relativeUri": "RELATIVE_URI",
      "appEngineRouting": {
        "service": "SERVICE",
        "version": "VERSION"
      }
    },
    "scheduleTime": "SCHEDULE_TIME"
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei Erfolg enthält der Antworttext die neu erstellte Instanz der Task-Ressource.

{
  "name": "projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID",
  "appEngineHttpRequest": {
    "httpMethod": "POST",
    "relativeUri": "RELATIVE_URI",
    "appEngineRouting": {
      "service": "SERVICE",
      "version": "VERSION",
      "host": "VERSION.SERVICE.PROJECT_ID.appspot.com"
    }
  },
  "scheduleTime": "SCHEDULE_TIME",
  "createTime": "2026-04-30T19:11:50Z",
  "dispatchDeadline": "600s",
  "view": "BASIC"
}

Aufgaben im Batch erstellen

Sie können eine Reihe von Zielaufgaben erstellen und die Reihe einer vorhandenen Warteschlange hinzufügen. Verwenden Sie dazu die Methode projects.locations.queues.tasks.batchCreate, um eine Liste von Anfragen zu erstellen.

Wichtige Hinweise:

  • Alle Aufgaben müssen derselben Warteschlange hinzugefügt werden.

  • Die Anzahl der Aufgaben, die in einem einzelnen Batch erstellt werden können, ist begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits.

  • Batchanfragen, bei denen einzelne Vorgänge in einer einzigen Anfrage zusammengefasst werden, sind nicht atomar, da einige der im Batch enthaltenen Vorgänge fehlschlagen können, während andere erfolgreich sein können.

  • Sie können auch mehrere Aufgaben gleichzeitig löschen. Weitere Informationen finden Sie unter Batch von Aufgaben aus einer Warteschlange löschen.

HTTP-Aufgaben

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Erforderlich. Die Projekt-ID des Google Cloud -Projekts, in dem die Aufgaben erstellt werden.
  • REGION: Erforderlich. Die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1.
  • QUEUE_ID: Erforderlich. Die ID der Warteschlange, der die Aufgaben hinzugefügt werden.
  • URL: Erforderlich. Die vollständig qualifizierte URL, an die die Anfrage gesendet wird. Dieser String muss mit http:// oder https:// beginnen, z. B. https://www.example.com. .
  • SERVICE_ACCOUNT_EMAIL: Optional. Die E-Mail-Adresse des Dienstkontos, mit der ein Autorisierungstoken generiert wird, das in der Anfrage enthalten ist, die beim Ausführen der Aufgabe an das Ziel gesendet wird. Das Dienstkonto muss sich im selben Projekt wie die Warteschlange befinden. Der Aufrufer muss die Berechtigung iam.serviceAccounts.actAs für das Dienstkonto haben.

    Wenn Sie ein OAuth2-Zugriffstoken anstelle eines OpenID Connect-Tokens generieren möchten, ersetzen Sie das Feld oidcToken durch oauthToken, um die E‑Mail-Adresse des Dienstkontos anzugeben.

Der Anfragetext enthält eine Liste von Anfragen.

JSON-Text der Anfrage:

{
  "requests": [
    {
      "task": {
        "httpRequest": {
          "url": "URL",
          "httpMethod": "POST",
          "oidcToken": {
            "serviceAccountEmail": "SERVICE_ACCOUNT_EMAIL"
          }
        },
        "scheduleTime": "SCHEDULE_TIME"
      }
    }
  ]
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei erfolgreicher Ausführung enthält der Antworttext eine Instanz der Operation-Ressource.

{
  "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.tasks.v2beta3.BatchCreateTasksMetadata"
  },
  "done": false
}

App Engine-Aufgaben

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Erforderlich. Die Projekt-ID des Google Cloud -Projekts, in dem die Aufgabe erstellt wird.
  • REGION: Erforderlich. Die Region, in der die Warteschlange bereitgestellt wird.
  • QUEUE_ID: Erforderlich. Die ID der Warteschlange, der die Aufgaben hinzugefügt werden.
  • RELATIVE_URI: Erforderlich. Der relative URI der Anfrage. Der Pfad muss mit einem Schrägstrich (/) beginnen. Wenn er nicht angegeben ist, wird der Stammpfad (/) verwendet.
  • SERVICE: optional. Der App Engine-Dienst, der die Aufgabe verarbeitet. Standardmäßig wird die Aufgabe an den Dienst gesendet, der beim Ausführen der Aufgabe der Standarddienst ist.
  • VERSION: optional. Die App Engine-Version, die die Aufgabe verarbeitet. Standardmäßig wird die Aufgabe an die Version gesendet, die beim Ausführen der Aufgabe die Standardversion ist.
  • SCHEDULE_TIME: optional. Die Zeit, zu der die Aufgabe ausgeführt werden soll, im RFC 3339-Format, z. B. 2026-10-02T15:01:23Z. Wenn die Zeit nicht festgelegt ist oder in der Vergangenheit liegt, wird sie von Cloud Tasks auf die aktuelle Zeit gesetzt.

Der Anfragetext enthält eine Liste von Anfragen.

JSON-Text der Anfrage:

{
  "requests": [
    {
      "task": {
        "appEngineHttpRequest": {
          "httpMethod": "POST",
          "relativeUri": "RELATIVE_URI",
          "appEngineRouting": {
            "service": "SERVICE",
            "version": "VERSION"
          }
        },
        "scheduleTime": "SCHEDULE_TIME"
      }
    }
  ]
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Bei erfolgreicher Ausführung enthält der Antworttext eine Instanz der Operation-Ressource.

{
  "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.tasks.v2beta3.BatchCreateTasksMetadata"
  },
  "done": false
}

Nächste Schritte