未提供项目描述
项目描述
Python的函数框架
该框架提供了一种机制,可以在 Python 中编写功能即服务风格的代码来处理 HTTP 事件,包括通过 HTTP 传递的 CloudEvents。
该框架主要用于与 Knative一起使用,但也可以提供通用服务器来处理通过 HTTP 的 CloudEvents(例如,来自 Kubernetes 或在本地机器上)。
框架使用反射找到合适的函数进行包装;除非您愿意(例如用于类型定义),否则不必在您自己的代码中导入以下任何模块:
frameork(这个模块;在 PyPi 上为http-containerize)flaskcloudevents
相反,只需确保您有一个_使用以下某种组合的非前缀函数:
- HTTP 请求参数(命名为、
req、request或body类型)headersflask.Request - CloudEvent 参数(命名为、
event、payload或data类型)attributescloudevents.sdk.event.v1.Event
用法:
import logging
from typing import Any
counter = 0
def DoEvent(data: Any, attributes: dict, req: Any):
global counter
counter = counter + 1
logging.info(f"Got data: {data}")
logging.info(f"From {req.origin}, my {counter}th request!")
attributes["type"] = "com.example.reply"
attributes["datacontenttype"] = "text/plain"
return attributes, "It's a demo"
构建到容器中:
如果您添加http-containerize>=0.4.0到以下内容,则可以使用 packeto buildpacks requirements.txt:
pack build pytestapp --buildpack ekanderson/pyfun:0.1.1 --builder paketobuildpacks/builder:base
然后,您可以通过以下方式调用它:
docker run --rm -p 8080:8080 -e 8080 pytestapp
项目详情
关
http_containerize -0.4.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 5ada27b00618f631a80ff3888225c0712a3107da2426d70706361d71c019aaec |
|
| MD5 | dd035f58dbd80b759f88986fe9473cad |
|
| 布莱克2-256 | 686951f13d7d312277d45a12c89fe56c48cb435f7740d94660d2a4dc64e99112 |