使用 Python API 将正文添加到云调度程序请求

Posted

技术标签:

【中文标题】使用 Python API 将正文添加到云调度程序请求【英文标题】:add body to a cloud scheduler request using the Python API 【发布时间】:2020-09-12 17:25:39 【问题描述】:

我正在扩展这个问题:How to create a job with Google Cloud scheduler Python api

我想知道如何插入要与函数一起传递的主体对象,我可以通过 gcloud 来完成,并且根据 v1 文档,我知道主体需要在 @987654323 中传递@任何时候我尝试以这种方式传递它都会出错并说:

TypeError: No positional arguments allowed

老实说,我根本无法让from google.cloud.scheduler_v1.types import HttpTarget as Target 工作。

谁能给我一个例子,他们成功地使用 API 在 Cloud Scheduler 中创建了一个带有主体(JSON 对象)的作业(当然是 POST 方法)?

【问题讨论】:

【参考方案1】:
import json

from google.cloud import scheduler_v1

client = scheduler_v1.CloudSchedulerClient()

project = "..."  # TODO
location = "..."  # TODO
parent = client.location_path(project, location)

uri = "..."  # TODO
body = "Hello": "World"

job = 
    "http_target": 
        "http_method": "POST",
        "uri": uri,
        "headers": "Content-Type": "application/json",
        "body": json.dumps(body).encode("utf-8"),
    ,
    "schedule": "* * * * *",


response = client.create_job(parent, job)

print(response)

【讨论】:

完美运行,感谢您的帮助!

以上是关于使用 Python API 将正文添加到云调度程序请求的主要内容,如果未能解决你的问题,请参考以下文章

正文未通过 Azure API 管理发送

如何使用 Google Cloud 调度程序 Python api 创建作业

从请求将文件上传到云存储而不在本地保存

Azure 数据工厂 - 尝试将参数添加到 REST API 请求正文中的动态内容

5种Python使用定时调度任务的方式

使用 Python Win32 发送电子邮件。将图像添加到电子邮件正文不起作用