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
-
Installieren Sie die Google Cloud CLI.
-
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.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
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 Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch 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_IDdurch Ihren Google Cloud Projektnamen.
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
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 Rollengcloud services enable cloudtasks.googleapis.com
-
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.
-
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.viewergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-ID.USER_IDENTIFIER: Die Kennung für Ihr Nutzerkonto Konto. Beispiele finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.
Cloud Tasks-Aufgabenwarteschlange erstellen
Erstellen Sie die Warteschlange mit dem Befehl gcloud tasks queues create.
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=REGIONErsetzen Sie Folgendes:
QUEUE_NAME: ein Name für Ihre Cloud Tasks-WarteschlangeREGION: die unterstützte Region, in der Sie Ihren Dienst oder Ihre App bereitgestellt haben
Warten Sie, bis die Warteschlange initialisiert wurde, und prüfen Sie dann, ob sie erfolgreich erstellt wurde.
gcloud tasks queues describe QUEUE_NAME \ --location=REGIONDie 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.
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_IDErsetzen Sie
URL_PATHdurch den vollständigen URL-Pfad, an den die Anfrage gesendet wird. Der Pfad muss mithttp://oderhttps://beginnen, z. B.https://www.example.com.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=3Die 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