1

我正在尝试从下面提到的功能修补(更新)云调度程序中存在的作业。该函数使用 api 更新 Job 的属性(access_token)。但是它没有正确部署。代码有问题吗?

从 pprint 导入 base64 导入 pprint

从 googleapiclient 导入发现 从 oauth2client.client 导入 GoogleCredentials

def hello_pubsub(事件,上下文):

credentials = GoogleCredentials.get_application_default()
service = discovery.build('cloudscheduler', 'v1', credentials=credentials)

name = 'projects/XYZ/locations/TempLocation/jobs/TestTopic' 
job_body = {
  "name": "temp",
  "description": temp,
 
 "pubsubTarget": {
    "topicName": "projects/XYZ/topics/TestTopic",
    "attributes": {
    "access_token": "blabla"
    }
  },
  "httpTarget": {
      "uri": "https://cloudscheduler.googleapis.com/v1/projects/XYZ/locations/TempLocation/jobs/TestTopic",
      "httpMethod": "POST",
      "headers": {
        "Content-Type": "application/json",
      },

      "oauthToken": {
        "serviceAccountEmail": "xyz@gmail.com",
      }       
  }
}


request = service.projects().locations().jobs().patch(name=name, body=job_body)
response = request.execute()
pprint(response)
4

1 回答 1

1

正如@Akshansha Singhal 所述,请参阅此处

对于“googleapiclient”,最新的默认版本 2.0 仅在 Python 3.6+ 上受支持。

如果在 Python 2.7+ 上,请使用版本 1.x。

您可以在“requirements.txt”中配置这些版本依赖项。

于 2022-01-28T13:43:59.473 回答