【发布时间】:2019-09-06 23:31:38
【问题描述】:
我的目标是定期唤醒/关闭 GCE 实例。
https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule
我按照链接中的说明设置了“Cloud Scheduler”和“Cloud Functions”。
接下来我测试了Cloud Function,然后报如下错误。
Error: function crashed. Details:
Required 'compute.instances.list' permission for 'projects/[project-id]'
于是我在Cloud Function使用的服务账号中添加了“Compute Admin”权限,但还是报了同样的错误。
此外,我更改了 VM 实例的策略以允许 Cloud API 使用任何 API,但它不起作用。
有没有办法解决这个问题?
【问题讨论】:
-
Function 和 GCE 在同一个项目中?
-
您将计算管理员角色分配给了错误的服务帐户。 Cloud Functions 默认使用 App Engine 默认服务帐户。角色
roles/compute.admin具有compute.instances.list。 -
重新创建这些函数,然后它们运行。(但实例不会停止。)
-
@yutaaa 您是否确保 VM 实例与 Cloud Functions 位于同一项目和区域中?我已经能够按照指南成功启动/停止具有订阅 Pub/Sub 主题的功能的 VM。
标签: google-cloud-platform google-cloud-functions google-compute-engine