AKTUALISIEREN:

AKTUALISIEREN:

Ich versuche weiterhin, mein Projekt auf folgender Grundlage durchzuführen:https://github.com/GoogleCloudPlatform/iot-smart-home-cloud

Mein Problem ist:

cloudfunctions.googleapis.com google.cloud.functions.v1.CloudFunctionsService.UpdateFunction Projekte/casaminha-2e0ca/locations/us-central1/functions/syncOnRemove [email geschützt] Build fehlgeschlagen: Quelle konnte nicht aufgelöst werden: Google API: Fehler 403:[email geschützt]hat keinen storage.objects.get-Zugriff auf das Google Cloud Storage-Objekt., verboten com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminV1.CreateBuild; konnte Quelle nicht auflösen: googleapi: Fehler 403:[email geschützt]hat keinen storage.objects.get-Zugriff auf das Google Cloud Storage-Objekt., verboten;AppErrorCode=3;StartTimeMs=999999999999540;unbekannt;ResFormat=AUTOMATIC;ServerTimeSec=0.999999999999999;LogBytes=256;Nicht-

Ich habe am 27. Juli 2021 Cloud Build oder Cloud Run gelöscht (ich verwende Cloud Run nicht in meinem Projekt). Ich habe es in der GCP-Konsole gelöscht. Ich dachte, das wäre der Grund für den Anmeldefehler in meinem Aktionsprojekt bei Google.Dann begann ich, den aktuellen Fehler zu erhalten.

Ich erinnere mich, dass das von mir gelöschte Dienstkonto nur mit dem Google Controller verknüpft war (da stand ein Fragezeichen)

Ich denke, der gcf-Befehl wird dies neu erstellen. Aber ich bin mir nicht sicher, ob das richtig ist. Und ich weiß auch nicht, wie man es benutztgcf-sources-<PROJEKTNUMMER>-

Ich probiere weiterhin Aktionen bei Google aus und verwende Firestore und GCP.

Befehle:

Firebase – Projekt Casaminha-2e0ca Funktionen: Konfiguration: Setze Cloudiot.region=us-central1

Firebase – Projekt Casaminha-2e0ca Funktionen: Konfiguration: Setze smarthome.id=567617xxxxxxxxxxxxxx9r9upjxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D99999999999

Firebase – Projekt Casaminha-2e0ca Funktionen: Konfiguration: Setze smarthome.key="99999999"

Firebase-Bereitstellung – Projekt Casaminha-2e0ca

Dies ist mein Projekt in GitHub:https://github.com/neuberfran/firebasefunction

Dies ist mein IssueTracker:https://issuetracker.google.com/issues/194942955?pli=1

Kannst du helfen

Antwort1

Wenn Sie die Cloud-Funktion verwenden, muss die Cloud Build API aktiviert sein, um Ihre Cloud-Funktion bereitzustellen. Dies ist im Tutorial ausführlich dokumentiert (Bevor Sie beginnen). Das Cloud Build-Dienstkonto wird automatisch generiert, wenn Sie den Cloud Build-Dienst in Ihrem Google Cloud-Projekt aktivieren und sieht folgendermaßen aus:

[PROJECT-ID]@cloudbuild.gserviceaccount.com

Bezüglich dieser:

Ich habe am 27. Juli 2021 Cloud Build oder Cloud Run gelöscht (ich verwende Cloud Run nicht in meinem Projekt). Ich habe in der GCP-Konsole gelöscht

Bitte beachten Sie,Dienstkonto löschen:

Wenn Sie ein Dienstkonto löschen, haben Anwendungen über dieses Dienstkonto keinen Zugriff mehr auf Google Cloud-Ressourcen.

Und basierend auf IhrerProblemverfolgung, es scheint, dass die Lösung darin besteht, Ihr gelöschtes Servicekonto wiederherzustellen. Das gelöschte Servicekonto kann innerhalb von 30 Tagen wiederhergestellt werden. Um es wiederherzustellen oder wiederherzustellen, müssen Sie die numerische ID oder ACCOUNT_ID für das gelöschte Servicekonto finden, die Sie in Cloud Logging/Log Explorer abrufen können.hier ist das Tutorial.

Sobald Sie die numerische ID oder die ACCOUNT_ID erhalten haben, führen Sie Folgendes in Ihrer CLI oder Cloud Shell oder Ihrem Cloud SDK aus:

gcloud beta iam service-accounts undelete ACCOUNT_ID

Ausgabe:

restoredAccount:
  email: SA_NAME@PROJECT_ID.iam.gserviceaccount.com
  etag: BwWWE7zpApg=
  name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com
  oauth2ClientId: '123456789012345678901'
  projectId: PROJECT_ID
  uniqueId: 'ACCOUNT_ID'

AKTUALISIEREN:

Die Hauptursache des Fehlers war das Fehlen der Berechtigung „Cloud Build Service Account“. Das Problem wurde durch das Hinzufügen dieser Berechtigung behoben.

Antwort2

In meinem Fall habe ich das Dienstkonto nicht gelöscht, sondern nur die IAM-Rollen für das Dienstkonto.

Die Lösung besteht darin, zur IAM-Seite zu gehen und den Auftraggeber [PROJECT-ID]@cloudbuild.gserviceaccount.com mit der folgenden Rolle hinzuzufügen:Cloud Build Service Account

Antwort3

In meinem Fall hatte ich gerade erst die Cloud Build API für mein Projekt aktiviert und musste nur zwei Minuten länger warten, dann hat es funktioniert. Ich bin froh, dass ich während des Wartens nicht umsonst an den IAM-Rollen herumgefummelt habe!

verwandte Informationen