0

我为 Dataflow Batch Jobs 创建了一个自定义模板。现在我需要使用云调度程序每 5 分钟运行一次。模板存储在云存储中。但是,每当我在调度程序的 POST 请求中传递模板的 URI 时,我都会收到 401 错误

        URI - "https://dataflow.googleapis.com/v1b3/projects/project-id/locations/region/templates:launch?gcsPath=gs://my_bucket/templates/mytemplate 

我不确定身体应该包含什么

错误:

     jsonPayload: {
     targetType: "HTTP"
     @type: "type.googleapis.com/google.cloud.scheduler.logging.AttemptFinished"
     status: "UNAUTHENTICATED"
     url: "https://storage.cloud.google.com/my_bucket/templates/mydemotemp"
     jobName: "projects/project-id/locations/us-central1/jobs/finaljob"
     }
     httpRequest: {
     status: 401

任何人都可以请帮助如何去做。因为我是 GCP 的新手

4

1 回答 1

1

当您用于 Cloud scheduler 的服务帐户无权访问存储桶时,可能会发生这种情况。

您可以使用您的服务帐户进行云调度程序身份验证。

如下设置服务帐户,或参考此处获取详细指南。

在此处输入图像描述

在设置您的云调度程序之前,请授予您的服务帐户类似“存储对象视图”或更高级别的角色。

请参阅此处以检查存储桶访问所需的 GCS 角色。

于 2020-12-18T02:38:26.663 回答