Message API v2¶
有关如何使用 message 的详细信息,请参阅 使用 OpenStack Message
Message v2 类¶
message 高级接口可通过 Connection 对象的 message 成员进行访问。仅当检测到该服务时,才会添加 message 成员。
Message 操作¶
- class openstack.message.v2._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- post_message(queue_name, messages)
将消息发布到指定的队列
- 参数:
queue_name – 要发布消息的目标队列的名称。
messages – 要发布的消息体和 TTL 列表。 :type messages:
list
- 返回值:
一个包含成功发布消息位置的字符串。
- messages(queue_name, **query)
检索消息生成器
- 参数:
queue_name – 要从中查询消息的目标队列的名称。
query (kwargs) –
可选的查询参数,用于限制要返回的消息。可用参数包括:
- limit: 请求最多将指定数量的项
从查询中返回。
- marker: 指定最后看到的订阅的 ID。使用
limit 参数进行初始的有限请求,并使用响应中最后看到的订阅的 ID 作为 marker 参数值,在后续的有限请求中使用。
- echo: 指示消息是否可以回显给发布它们到客户端。
that posted them.
- include_claimed: 指示消息列表是否应包含
已声明的消息。
- 返回值:
消息实例的生成器。
- get_message(queue_name, message)
获取一条消息
- 参数:
queue_name – 要从中获取消息的目标队列的名称。
message – 该值可以是消息的名称或
Message实例。
- 返回值:
一个
Message- 引发:
当找不到匹配条件的任何消息时,将引发
NotFoundException。
- delete_message(queue_name, value, claim=None, ignore_missing=True)
删除一条消息
- 参数:
queue_name – 要从中删除消息的目标队列的名称。
value – 该值可以是消息的名称或
Message实例。claim – 该值可以是声明的消息的 ID 或
Claim实例。如果为 None,则该消息尚未被声明。ignore_missing (bool) – 当设置为
False时,当消息不存在时将引发NotFoundException。当设置为True时,尝试删除不存在的消息不会引发异常。
- 返回值:
无
Queue 操作¶
- class openstack.message.v2._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- create_queue(**attrs)
根据属性创建新队列
- 参数:
attrs (dict) – 将用于创建
Queue的关键字参数,包含 Queue 类上的属性。- 返回值:
队列创建的结果
- 返回类型:
队列
- get_queue(queue)
获取一个队列
- 参数:
queue – 该值可以是队列的名称或
Queue实例。- 返回值:
一个
Queue- 引发:
当找不到匹配名称的队列时,将引发
NotFoundException。
- queues(**query)
检索队列生成器
- 参数:
query (kwargs) –
可选的查询参数,用于限制要返回的队列。可用参数包括:
- limit: 请求最多将指定数量的项
从查询中返回。
- marker: 指定最后看到的队列的 ID。使用 limit
参数进行初始的有限请求,并使用响应中最后看到的队列的 ID 作为 marker 参数值,在后续的有限请求中使用。
- 返回值:
队列实例的生成器。
- delete_queue(value, ignore_missing=True)
删除一个队列
- 参数:
value – 该值可以是队列的名称或
Queue实例。ignore_missing (bool) – 当设置为
False时,当队列不存在时将引发NotFoundException。当设置为True时,尝试删除不存在的队列不会引发异常。
- 返回值:
无
Claim 操作¶
- class openstack.message.v2._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- create_claim(queue_name, **attrs)
根据属性创建新声明
- 参数:
queue_name – 要从中声明消息的目标队列的名称。
attrs (dict) – 将用于创建
Claim的关键字参数,包含 Claim 类上的属性。
- 返回值:
声明创建的结果
- 返回类型:
Claim
- get_claim(queue_name, claim)
获取一个声明
- 参数:
queue_name – 要从中声明消息的目标队列的名称。
claim – 该值可以是声明的 ID 或
Claim实例。
- 返回值:
一个
Claim- 引发:
当找不到匹配条件的任何声明时,将引发
NotFoundException。
- update_claim(queue_name, claim, **attrs)
根据属性更新现有声明
- 参数:
queue_name – 要从中声明消息的目标队列的名称。
claim – 该值可以是声明的 ID 或
Claim实例。attrs (dict) – 将用于更新
Claim的关键字参数,包含 Claim 类上的属性。
- 返回值:
声明更新的结果
- 返回类型:
Claim
- delete_claim(queue_name, claim, ignore_missing=True)
删除一个声明
- 参数:
queue_name – 要从中声明消息的目标队列的名称。
claim – 该值可以是声明的 ID 或
Claim实例。ignore_missing (bool) – 当设置为
False时,当声明不存在时将引发NotFoundException。当设置为True时,尝试删除不存在的声明不会抛出异常。
- 返回值:
无
Subscription 操作¶
- class openstack.message.v2._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
- create_subscription(queue_name, **attrs)
根据属性创建新订阅
- 参数:
queue_name – 要订阅的目标队列的名称。
attrs (dict) – 将用于创建
Subscription的关键字参数,包含 Subscription 类上的属性。
- 返回值:
订阅创建的结果
- 返回类型:
Subscription
- subscriptions(queue_name, **query)
检索订阅生成器
- 参数:
queue_name – 要订阅的目标队列的名称。
query (kwargs) –
可选的查询参数,用于限制要返回的订阅。可用参数包括:
- limit: 请求最多将指定数量的项
从查询中返回。
- marker: 指定最后看到的订阅的 ID。使用
limit 参数进行初始的有限请求,并使用响应中最后看到的订阅的 ID 作为 marker 参数值,在后续的有限请求中使用。
- 返回值:
订阅实例的生成器。
- get_subscription(queue_name, subscription)
获取一个订阅
- 参数:
queue_name – 订阅的目标队列的名称。
message – 该值可以是订阅的 ID 或
Subscription实例。
- 返回值:
一个
Subscription- 引发:
当找不到匹配条件的任何订阅时,将引发
NotFoundException。
- delete_subscription(queue_name, value, ignore_missing=True)
删除订阅
- 参数:
queue_name – 要从中删除订阅的目标队列的名称。
value – 该值可以是订阅的名称或
Subscription实例。ignore_missing (bool) – 当设置为
False时,当订阅不存在时将引发NotFoundException。当设置为True时,尝试删除不存在的订阅不会抛出异常。
- 返回值:
无