azure.azcollection.azure_rm_servicebus_info 模块 – 获取服务总线信息

注意

此模块是 azure.azcollection 集合(版本 3.1.0)的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install azure.azcollection。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 Playbook 中使用它,请指定:azure.azcollection.azure_rm_servicebus_info

azure.azcollection 0.1.2 中的新增功能

概要

  • 获取特定服务总线或资源组或订阅中所有服务总线的信息。

要求

执行此模块的主机需要满足以下要求。

  • python >= 2.7

  • 执行此模块的主机必须通过 Galaxy 安装 azure.azcollection 集合

  • 所有列在集合 requirements.txt 中的 Python 包必须通过 pip 安装在执行来自 azure.azcollection 模块的主机上

  • 完整的安装说明可以在 https://galaxy.ansible.com/azure/azcollection 中找到

参数

参数

注释

ad_user

字符串

Active Directory 用户名。当使用 Active Directory 用户而不是服务主体进行身份验证时使用。

adfs_authority_url

字符串

在 azure.azcollection 0.0.1 中添加

Azure AD 授权 URL。当使用用户名/密码进行身份验证,并且有自己的 ADFS 授权时使用。

api_profile

字符串

在 azure.azcollection 0.0.1 中添加

选择与 Azure 服务通信时使用的 API 配置文件。默认值 latest 适用于公共云;未来的值将允许与 Azure Stack 一起使用。

默认值: "latest"

auth_source

字符串

在 azure.azcollection 0.0.1 中添加

控制用于身份验证的凭据的来源。

也可以通过 ANSIBLE_AZURE_AUTH_SOURCE 环境变量设置。

当设置为 auto (默认值)时,优先级为模块参数 -> env -> credential_file -> cli

当设置为 env 时,凭据将从环境变量中读取

当设置为 credential_file 时,它将从 ~/.azure/credentials 中读取配置文件。

当设置为 cli 时,凭据将从 Azure CLI 配置文件中获取。subscription_id 或环境变量 AZURE_SUBSCRIPTION_ID 可用于标识订阅 ID (如果存在多个订阅 ID),否则将使用默认的 az cli 订阅。

当设置为 msi 时,主机必须是启用了 MSI 扩展的 Azure 资源。subscription_id 或环境变量 AZURE_SUBSCRIPTION_ID 可用于标识订阅 ID (如果该资源被授予对多个订阅的访问权限),否则将选择第一个订阅。

msi 在 Ansible 2.6 中添加。

选项

  • "auto" ← (默认)

  • "cli"

  • "credential_file"

  • "env"

  • "msi"

cert_validation_mode

字符串

在 azure.azcollection 0.0.1 中添加

控制 Azure 端点的证书验证行为。默认情况下,所有模块都会验证服务器证书,但是当使用 HTTPS 代理时,或针对 Azure Stack 时,可能需要通过传递 ignore 来禁用此行为。也可以通过凭据文件配置文件或 AZURE_CERT_VALIDATION 环境变量设置。

选项

  • "ignore"

  • "validate"

client_id

字符串

Azure 客户端 ID。当使用服务主体或托管标识 (msi) 进行身份验证时使用。

也可以通过 AZURE_CLIENT_ID 环境变量设置。

cloud_environment

字符串

在 azure.azcollection 0.0.1 中添加

对于美国公共云以外的云环境,环境名称(由 Azure Python SDK 定义,例如 AzureChinaCloudAzureUSGovernment)或元数据发现终结点 URL(Azure Stack 所必需)。也可以通过凭据文件配置文件或 AZURE_CLOUD_ENVIRONMENT 环境变量设置。

默认值: "AzureCloud"

disable_instance_discovery

布尔值

在 azure.azcollection 2.3.0 中添加

确定在尝试身份验证时是否执行实例发现。将其设置为 true 将完全禁用实例发现和授权验证。此功能旨在用于无法访问元数据端点的情况,例如在私有云或 Azure Stack 中。实例发现过程包括从 https://login.microsoft.com/ 检索授权元数据以验证授权。通过将其设置为 True,将禁用授权验证。因此,至关重要的是要确保配置的授权主机有效且可信任。

通过凭据文件配置文件或 AZURE_DISABLE_INSTANCE_DISCOVERY 环境变量设置。

选项

  • false ← (默认)

  • true

log_mode

字符串

父参数。

log_path

字符串

父参数。

name

字符串

将结果限制为特定的服务总线。

namespace

字符串

服务总线命名空间名称。

命名空间是所有消息组件的作用域容器。

多个队列和主题可以驻留在单个命名空间中,并且命名空间通常用作应用程序容器。

type=namespace 时为必需。

password

字符串

Active Directory 用户密码。当使用 Active Directory 用户而不是服务主体进行身份验证时使用。

profile

字符串

在 ~/.azure/credentials 文件中找到的安全配置文件。

resource_group

字符串

将结果限制在特定的资源组中。

secret

字符串

Azure 客户端密钥。当使用服务主体进行身份验证时使用。

show_sas_policies

布尔值

是否显示 SAS 策略。

type=subscription 时不支持。

请注意,如果启用此选项,facts 模块将为每个资源再引发两次 HTTP 调用,需要更多的网络开销。

选项

  • false

  • true

subscription_id

字符串

您的 Azure 订阅 ID。

tags

list / elements=string

通过提供标签列表来限制结果。将标签格式化为“key”或“key:value”。

tenant

字符串

Azure 租户 ID。当使用服务主体进行身份验证时使用。

thumbprint

字符串

在 azure.azcollection 1.14.0 中添加

x509_certificate_path 中指定的私钥的指纹。

当使用服务主体进行身份验证时使用。

如果定义了 x509_certificate_path ,则为必需。

topic

字符串

主题名称。

type=subscription 时为必需。

type

string / required

资源类型。

选项

  • "namespace"

  • "queue"

  • "topic"

  • "subscription"

x509_certificate_path

path

在 azure.azcollection 1.14.0 中添加

用于创建 PEM 格式的服务主体的 X509 证书的路径。

证书必须附加到私钥。

当使用服务主体进行身份验证时使用。

备注

注意

  • 为了使用 Azure 进行身份验证,您可以传递参数、设置环境变量、使用存储在 ~/.azure/credentials 中的配置文件,或者在运行任务或剧本之前使用 az login 登录。

  • 也可以使用服务主体或 Active Directory 用户进行身份验证。

  • 要通过服务主体进行身份验证,请传递 subscription_id、client_id、secret 和 tenant 或设置环境变量 AZURE_SUBSCRIPTION_ID、AZURE_CLIENT_ID、AZURE_SECRET 和 AZURE_TENANT。

  • 要通过 Active Directory 用户进行身份验证,请传递 ad_user 和 password,或在环境中设置 AZURE_AD_USER 和 AZURE_PASSWORD。

  • 或者,凭据可以存储在 ~/.azure/credentials 中。这是一个包含 [default] 部分和以下键的 ini 文件:subscription_id、client_id、secret 和 tenant 或 subscription_id、ad_user 和 password。也可以添加其他配置文件。通过传递 profile 或在环境中设置 AZURE_PROFILE 来指定配置文件。

另请参阅

另请参阅

使用 Azure CLI 登录

如何使用 az login 命令进行身份验证。

示例

- name: Get all namespaces under a resource group
  azure_rm_servicebus_info:
    resource_group: myResourceGroup
    type: namespace

- name: Get all topics under a namespace
  azure_rm_servicebus_info:
    resource_group: myResourceGroup
    namespace: bar
    type: topic

- name: Get a single queue with SAS policies
  azure_rm_servicebus_info:
    resource_group: myResourceGroup
    namespace: bar
    type: queue
    name: sbqueue
    show_sas_policies: true

- name: Get all subscriptions under a resource group
  azure_rm_servicebus_info:
    resource_group: myResourceGroup
    type: subscription
    namespace: bar
    topic: sbtopic

返回值

通用返回值在此处记录 此处,以下是此模块独有的字段

描述

servicebuses

复杂

服务总线字典列表。

返回: 始终

accessed_at

字符串

上次发送消息或收到此主题的请求的时间。

返回: 始终

示例: "2019-01-25 02:46:55.543953+00:00"

auto_delete_on_idle_in_seconds

整数

ISO 8061 timeSpan 空闲间隔,在此之后队列或主题将自动删除。

最短持续时间为 5 分钟。

返回: 始终

示例: true

count_details

复杂

消息计数详细信息。

返回: 始终

active_message_count

整数

queuetopicsubscription 中的活动消息数。

返回: 始终

示例: 0

dead_letter_message_count

整数

已死信的消息数。

返回: 始终

示例: 0

scheduled_message_count

整数

计划消息的数量。

返回: 始终

示例: 0

transfer_dead_letter_message_count

整数

转移到死信的消息数量。

返回: 始终

示例: 0

transfer_message_count

整数

转移到另一个 queuetopicsubscription 的消息数量。

返回: 始终

示例: 0

created_at

字符串

消息创建的确切时间。

返回: 始终

示例: "2019-01-25 02:46:55.543953+00:00"

dead_lettering_on_filter_evaluation_exceptions

整数

一个值,指示订阅在筛选器评估异常时是否具有死信支持。

返回: 始终

示例: 0

dead_lettering_on_message_expiration

整数

一个值,指示当消息过期时,此 queuetopic 是否具有死信支持。

返回: 始终

示例: 0

default_message_time_to_live_seconds

整数

ISO 8061 默认消息生存时间值。

这是从消息发送到服务总线开始,消息过期的持续时间。

这是当消息本身未设置 TimeToLive 时使用的默认值。

返回: 始终

示例: 0

duplicate_detection_time_in_seconds

整数

定义重复检测历史记录持续时间的 ISO 8601 timeSpan 结构。

返回: 始终

示例: 600

enable_batched_operations

布尔值

指示是否启用服务器端批量操作的值。

返回: 始终

示例: true

enable_express

布尔值

一个值,指示是否启用了 Express 实体。

一个快速主题会在暂时将消息写入持久存储之前将其保存在内存中。

返回: 始终

示例: true

enable_partitioning

布尔值

一个值,指示是否启用了跨多个消息代理分区的 queuetopic

返回: 始终

示例: true

forward_dead_lettered_messages_to

字符串

用于转发死信消息的 queuetopic 名称。

返回: 始终

示例: "corge"

forward_to

字符串

用于转发消息的 queuetopic 名称。

返回: 始终

示例: "quux"

id

字符串

资源 ID。

返回: 始终

示例: "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/foo/providers/Microsoft.ServiceBus/ namespaces/bar/topics/baz/subscriptions/qux"

location

字符串

资源所在的地理位置。

返回: 始终

示例: "eastus"

lock_duration_in_seconds

整数

peek-lock 的 ISO 8601 时间跨度持续时间。

消息被锁定以供其他接收者使用的时间。

LockDuration 的最大值为 5 分钟。

返回: 始终

示例: 60

max_delivery_count

整数

最大传递计数。

经过此传递次数后,消息将自动死信。

返回: 始终

示例: 10

max_size_in_mb

整数

queuetopic 的最大大小(以兆字节为单位),即为 topic 分配的内存大小。

返回: 始终

示例: 5120

message_count

整数

消息数。

返回: 始终

示例: 10

metric_id

字符串

命名空间的 Azure Insights 指标的标识符。

返回: 始终

示例: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX:bar"

name

字符串

资源名称。

返回: 始终

示例: "qux"

namespace

字符串

queuetopicsubscriptionnamespace 名称。

返回: 始终

示例: "bar"

private_endpoint_connections

list / elements=string

PrivateEndpointConnection 的属性。

返回: 始终

示例: [{"id": "/subscriptions/xxxxxx/resourceGroups/myRG/providers/Microsoft.ServiceBus/namespaces/fredVM/privateEndpointConnections/xxxxxxxx", "name": "xxxxxx", "private_endpoint": {"id": "/subscriptions/xxxxx/resourceGroups/myRG/providers/Microsoft.Network/privateEndpoints/fredprivateendpoint"}, "private_link_service_connection_state": {"description": "Auto-Approved", "status": "Approved"}, "provisioning_state": "Succeeded", "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections"}]

provisioning_state

字符串

命名空间的预配状态。

返回: 始终

示例: "Succeeded"

requires_duplicate_detection

布尔值

一个值,指示此 queuetopic 是否需要重复检测。

返回: 始终

示例: true

requires_session

布尔值

一个值,指示 queuetopic 是否支持会话的概念。

返回: 始终

示例: true

sas_policies

字典

SAS 策略的字典。

在设置 show_sas_policy 之前不会返回。

返回: 始终

示例: {"testpolicy1": {"id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/ foo/providers/Microsoft.ServiceBus/namespaces/bar/queues/qux/authorizationRules/testpolicy1", "keys": {"key_name": "testpolicy1", "primary_connection_string": "Endpoint=sb://bar.servicebus.windows.net/; SharedAccessKeyName=testpolicy1;SharedAccessKey=XXXXXXXXXXXXXXXXX;EntityPath=qux", "primary_key": "XXXXXXXXXXXXXXXXX", "secondary_connection_string": "Endpoint=sb://bar.servicebus.windows.net/; SharedAccessKeyName=testpolicy1;SharedAccessKey=XXXXXXXXXXXXXXX;EntityPath=qux", "secondary_key": "XXXXXXXXXXXXXXX"}, "name": "testpolicy1", "rights": "listen_send", "type": "Microsoft.ServiceBus/Namespaces/Queues/AuthorizationRules"}}

service_bus_endpoint

字符串

可用于执行服务总线操作的终结点。

返回: 始终

示例: "https://bar.servicebus.windows.net:443/"

size_in_bytes

整数

queuetopic 的大小,以字节为单位。

返回: 始终

示例: 0

sku

字符串

命名空间的 SKU 属性。

返回: 始终

示例: "Standard"

status

字符串

消息传递实体的状态。

返回: 始终

示例: "active"

subscription_count

整数

主题下的订阅数。

返回: 始终

示例: 1

support_ordering

布尔值

一个值,指示 topic 是否支持排序。

返回: 始终

示例: true

tags

字典

资源标签。

返回: 始终

示例: {"env": "sandbox"}

topic

字符串

订阅的主题名称。

返回: 始终

示例: "baz"

type

字符串

资源类型。

命名空间是所有消息组件的作用域容器。

队列使你可以存储消息,直到接收应用程序可以接收和处理它们。

主题和订阅在发布者和订阅者之间启用 1:n 的关系。

返回: 始终

示例: "Microsoft.ServiceBus/Namespaces/Topics"

updated_at

字符串

消息更新的确切时间。

返回: 始终

示例: "2019-01-25 02:46:55.543953+00:00"

作者

  • Yuwei Zhou (@yuwzho)