Bevor Sie auf die neueste App Engine Services SDK-Version aktualisieren, lesen Sie die Migrationsübersicht.
Sie können automatisch zu Cloud Tasks migrieren, indem Sie Ihr App Engine Services SDK auf die neueste Version aktualisieren. Nach dem Upgrade leitet das SDK PushQueue-Aufrufe automatisch an die Cloud Tasks-Frontend-APIs weiter. In Cloud Tasks bleiben Ihre vorhandenen Aufgabenwarteschlangen und Aufgaben erhalten, sodass keine zusätzliche Migration erforderlich ist.
Im Hintergrund verwendet das aktualisierte SDK die Cloud Tasks APIs, um die Funktionsparität mit den Funktionen von Aufgabenwarteschlangen aufrechtzuerhalten. Das SDK unterstützt Folgendes:
- Batch-Aufgabenerstellung: Das SDK verwendet Batch-APIs, um das Hinzufügen von bis zu 100 Aufgaben in einem einzigen Aufruf zu unterstützen.
- Wiederholungen auf Aufgabenebene: Das SDK unterstützt aufgabenspezifische Wiederholungskonfigurationen.
- Transaktionsaufgaben: Das SDK stellt Aufgaben in Datastore
transaktionen in die Warteschlange. Um die Zuverlässigkeit aufrechtzuerhalten, erstellen oder ändern Sie die Datei
cron.yaml.
Preise und Kontingente
Die Migration Ihrer Push-Warteschlangen zu Cloud Tasks kann sich auf die Preise und Kontingente für Ihre Anwendung auswirken.
Preise
Sehen Sie sich die Cloud Tasks-Preise an, um Ihre monatlichen Kosten vor der Migration zu schätzen.
Ähnlich wie bei Aufgabenwarteschlangen ist das Senden von Anfragen an Ihre App Engine-Anwendung mit einem Cloud Tasks-Push-Ziel kostenlos. Im Gegensatz zu Aufgabenwarteschlangen werden bei Cloud Tasks jedoch Vorgänge wie das Erstellen, Löschen oder Verwalten von Aufgaben in Rechnung gestellt. Dies kann zu höheren monatlichen Gesamtkosten führen als bei der kostenlosen App Engine-Aufgabenwarteschlange.
Kontingente
Cloud Tasks-Anfragen werden auch auf Ihre App Engine-Anfragekontingente angerechnet.
Wie bei Aufgabenwarteschlangen gibt es auch bei Cloud Tasks dienstspezifische Kontingente. Durch die Migration zu Cloud Tasks ändern sich wahrscheinlich Ihre Kontingente.
Hinweis
In den folgenden Abschnitten werden die Kosten und Kontingente erläutert, die vor der Migration von Push-Warteschlangen zu Cloud Tasks berücksichtigt werden müssen.
Achten Sie darauf, dass Sie Zugriff auf den App Engine-Quellcode haben.
Aktivieren Sie die Cloud Tasks API und die Cloud Scheduler API:
Bitten Sie Ihren Administrator, dem App Engine-Dienstkonto die erforderlichen Berechtigungen zu gewähren, damit das SDK Aufgaben an die Cloud Tasks API senden kann. Gewähren Sie die Cloud Tasks-Aufgaben in die Warteschlange stellen (
roles/cloudtasks.enqueuer) IAM-Rolle für das Projekt.
App Engine Services SDK aktualisieren
Achten Sie darauf, dass Ihre Anwendung die neueste Version des App Engine Services SDK verwendet.
Aktualisieren Sie in der Datei
pom.xmldas App Engine Services SDK auf Versionv5.2.0-betaoder höher.com.google.appengine appengine-api-1.0-sdk v5.2.0-beta Cloud Tasks-Routing aktivieren
runtime: java25 service: my-service-b env_variables: APPENGINE_USE_CLOUDTASK_PUSH_QUEUE: "true"Aktualisieren Sie die App Engine SDK-Abhängigkeit in der Datei
pom.xmlauf Versionv5.2.0-betaoder höher.Wenn Ihre Anwendung eine XML-Konfiguration (
appengine-web.xml) verwendet:<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <service>my-java-service-b</service> <runtime>java25</runtime> <env-variables> <env-var name="APPENGINE_USE_CLOUDTASK_PUSH_QUEUE" value="true" /> </env-variables> </appengine-web-app>Anwendung bereitstellen:
gcloud app deployPrüfen Sie die Push-Warteschlangen in Cloud Tasks um zu bestätigen, dass Ihre Anwendung Cloud Tasks verwendet.
Transaktionsaufgaben konfigurieren (optional)
Wenn Ihre Anwendung Aufgaben in Datenspeichertransaktionen in die Warteschlange stellt, verwendet das SDK einen internen Cronjob, um sicherzustellen, dass alle Aufgaben, die während des Datenspeicher-Commits nicht in die Warteschlange gestellt werden können, letztendlich verarbeitet werden.
Um transaktionale Aufgaben für Push-Warteschlangen zu verarbeiten, erstellen oder aktualisieren Sie die Datei cron.yaml, um den internen Prozessor regelmäßig aufzurufen. Beispiel:
cron:
- description: "Process push queue transactional tasks"
url: /_ah/cloudtask/sweep
schedule: every 30 minutes # Change this based on the usage pattern
Fügen Sie in der Datei web.xml eine URL-Zuordnung für utils.servlet.SweeperServlet oder utils.servlet.jakarta.SweeperServlet für Java 17/21 Jakarta EE-Laufzeiten hinzu.
<servlet>
<servlet-name>cloudtask_sweep</servlet-name>
<servlet-class>com.google.apphosting.utils.servlet.SweeperServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cloudtask_sweep</servlet-name>
<url-pattern>/_ah/cloudtask/sweep</url-pattern>
</servlet-mapping>
Nächste Schritte
- Dokumentation zu Cloud Tasks
- Cloud Tasks-Clientbibliothek
- Cloud Tasks-REST-Referenz – Übersicht
- Cloud Tasks-RPC-Referenz – Übersicht