azure.azcollection.azure_rm_servicebus_info 模块 – 获取 Service Bus 事实

注意

此模块是 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 中的新增功能

概要

  • 获取特定 Service Bus 或资源组或订阅中的所有 Service Bus 的事实。

要求

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

  • 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(如果存在多个),否则使用默认的 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

字符串

将结果限制为特定的 Service Bus。

namespace

字符串

Service Bus 命名空间名称。

命名空间是所有消息组件的范围容器。

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

当 *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

列表 / 元素=字符串

通过提供标签列表来限制结果。标签格式为“键”或“键:值”。

tenant

字符串

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

thumbprint

字符串

azure.azcollection 1.14.0 版本中添加

x509_certificate_path 中指定的私钥的指纹。

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

如果定义了 x509_certificate_path,则需要此参数。

topic

字符串

主题名称。

type=subscription 时需要。

type

字符串 / 必需

资源的类型。

选项

  • "namespace"

  • "queue"

  • "topic"

  • "subscription"

x509_certificate_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

复杂

Service Bus 字典列表。

返回:始终

accessed_at

字符串

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

返回:始终

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

auto_delete_on_idle_in_seconds

整数

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

最短持续时间为 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 默认消息生存时间值。

这是消息从发送到 Service Bus 开始后过期的时间长度。

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

返回:始终

示例: 0

duplicate_detection_time_in_seconds

整数

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

返回:始终

示例: 600

enable_batched_operations

布尔值

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

返回:始终

示例: true

enable_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

整数

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

列表 / 元素=字符串

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

字符串

用于执行 Service Bus 操作的端点。

返回:始终

示例: "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"

作者

  • 周宇威 (@yuwzho)