未提供项目说明
cumason123-cloudevents的Python项目详细描述
CloudEvents的Python SDK
状态
这个SDK仍然被认为是一个正在进行的工作,因此事情可能(和 将)打破每一个更新。在
此SDK当前支持以下版本的CloudEvents:
- 1.0版
- 0.3版
Python SDK开发包
包cloudevents提供用于cloudevents规范的原语:https://github.com/cloudevents/spec。在
发送CloudEvents
下面我们将提供如何使用流行的
^{
二进制HTTP CloudEvent
fromcloudevents.httpimportCloudEvent,to_binary_httpimportrequests# This data defines a binary cloudeventattributes={"type":"com.example.sampletype1","source":"https://example.com/event-producer",}data={"message":"Hello World!"}event=CloudEvent(attributes,data)headers,body=to_binary_http(event)# POSTrequests.post("<some-url>",data=body,headers=headers)
结构化HTTP CloudEvent
^{pr2}$您可以找到将CloudEvent转换为HTTP请求in the samples directory的完整示例。在
请求CloudEvent
下面的代码展示了如何使用流行的pythonweb框架使用cloudevent flask:
fromflaskimportFlask,requestfromcloudevents.httpimportfrom_httpapp=Flask(__name__)# create an endpoint at http://localhost:/3000/@app.route("/",methods=["POST"])defhome():# create a CloudEventevent=from_http(request.get_data(),request.headers)# you can access cloudevent fields as seen belowprint(f"Found {event['id']} from {event['source']} with type "f"{event['type']} and specversion {event['specversion']}")return"",204if__name__=="__main__":app.run(port=3000)
您可以找到将CloudEvent转换为HTTP请求in the samples directory的完整示例。在
SDK版本控制
这个包的目标是为CloudEvents的所有发布版本提供支持,最好是在维护 相同的API。它将使用以下规则的语义版本控制:
- 引入向后不兼容的更改时,主版本会增加。在
- 当引入向后兼容特性(包括对新CloudEvents版本的支持)时,次要版本会增加。在
- 当引入向后兼容的错误修复时,补丁版本会增加。在
社区
- 在Serverless/CloudEvents call之后有两周一次的电话 上午9点(美国太平洋)。这意味着他们通常会在上午10点开始,但是 如果另一个调用提前结束,那么SDK调用也将提前开始。 参见CloudEvents meeting minutes 决定哪一周会有电话。在
- 时差:#cloudeventssdk频道下 CNCF's Slack workspace。在
- 电子邮件:https://lists.cncf.io/g/cncf-cloudevents-sdk
- 如需更多信息,请联系:Denis Makogon(
@denysmakogon
on slack)。在
维护
我们使用black和isort进行自动格式化。我们建立了一个毒物环境来重新格式化 代码库。在
例如
pipinstalltoxtox-ereformat
有关释放版本缓冲的信息,请参见RELEASING.md
- 项目
标签: