App Engine-Anforderung

Wenn die Firestore-Datenbank mit einer App Engine-Anwendung verknüpft ist, ist für die Datenbank eine aktive App Engine-Anwendung im selben Projekt erforderlich. Ohne die aktive App Engine-Anwendung wird der Lese- und Schreibzugriff auf die Datenbank deaktiviert.

Aktive App Engine-Anforderung

Eine aktive App Engine-Anwendung bedeutet, dass sich eine Anwendung im selben Projekt befindet und dass diese Anwendung nicht deaktiviert ist. Diese App muss nicht verwendet werden. Die verknüpfte App und Datenbank müssen in derselben Region vorhanden sein.

Wenn Sie Ihre App Engine-Anwendung deaktivieren, deaktivieren Sie damit auch den Zugriff auf die mit dieser Anwendung verknüpfte Firestore-Datenbank.

Anforderung aktualisiert

In einer zukünftigen Version von Firestore wird in neuen Datenbanken standardmäßig die Verknüpfung mit App Engine aufgehoben. Außerdem gelten für alle Datenbanken, sowohl vorhandene als auch neu erstellte, die folgenden Anforderungen:

  • Zum Verwalten Ihrer Datenbank über die Google Cloud Console und die gcloud CLI muss die Firestore API im Projekt aktiviert sein. Dies ist sowohl für Firestore im nativen Modus als auch für Datenbanken im Datastore-Modus erforderlich.
  • Bei Ausführung über die Google Cloud Console oder die gcloud CLI sind für die folgenden Verwaltungsvorgänge die folgenden IAM-Berechtigungen erforderlich:

    • Datenbank erstellen: datastore.databases.create
    • Datenbankmetadaten ansehen: datastore.databases.getMetadata
    • Datenbankmetadaten bearbeiten: datastore.databases.update
Wenn Ihre Datenbank von den geänderten Anforderungen betroffen ist, wird auf der Seite Firestore der Google Cloud Console der folgende Hinweis angezeigt:

Die Firestore API ist bald für die Verwaltung Ihrer Datenbank erforderlich. Aktivieren Sie die API und prüfen Sie, ob Sie die erforderlichen Berechtigungen haben.

Prüfen Sie Ihre IAM-Berechtigungen, um sicherzustellen, dass Ihr Zugriff auf die Datenbank nicht betroffen ist. Wenn Sie eine benutzerdefinierte Rolle verwenden, fehlt ihr möglicherweise die Berechtigung datastore.databases.getMetadata. datastore.databases.getMetadata unterstützt benutzerdefinierte Rollen.

IAM-Berechtigungen aktualisieren

Prüfen Sie, ob die Konten, die über die Google Cloud Console auf die Datenbank zugreifen, die erforderlichen Berechtigungen haben:

  • Datenbank erstellen: datastore.databases.create
  • Daten ansehen: datastore.databases.getMetadata
  • Daten bearbeiten: datastore.databases.update

Vordefinierte Rollen wie Datenspeichernutzer und Datenspeicherbetrachter enthalten die erforderlichen Berechtigungen. Wenn Sie benutzerdefinierte IAM-Rollen erstellt haben, müssen Sie diese möglicherweise aktualisieren, um die oben genannten Berechtigungen zu erhalten.

Wenn Sie den Zugriff auf die Konsole mit einer benutzerdefinierten Rolle verwalten, müssen Sie den Zugriff weiterhin gewährleisten. Aktualisieren Sie dazu Ihre benutzerdefinierten Rollen mit datastore.databases.getMetadata oder verwenden Sie eine vordefinierte Rolle.

Wenn Sie eine verknüpfte App Engine-Anwendung deaktivieren, wird auch der Lese- und Schreibzugriff auf die Datenbank deaktiviert. In diesem Fall haben Sie auf der Seite Firestore-Daten in der Google Cloud Console die Möglichkeit, die Verknüpfung Ihrer Datenbank mit der App Engine-Anwendung aufzuheben. Klicken Sie auf Verknüpfung der Datenbank aufheben, um den Vorgang zu starten.

Firestore-Daten aufrufen

Sie können die Verknüpfung Ihrer Datenbank auch über die REST API aufheben.

curl -X PATCH
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
--data '{"app_engine_integration_mode": "DISABLED"}' \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)?updateMask=appEngineIntegrationMode"

Wenn Sie die Verknüpfung mit Ihrer Datenbank aufheben, können Sie App Engine deaktivieren, ohne den Zugriff auf die Datenbank zu beeinträchtigen. Das Aufheben der Verknüpfung ist ein dauerhafter Vorgang. Es kann bis zu fünf Minuten dauern, bis die Verknüpfung aufgehoben wird.

Sie können die Verknüpfung auch über die REST API aufheben.

curl  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)"