HTTP-Zielaufgabe zu einer Cloud Tasks-Aufgabenwarteschlange hinzufügen

Mit Cloud Tasks können Sie asynchrone Aufgaben an HTTP-Ziele senden und gleichzeitig die Ausführungsraten und das Wiederholungsverhalten steuern. In dieser Kurzanleitung verwenden Sie die Cloud Tasks API, um eine Warteschlange zu erstellen und ihr eine HTTP-Zielaufgabe hinzuzufügen.

Hinweis

  1. Installieren Sie die Google Cloud CLI.

  2. Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.

    Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  3. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud Projekt erstellen oder auswählen

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Informationen zum Zuweisen von Rollen
    • So erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Projekt in Google Cloud , das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Projekt in Google Cloud aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch Ihren Google Cloud Projektnamen.

  5. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.

  6. Aktivieren Sie die Cloud Tasks API, falls sie noch nicht aktiviert ist:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable cloudtasks.googleapis.com
  7. Erstellen Sie lokale Authentifizierungsdaten für Ihr Nutzerkonto:

    gcloud auth application-default login

    Wenn ein Authentifizierungsfehler zurückgegeben wird, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.

  8. Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/cloudtasks.admin, roles/logging.viewer

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Ersetzen Sie Folgendes:

Cloud Tasks-Aufgabenwarteschlange erstellen

Erstellen Sie die Warteschlange mit dem Befehl gcloud tasks queues create.

  1. Erstellen Sie im Terminal eine Warteschlange, in der alle Vorgänge protokolliert werden.

    gcloud tasks queues create QUEUE_NAME \
        --log-sampling-ratio=1.0 \
        --location=REGION
    

    Ersetzen Sie Folgendes:

    • QUEUE_NAME: ein Name für Ihre Cloud Tasks-Warteschlange
    • REGION: die unterstützte Region, in der Sie Ihren Dienst oder Ihre App bereitgestellt haben
  2. Warten Sie, bis die Warteschlange initialisiert wurde, und prüfen Sie dann, ob sie erfolgreich erstellt wurde.

    gcloud tasks queues describe QUEUE_NAME \
        --location=REGION
    

    Die Ausgabe sollte in etwa so aussehen:

     name: projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_NAME
     rateLimits:
       maxBurstSize: 100
       maxConcurrentDispatches: 1000
       maxDispatchesPerSecond: 500.0
     retryConfig:
       maxAttempts: 100
       maxBackoff: 3600s
       maxDoublings: 16
       minBackoff: 0.100s
     state: RUNNING
    

Aufgabe zur Cloud Tasks-Aufgabenwarteschlange hinzufügen

Verwenden Sie den Befehl gcloud tasks create-http-task, um eine Aufgabe zu erstellen, die auf einen HTTP-Endpunkt ausgerichtet ist, und die Aufgabe Ihrer Warteschlange hinzuzufügen.

  1. Erstellen Sie eine Aufgabe, fügen Sie sie der erstellten Warteschlange hinzu und senden Sie sie an einen HTTP-Endpunkt.

    gcloud tasks create-http-task \
        --queue=QUEUE_NAME \
        --url=URL_PATH \
        --method=GET \
        --location=REGION \
        --project=PROJECT_ID
    

    Ersetzen Sie URL_PATH durch den vollständigen URL-Pfad, an den die Anfrage gesendet wird. Der Pfad muss mit http:// oder https:// beginnen, z. B. https://www.example.com.

  2. Prüfen Sie in den Logs, ob die Aufgabe erfolgreich ausgeführt wurde.

    gcloud logging read 'resource.type="cloud_tasks_queue" resource.labels.queue_id="QUEUE_NAME" severity>=DEFAULT' --limit=3
    

    Die Logs sollten in etwa so aussehen:

    jsonPayload:
    '@type': type.googleapis.com/google.cloud.tasks.logging.v1.TaskActivityLog
    task: projects/PROJECT_ID/locations/REGION/queues/QUEUE_NAME/tasks/TASK_ID
    taskCreationLog:
       scheduleTime: '2024-07-04T19:00:27.801837Z'
       status: OK
       targetAddress: GET https://www.example.com/
       targetType: HTTP
    ...
    

Bereinigen

Löschen Sie das Projekt von Google Cloud zusammen mit den Ressourcen, damit Ihrem Konto von Google Cloud die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

Google Cloud -Projekt löschen:

gcloud projects delete PROJECT_ID

Alternativ können Sie die Cloud Tasks-Warteschlange löschen:

gcloud tasks queues delete QUEUE_NAME \
    --location=REGION

Nächste Schritte