This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.0.
消息序列化- kombu.serialization
¶
序列化实用程序。
概述¶
集中支持数据结构的编码/解码。包含JSON、PICKLE、msgpack和YAML序列化程序。
可以选择安装对YAML的支持 PyYAML 程序包已安装。
(可选)安装对 msgpack 如果 msgpack-python 程序包已安装。
例外情况¶
序列化¶
- kombu.serialization.dumps(data, serializer=None)¶
编码数据。
将数据结构序列化为适合作为AMQP消息体发送的字符串。
论点:¶
- 退货:
Tuple[str, str, str] ( A three-item tuple containing the )
内容类型(例如, application/json )、内容编码(例如,
utf-8 )和包含序列化数据的字符串。
- 引发SerializerNotInstated:
如果序列化方法:Requred不可用。
- kombu.serialization.loads(data, content_type, content_encoding, accept=None, force=False, _trusted_content=frozenset({'application/data', 'application/text'}))¶
对序列化数据进行解码。
将数据流反序列化为使用 dumps 基于 content_type 。
论点:¶
Data(字节、缓冲区、字符串):要反序列化的消息数据。
- Content_type(Str):数据的内容类型。
(例如, application/json )。
- Content_Coding(Str):数据的内容编码。
(例如, utf-8 , binary ,或 us-ascii )。
Accept(Set):要接受的内容类型列表。
- 引发不允许的内容:
如果内容类型不被接受。:
- 退货:
Any
- Rtype:
未序列化的数据。
登记处¶
- kombu.serialization.register(name, encoder, decoder, content_type, content_encoding='utf-8')¶
注册新的编码器/解码器。
论点:¶
Name(Str):序列化方法的方便名称。
- 编码器(Callable):将传递给Python数据的方法
结构,并应返回表示序列化数据的字符串。如果
None
,则只会注册一个解码器。编码将不可能实现。- Decder(Callable):将向其传递字符串的方法
表示序列化的数据,并应返回一个Python数据结构。如果
None
,则只会注册编码器。解码将是不可能的。- Content_type(Str):描述序列化的
结构。
- Content_Coding(Str):内容编码(字符集)
这个 decoder 方法将返回。通常会是 utf-8 , us-ascii ,或 binary 。
- kombu.serialization.unregister(name)¶
取消注册已注册的编码器/解码器。
论点:¶
名称(Str):已注册的序列化方法名称。
- 引发SerializerNotInstated:
如果找不到名为:的串行化程序。
- kombu.serialization.registry = <kombu.serialization.SerializerRegistry object>¶
序列化程序/反序列化程序的全局注册表。