无法使用 @google-cloud/scheduler 包创建调度程序

Unable to create a scheduler using the @google-cloud/scheduler package

在创建调度程序时遇到此错误,早些时候我在本地获取了代码并且它正在运行,但是当我在 gcp 本身上的 vm 上部署代码时它开始失败并显示此错误。

Error: 7 PERMISSION_DENIED: Request had insufficient authentication scopes.
    at Object.callErrorFromStatus (/app/node_modules/@grpc/grpc-js/build/src/call.js:31:26)


    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client.js:180:52)
    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:336:141)
    at Object.onReceiveStatus (/app/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:299:181)`enter code here`
    at /app/node_modules/@grpc/grpc-js/build/src/call-stream.js:160:78
    at processTicksAndRejections (internal/process/task_queues.js:79:11) {
  code: 7,
  details: 'Request had insufficient authentication scopes.',
  metadata: Metadata {
    internalRepr: Map {
      'google.rpc.errorinfo-bin' => [Array],
      'grpc-status-details-bin' => [Array],
      'grpc-server-stats-bin' => [Array]
    },
    options: {}
  },
  statusDetails: [
    ErrorInfo {
      metadata: [Object],
      reason: 'ACCESS_TOKEN_SCOPE_INSUFFICIENT',
      domain: 'googleapis.com'
    }
  ],
  reason: 'ACCESS_TOKEN_SCOPE_INSUFFICIENT',
  domain: 'googleapis.com',
  errorInfoMetadata: {
    service: 'cloudscheduler.googleapis.com',
    method: 'google.cloud.scheduler.v1.CloudScheduler.CreateJob'`enter code here`
  }
}

如果您在计算实例上使用默认服务帐户,则必须update the scopes;添加全部或仅添加 Cloud Scheduler 一个。

如果您不使用默认服务帐户,则您没有范围 select(范围 selection 是旧模式,不再适用于新功能)。

注意您必须停止VM,更改scopes/service帐户,然后重新启动VM