未提供项目说明

cumason123-cloudevents的Python项目详细描述


CloudEvents的Python SDK

PyPI version

状态

这个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版本的支持)时,次要版本会增加。在
  • 当引入向后兼容的错误修复时,补丁版本会增加。在

社区

维护

我们使用black和isort进行自动格式化。我们建立了一个毒物环境来重新格式化 代码库。在

例如

pipinstalltoxtox-ereformat

有关释放版本缓冲的信息,请参见RELEASING.md

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么@DELETE REST不起作用?   带有JPA2的java表值参数。1和Hibernate,Sql Server   如何将Java类添加到Xamarin VS2017项目   绘制多边形时出现java空指针异常   java Apache WebClient 303状态未重定向   java如何用一组字符串数组从数据库中获取数据   java是否可以使用Google Drive API向文件中添加脚本?   java组织。阿帕奇。贾斯珀。JspC jar文件下载   java在整个JSON映射中将单个值作为JSON流   通过命令行将文件输入到java   java rs.next()总是返回false   java标记异常,通知调用方利用异常消息   java Spring YML数组属性为空