1

以下の関数から、クラウド スケジューラに存在するジョブにパッチを適用 (更新) しようとしています。この関数は、API を使用してジョブの属性 (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 に答える