Me quedo probando mi proyecto en base a esto:https://github.com/GoogleCloudPlatform/iot-smart-home-cloud
Mi problema es:
cloudfunctions.googleapis.com google.cloud.functions.v1.CloudFunctionsService.UpdateFunction proyectos/casaminha-2e0ca/locations/us-central1/functions/syncOnRemove [correo electrónico protegido] Error de compilación: no se pudo resolver fuente: googleapi: Error 403:[correo electrónico protegido]no tiene acceso Storage.objects.get al objeto de Google Cloud Storage. Prohibido com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminV1.CreateBuild;no se pudo resolver fuente: googleapi : Error 403:[correo electrónico protegido]no tiene acceso Storage.objects.get al objeto de Google Cloud Storage., prohibido;AppErrorCode=3;StartTimeMs=999999999999540;unknown;ResFormat=AUTOMATIC;ServerTimeSec=0.9999999999999999;LogBytes=256;Non-
Eliminé la compilación o ejecución en la nube el 27 de julio de 2021 (no uso la ejecución en la nube en mi proyecto). Eliminé en la consola de GCP. Pensé que eso era lo que estaba dando un error de credencial en mi proyecto de acción en Google.Entonces comencé a recibir el error actual..
Recuerdo que la cuenta de servicio que eliminé estaba asociada únicamente al controlador de Google (había un signo de interrogación allí)
Creo que el comando gcf reconstruirá esto. Pero no estoy seguro de si esto es correcto. y tampoco se como usarlofuentes-gcf-<PROJECT_NUMBER>-
Me quedo probando acciones en google, usando firestore y GCP.
comandos:
firebase --project casaminha-2e0ca funciones:config:set cloudiot.region=us-central1
firebase --project casaminha-2e0ca funciones:config:set smarthome.id=567617xxxxxxxxxxxxxx9r9upjxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D99999999999
firebase --project casaminha-2e0ca funciones:config:set smarthome.key="99999999"
implementación de base de fuego --proyecto casaminha-2e0ca
Este es mi proyecto en github.:https://github.com/neuberfran/firebasefunction
Este es mi problemaTracker:https://issuetracker.google.com/issues/194942955?pli=1
Puede usted ayudar
Respuesta1
Cuando utiliza la función de nube, la API de Cloud Build debe estar habilitada para poder implementar su función de nube, está bien documentado en el tutorial (Antes de que empieces). La cuenta del servicio Cloud Build se generará automáticamente cuando habilites el servicio Cloud Build en tu proyecto de Google Cloud y se verá así:
[PROJECT-ID]@cloudbuild.gserviceaccount.com
Con respecto a este:
Eliminé la compilación o ejecución de la nube el 27 de julio de 2021 (no uso la ejecución de la nube en mi proyecto). Eliminé en la consola de GCP.
Tenga en cuenta,eliminar cuenta de servicio:
Cuando eliminas una cuenta de servicio, las aplicaciones ya no tendrán acceso a los recursos de Google Cloud a través de esa cuenta de servicio.
Y en base a turastreador de problemas, parece que la solución es recuperar su cuenta de servicio eliminada. La cuenta de servicio eliminada puede recuperarse dentro de los 30 días. Para recuperar o recuperar, debe encontrar el ID numérico o ACCOUNT_ID de la cuenta de servicio eliminada que puede obtener en Cloud Logging/Log Explorer.aquí está el tutorial.
Una vez que haya obtenido el ID numérico o ACCOUNT_ID, ejecute lo siguiente en su CLI o Cloud Shell o Cloud SDK:
gcloud beta iam service-accounts undelete ACCOUNT_ID
producción:
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'
ACTUALIZAR:
La causa principal del error era que faltaba el permiso "Cuenta de servicio de compilación en la nube" y se resolvió agregando este permiso.Respuesta2
En mi caso, no eliminé la cuenta de servicio, solo las funciones de IAM para la cuenta de servicio.
La solución es ir a la página de IAM y agregar el principal:
[PROJECT-ID]@cloudbuild.gserviceaccount.com
con el rol:Cloud Build Service Account
Respuesta3
En mi caso, recientemente habilité la API Cloud Build en mi proyecto y simplemente tuve que esperar 2 minutos más y funcionó. ¡Me alegro de no haber jugado en vano con los roles de IAM mientras esperaba!