HTTP-Anfragen mit Cloud Tasks zwischenspeichern

1. Einführung

c6ac6ed05292f13e.png

Cloud Tasks ist ein vollständig verwalteter Warteschlangendienst zum Ausführen, Weiterleiten und Zustellen einer großen Anzahl von Aufgaben.

Mit Cloud Tasks können Sie einzelne Arbeitsschritte, sogenannte Aufgaben, trennen, die unabhängig außerhalb Ihres Hauptanwendungsablaufs ausgeführt werden können (z. B. eine Aufgabe zum Aktualisieren eines Datenbankeintrags), und sie mit den von Ihnen erstellten Handlern asynchron verarbeiten.

Die ausgelagerte Aufgabe wird einer Warteschlange hinzugefügt, die die Aufgabe so lange fortbehält, bis sie erfolgreich ausgeführt wird oder ein Fehler auftritt. Abhängig von der Konfiguration kann die Warteschlange auch als Ablaufsteuerung für die Weiterleitung dienen. Sie erstellen und konfigurieren die Warteschlange, die dann vom Cloud Tasks-Dienst verwaltet wird. Nachdem Aufgaben hinzugefügt wurden, leitet die Warteschlange die Aufgaben weiter und sorgt dafür, dass die Worker sie zuverlässig verarbeiten.

d59ffe8d34138c88.png

Einige der Hauptfunktionen von Cloud Tasks sind:

  • HTTP-Ziele:Fügen Sie mithilfe der branchenüblichen OAuth-/OIDC-Authentifizierung auf sichere Weise Aufgaben hinzu, die auf einen beliebigen HTTP-Dienst in Compute Engine, Google Kubernetes Engine, Cloud Run, Cloud Functions oder lokalen Systemen ausgerichtet sind.
  • Aufgaben deduplizieren: Aufgaben, die mehrmals hinzugefügt wurden, werden nur einmal weitergeleitet.
  • Garantierte Zustellung: Aufgaben werden garantiert mindestens einmal und die meisten Aufgaben genau einmal zugestellt.
  • Steuerungen für Raten- und Wiederholungsversuche:Steuern Sie die Ausführung, indem Sie die Rate, mit der Aufgaben weitergeleitet werden, die maximale Anzahl von Versuchen und die Mindestwartezeit zwischen den Versuchen festlegen.
  • Zukünftige Planung:Steuern Sie den Zeitpunkt, zu dem eine Aufgabe ausgeführt wird.

In diesem Codelab erfahren Sie zuerst, wie Sie eine reguläre Cloud Tasks-Warteschlange für HTTP-Zielaufgaben erstellen und verwenden. Anschließend erfahren Sie, wie Sie HTTP-URI-Überschreibung auf Warteschlangenebene und die neue BufferTask API verwenden, um HTTP-Anfragen mit Cloud Tasks einfacher zu puffern.

Lerninhalte

  • HTTP-Zielaufgaben erstellen
  • HTTP-Zielaufgaben mit der neuen HTTP-URI-Überschreibung auf Warteschlangenebene erstellen.
  • So ändern Sie die ausstehenden Aufgaben mit der neuen HTTP-URI-Überschreibung auf Warteschlangenebene.
  • Anleitung zum einfacheren Zwischenspeichern von HTTP-Anfragen mit der neuen BufferTask API.

2. Einrichtung und Anforderungen

Umgebung zum selbstbestimmten Lernen einrichten

  1. Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Der Projektname ist der Anzeigename für die Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird. Sie können sie jederzeit aktualisieren.
  • Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf deine Projekt-ID verweisen, die üblicherweise als PROJECT_ID bezeichnet wird. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID generieren. Alternativ können Sie einen eigenen verwenden und nachsehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts erhalten.
  • Zur Information gibt es noch einen dritten Wert, die Projektnummer, die von manchen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab ist kostengünstig. Sie können die von Ihnen erstellten Ressourcen oder das Projekt löschen, um Ressourcen herunterzufahren, um zu vermeiden, dass über diese Anleitung hinaus Kosten anfallen. Neue Google Cloud-Nutzer haben Anspruch auf das kostenlose Testprogramm mit 300$Guthaben.

Cloud Shell starten

Sie können Google Cloud zwar von Ihrem Laptop aus der Ferne bedienen, in diesem Codelab verwenden Sie jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.

Klicken Sie in der Google Cloud Console rechts oben in der Symbolleiste auf das Cloud Shell-Symbol:

55efc1aaa7a4d3ad.png

Die Bereitstellung und Verbindung mit der Umgebung dauert nur einen Moment. Wenn er abgeschlossen ist, sollten Sie in etwa Folgendes sehen:

7ffe5cbb04455448.png

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud, wodurch die Netzwerkleistung und Authentifizierung erheblich verbessert werden. Alle Arbeiten in diesem Codelab können in einem Browser erledigt werden. Sie müssen nichts installieren.

3. Reguläre Warteschlange für HTTP-Zielaufgaben erstellen

In diesem ersten Schritt erfahren Sie, wie Sie eine reguläre Cloud Tasks-Warteschlange erstellen und ihr HTTP-Aufgaben hinzufügen, um sie auf einen Cloud Run-Dienst auszurichten.

d4f09a342c8eab.png

Was sind HTTP-Zielaufgaben?

HTTP-Zielaufgaben können mithilfe der Branchenstandard-OAuth/OIDC-Authentifizierung sicher auf jeden HTTP-Dienst abzielen, der in Compute Engine, Google Kubernetes Engine, Cloud Run, Cloud Functions oder lokalen Systemen ausgeführt wird.

Cloud Run-Dienst bereitstellen

Prüfen Sie zuerst, ob die erforderlichen APIs aktiviert sind:

gcloud services enable \
  cloudtasks.googleapis.com \
  run.googleapis.com

Stellen Sie einen Cloud Run-Dienst bereit, der als Ziel der HTTP-Aufgaben dient:

SERVICE1=hello1
REGION=us-central1

gcloud run deploy $SERVICE1 \
  --allow-unauthenticated \
  --image=gcr.io/cloudrun/hello \
  --region=$REGION

Cloud Tasks-Warteschlange erstellen

Erstellen Sie eine reguläre Cloud Tasks-Warteschlange:

QUEUE1=http-queue
LOCATION=us-central1

gcloud tasks queues create $QUEUE1 --location=$LOCATION

Halten Sie die Warteschlange vorübergehend an, damit Sie die HTTP-Aufgaben beobachten können, während sie erstellt werden:

gcloud tasks queues pause $QUEUE1 --location=$LOCATION

4. HTTP-Task erstellen und testen

In diesem Schritt erstellen Sie eine HTTP-Task für die zuvor erstellte Warteschlange.

HTTP-Aufgaben erstellen

Sie können HTTP-Aufgaben mit gcloud erstellen:

gcloud tasks create-http-task \
    --queue=$QUEUE1 \
    --location=$LOCATION \
    --url=$SERVICE1_URL \
    --method=GET

Optional:Sie können auch eine HTTP-Aufgabe mit Clientbibliotheken erstellen. Sie können sich beispielsweise die Program.cs für ein C#-Beispiel ansehen, in dem eine HTTP-Anfrage in eine Task und eine TaskRequest verpackt wird, bevor sie mit einem CloudTasksClient an Cloud Tasks gesendet wird:

var taskRequest = new CreateTaskRequest
{
    Parent = new QueueName(projectId, location, queue).ToString(),
    Task = new Task
    {
        HttpRequest = new HttpRequest
        {
            HttpMethod = HttpMethod.Get,
            Url = url
        }
    }
};

var client = CloudTasksClient.Create();
var response = client.CreateTask(taskRequest);

Sie können ihn wie folgt ausführen, um die Aufgabe zu erstellen und der Warteschlange hinzuzufügen:

dotnet run $PROJECT_ID $LOCATION $QUEUE1 $SERVICE1_URL

HTTP-Task testen

An diesem Punkt wird die Aufgabe erstellt, aber noch nicht ausgeführt, da die Warteschlange pausiert wurde. Sie können dies überprüfen, indem Sie die Warteschlangen auflisten:

gcloud tasks queues list --location=$LOCATION

Die Warteschlange sollte im Status PAUSED angezeigt werden:

QUEUE_NAME  STATE
http-queue  PAUSED

Setzen Sie die Warteschlange fort:

gcloud tasks queues resume $QUEUE --location=$LOCATION

Prüfen Sie die Logs des Cloud Run-Dienstes:

gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=$SERVICE1" --limit 1

Sie sollten sehen, dass der Cloud Run-Dienst eine HTTP-GET-Anfrage von Cloud Tasks erhalten hat:

httpRequest:
  latency: 0.227597158s
  protocol: HTTP/1.1
  remoteIp: 35.243.23.192
  requestMethod: GET
  requestSize: '415'
  requestUrl: https://hello1-idcwffc3yq-uc.a.run.app/
  responseSize: '5510'
  serverIp: 216.239.32.53
  status: 200
  userAgent: Google-Cloud-Tasks

5. Warteschlange mit einer Routingkonfiguration erstellen

In diesem Schritt erfahren Sie, wie Sie eine Cloud Tasks-Warteschlange mit einer Routingkonfiguration erstellen, um mit der Funktion Konfiguration des Aufgabenroutings eine HTTP-URI-Überschreibung hinzuzufügen. Anschließend fügen Sie HTTP-Aufgaben hinzu, die auf den ersten Cloud Run-Dienst ausgerichtet sind. Dabei werden Sie beobachten, dass die Routingkonfiguration den URI überschreibt, um Aufgaben an den zweiten Cloud Run-Dienst weiterzuleiten.

5d1ec61a933f77.png

Was ist die Konfiguration des Aufgabenroutings auf Warteschlangenebene?

Die Konfiguration der Aufgabenweiterleitung auf Warteschlangenebene ändert das HTTP-Aufgabenrouting für die gesamte Warteschlange für alle ausstehenden und neuen Aufgaben. Dies erleichtert die Erstellung von Aufgaben, da das HTTP-Ziel nicht auf Aufgabenebene festgelegt werden muss. Außerdem wird mehr Kontrolle über den Dienstanbieter, da dieser das Ziel aller Aufgaben in einer Warteschlange festlegen kann (z. B. Traffic an ein anderes Back-End weiterleiten, wenn das ursprüngliche Back-End ausgefallen ist).

Die folgende Konfiguration kann auf Warteschlangenebene festgelegt werden:

  • Headers: Wenn Header auf Warteschlangenebene angegeben werden, werden die Header für alle Aufgaben in der Warteschlange hochgesetzt.
  • HTTP-Methode: Wenn die HTTP-Methode auf Warteschlangenebene angegeben wird, wird die HTTP-Methode für alle Aufgaben in der Warteschlange überschrieben.
  • Ziel-URI: Host, Pfad, Abfrage, Port, Schema (HTTP oder HTTPS) können einzeln überschrieben werden.
  • Autorisierung: Wenn die OIDC-/OAuth-Konfiguration auf Warteschlangenebene angegeben wird, wird die OIDC-/OAuth-Konfiguration auf Aufgabenebene überschrieben.

Zweiten Cloud Run-Dienst bereitstellen

Stellen Sie einen zweiten Cloud Run-Dienst bereit, der später als Ziel der HTTP-URI-Überschreibung dient:

SERVICE2=hello2
REGION=us-central1

gcloud run deploy $SERVICE2 \
  --allow-unauthenticated \
  --image=gcr.io/cloudrun/hello \
  --region=$REGION

Speichern Sie den Host der Dienst-URL für später:

SERVICE2_URL=$(gcloud run services describe $SERVICE2 --region $REGION --format 'value(status.url)')
SERVICE2_HOST=$(echo $SERVICE2_URL | sed 's,http[s]*://,,g')

Cloud Tasks-Warteschlange mit einer Routingkonfiguration erstellen

Erstellen Sie eine Warteschlange mit einer Routingkonfiguration mit der HTTP-URI-Überschreibung für den zweiten Cloud Run-Dienst.

QUEUE2=http-queue-uri-override

gcloud beta tasks queues create $QUEUE2 \
  --http-uri-override=host:$SERVICE2_HOST \
  --location=$LOCATION

Beachten Sie, dass sich die URI-Überschreibung auf den zweiten Cloud Run-Dienst bezieht. Bei jeder HTTP-Aufgabe, die der Warteschlange hinzugefügt wird, wird der ursprüngliche URI-Host überschrieben. Die Warteschlangenkonfiguration wird angezeigt:

gcloud beta tasks queues describe $QUEUE2 --location=$LOCATION

Sie sollten sehen, dass httpTarget ein uriOverride hat, das auf den Host des zweiten Dienstes verweist:

httpTarget:
  uriOverride:
    host: hello2-idcwffc3yq-uc.a.run.app
    pathOverride: {}
    queryOverride: {}
...

Halten Sie die Warteschlange vorübergehend an, damit Sie die HTTP-Aufgaben beobachten können, während sie erstellt werden:

gcloud tasks queues pause $QUEUE2 --location=$LOCATION

6. HTTP-Aufgabe für die Warteschlange mit der Routingkonfiguration erstellen und testen

In diesem Schritt erstellen Sie eine HTTP-Task, die auf den ersten Dienst ausgerichtet ist. Dabei werden Sie beobachten, dass der URI von der Warteschlange überschrieben wird, um auf den zweiten Dienst zu verweisen.

HTTP-Aufgaben erstellen

Erstellen Sie eine HTTP-Aufgabe mit der URL des ersten Dienstes:

gcloud tasks create-http-task \
    --queue=$QUEUE2 \
    --location=$LOCATION \
    --url=$SERVICE1_URL \
    --method=GET

HTTP-Task testen

Setzen Sie die Warteschlange fort:

gcloud tasks queues resume $QUEUE2 --location=$LOCATION

Sie sollten sehen, dass der zweite (nicht der erste) Cloud Run-Dienst aufgrund der Überschreibung eine HTTP-GET-Anfrage von Cloud Tasks erhalten hat:

gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=$SERVICE2" --limit 1
---
httpRequest:
  latency: 0.228982142s
  protocol: HTTP/1.1
  remoteIp: 35.187.132.84
  requestMethod: GET
  requestSize: '426'
  requestUrl: https://hello2-idcwffc3yq-uc.a.run.app/
  responseSize: '5510'
  serverIp: 216.239.34.53
  status: 200
  userAgent: Google-Cloud-Tasks

7. Ausstehende Aufgaben mit der Routingkonfiguration ändern

Sie können die Routingkonfiguration auch verwenden, um den HTTP-URI aller ausstehenden Aufgaben in einer Warteschlange zu ändern. Dies ist nützlich, wenn der Back-End-Dienst ausfällt und Sie schnell an einen anderen Dienst weiterleiten möchten. Sehen wir uns an, wie das in diesem Schritt funktioniert.

Halten Sie die Warteschlange noch einmal an:

gcloud tasks queues pause $QUEUE2 --location=$LOCATION

Erstellen Sie eine HTTP-Aufgabe mit google.com als Aufgaben-URL:

gcloud tasks create-http-task \
    --queue=$QUEUE2 \
    --location=$LOCATION \
    --url=https://www.google.com \
    --method=GET

Die Aufgabe befindet sich im Status „Ausstehend“, da die Warteschlange pausiert ist.

Aktualisieren Sie nun die HTTP-URI-Überschreibung, sodass sie auf den ersten Dienst verweist. Dadurch wird der Host der ausstehenden Aufgabe von google.com auf den Host des ersten Dienstes überschrieben:

SERVICE1_URL=$(gcloud run services describe $SERVICE1 --region $REGION --format 'value(status.url)')
SERVICE1_HOST=$(echo $SERVICE1_URL | sed 's,http[s]*://,,g')

gcloud beta tasks queues update $QUEUE2 \
  --http-uri-override=host:$SERVICE1_HOST \
  --location=$LOCATION

Setzen Sie die Warteschlange fort:

gcloud tasks queues resume $QUEUE2 --location=$LOCATION

Sie sollten sehen, dass der erste Cloud Run-Dienst aufgrund der Überschreibung (anstelle von google.com) eine HTTP-GET-Anfrage von Cloud Tasks erhalten hat:

gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=$SERVICE1" --limit 1
---
httpRequest:
  latency: 0.228982142s
  protocol: HTTP/1.1
  remoteIp: 35.187.132.84
  requestMethod: GET
  requestSize: '426'
  requestUrl: https://hello1-idcwffc3yq-uc.a.run.app/
  responseSize: '5510'
  serverIp: 216.239.34.53
  status: 200
  userAgent: Google-Cloud-Tasks

8. Warteschlange für die BufferTask API erstellen

Normalerweise erstellen Sie Aufgaben mit der Tasks API über die gcloud oder die Tasks-Clientbibliotheken. Dadurch werden die Anwendungen belastet, um HTTP-Anfragen mithilfe von Clientbibliotheken in Tasks zu verpacken. Außerdem entsteht eine Abhängigkeit zwischen den Anwendungen und den Tasks-Clientbibliotheken.

In diesem Schritt erfahren Sie, wie Sie die HTTP-URI-Überschreibung auf Warteschlangenebene und die neue BufferTask API nutzen können, um HTTP-Zielaufgaben einfacher zu erstellen, indem Sie einfach eine HTTP-Anfrage senden. Jede Anwendung, die HTTP-Anfragen senden kann, kann jetzt HTTP-Zielaufgaben erstellen.

b1606516297fc4b6.png

Was ist die BufferTask API?

Die CreateTask API ist die alte Methode zum Erstellen von Aufgaben und erfordert, dass der Client ein Task-Objekt mit allen erforderlichen Feldern an die API sendet.

Die BufferTask API ist eine neue Funktion, mit der Nutzer eine HTTP-Aufgabe erstellen können, ohne eine Aufgabenkonfiguration (HTTP-URL, Header, Autorisierung) angeben zu müssen. So können Sie einfach eine Nachricht oder den Text Ihrer Anfrage an die Buffer API senden.

Dies erleichtert die Einbindung von Diensten, da Cloud Tasks jetzt vor Ihrem Dienst bereitgestellt werden kann, ohne dass clientseitige Codeänderungen erforderlich sind. Jede beliebige HTTP-Anfrage, die an die BufferTask API gesendet wird, wird als Aufgabenobjekt zusammengefasst und an das auf Warteschlangenebene festgelegte Ziel gesendet.

Um die BufferTask API verwenden zu können, muss für die Warteschlange die Ziel-URI-Konfiguration festgelegt sein. Mit anderen Worten, die Funktion Routingkonfiguration auf Warteschlangenebene ist eine Voraussetzung für die Verwendung der BufferTask API.

Cloud Tasks-Warteschlange mit Routingkonfiguration erstellen

Erstellen Sie eine Warteschlange mit einer Routingkonfiguration, die auf den ersten Dienst verweist, den Sie im vorherigen Schritt bereitgestellt haben:

SERVICE1=hello1
SERVICE1_URL=$(gcloud run services describe $SERVICE1 --region $REGION --format 'value(status.url)')
SERVICE1_HOST=$(echo $SERVICE1_URL | sed 's,http[s]*://,,g')
QUEUE3=http-queue-uri-override-buffer

gcloud beta tasks queues create $QUEUE3 \
  --http-uri-override=host:$SERVICE1_HOST \
  --location=$LOCATION

Halten Sie die Warteschlange vorübergehend an, damit Sie die HTTP-Aufgaben beobachten können, während sie erstellt werden:

gcloud tasks queues pause $QUEUE3 --location=$LOCATION

9. HTTP-Anfragen mit der BufferTask API puffern

In diesem Schritt puffern Sie einfache HTTP GET- oder POST-Anfragen mit der BufferTask API. Cloud Tasks fasst diese HTTP-Anfragen mit den Standardeinstellungen für die Routingkonfiguration der Warteschlange in HTTP-Aufgaben zusammen.

Melden Sie sich zuerst an, um ein Zugriffstoken zu erhalten, und legen Sie einige Variablen fest:

gcloud auth application-default login
ACCESS_TOKEN=$(gcloud auth application-default print-access-token)
PROJECT_ID=$(gcloud config get-value project)
TASKS_QUEUES_API="https://cloudtasks.googleapis.com/v2beta3/projects/$PROJECT_ID/locations/$LOCATION/queues"

HTTP-Aufgaben erstellen

Erstellen Sie eine HTTP-Aufgabe mit der BufferTask API. Beachten Sie, dass es sich um eine einfache HTTP GET-Anfrage handelt, ohne dass eine Aufgabe erstellt werden muss:

curl -X GET "$TASKS_QUEUES_API/$QUEUE3/tasks:buffer" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Erstellen Sie eine weitere HTTP-Aufgabe mit HTTP POST und einem Textkörper:

curl -X POST "$TASKS_QUEUES_API/$QUEUE3/tasks:buffer" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d "{'message': 'Hello World'}"

Optional:Sie können auch eine HTTP-Aufgabe mit Clientbibliotheken erstellen. Sie können sich beispielsweise die Program.cs für ein C#-Beispiel ansehen, bei dem eine HTTP-GET-Anfrage direkt an die BufferTask API gesendet wird, ohne sie in eine Task verpacken zu müssen oder die Clientbibliothek für Cloud Tasks zu benötigen:

var BufferTaskApiUrl = $"https://cloudtasks.googleapis.com/v2beta3/projects/{ProjectId}/locations/{Location}/queues/{Queue}/tasks:buffer";

using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("Authorization", $"Bearer {AccessToken}");
    var response = await client.GetAsync(BufferTaskApiUrl);
    var content = await response.Content.ReadAsStringAsync();
    Console.WriteLine($"Response: {content}");
}

Sie können ihn so ausführen:

dotnet run $PROJECT_ID $LOCATION $QUEUE3 $ACCESS_TOKEN

Die BufferTask API erstellt eine Aufgabe aus den HTTP-Anfragen und fügt die URL aus den Routing-Konfigurationseinstellungen der Warteschlange für den URI hinzu.

HTTP-Task testen

Setzen Sie die Warteschlange fort:

gcloud tasks queues resume $QUEUE3 --location=$LOCATION

Sie sollten sehen, dass der Cloud Run-Dienst HTTP GET- und POST-Anfragen von Cloud Tasks erhalten hat:

gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=$SERVICE1" --limit 4
---
httpRequest:
  latency: 0.002279292s
  protocol: HTTP/1.1
  remoteIp: 35.243.23.42
  requestMethod: POST
  requestSize: '777'
  requestUrl: https://hello1-idcwffc3yq-uc.a.run.app/
  responseSize: '5450'
  serverIp: 216.239.32.53
  status: 200
  userAgent: Google-Cloud-Tasks
...
httpRequest:
  latency: 0.228982142s
  protocol: HTTP/1.1
  remoteIp: 35.187.132.84
  requestMethod: GET
  requestSize: '426'
  requestUrl: https://hello1-idcwffc3yq-uc.a.run.app/
  responseSize: '5510'
  serverIp: 216.239.34.53
  status: 200
  userAgent: Google-Cloud-Tasks

10. Glückwunsch

Glückwunsch, du hast das Codelab abgeschlossen.

Als Nächstes können Sie Cloud Tasks als Puffer zwischen Pub/Sub und Cloud Run ausprobieren. Dort sehen Sie anhand eines praktischen Beispiels, wie sich mit diesen neuen Funktionen von Cloud Tasks ganz einfach eine Pufferwarteschlange zwischen Diensten erstellen lässt.

Bereinigen (optional)

Es empfiehlt sich, Ressourcen zu bereinigen, um Gebühren zu vermeiden.

Wenn Sie das Projekt nicht benötigen, können Sie es einfach löschen:

gcloud projects delete $PROJECT_ID

Wenn Sie das Projekt benötigen, können Sie Ressourcen einzeln löschen.

Löschen Sie die Cloud Run-Dienste:

gcloud run services delete $SERVICE1 --region $REGION
gcloud run services delete $SERVICE2 --region $REGION

Löschen Sie die Cloud Tasks-Warteschlangen:

gcloud tasks queues delete $QUEUE1 --location=$LOCATION
gcloud tasks queues delete $QUEUE2 --location=$LOCATION
gcloud tasks queues delete $QUEUE3 --location=$LOCATION

Behandelte Themen

  • HTTP-Zielaufgaben erstellen
  • HTTP-Zielaufgaben mit der neuen HTTP-URI-Überschreibung auf Warteschlangenebene erstellen.
  • So ändern Sie die ausstehenden Aufgaben mit der neuen HTTP-URI-Überschreibung auf Warteschlangenebene.
  • Anleitung zum einfacheren Zwischenspeichern von HTTP-Anfragen mit der neuen BufferTask API.