Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Ansible 2.8 (ou posterior) é necessário para executar os playbooks de exemplo neste artigo.
O Barramento de Serviço do Azure é um broker de mensagens de integração empresarial. O barramento de serviço suporta dois tipos de comunicação: filas e tópicos.
As filas suportam comunicações assíncronas entre aplicativos. Um aplicativo envia mensagens para uma fila, que armazena as mensagens. Em seguida, o aplicativo recetor se conecta e lê as mensagens da fila.
Os tópicos suportam o padrão publish-subscribe, que permite uma relação um-para-muitos entre o publicador da mensagem e o(s) destinatário(s).
Neste artigo, você aprenderá a:
- Criar uma fila
- Criar uma política SAS
- Recuperar informações de namespace
- Recuperar informações da fila
- Revogar a política SAS de fila
Pré-requisitos
- Assinatura do Azure: se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Instale o Ansible: execute uma das seguintes opções:
- Instalar e configurar o Ansible em uma máquina virtual Linux
- Configure o Azure Cloud Shell e, se você não tiver acesso a uma máquina virtual Linux, crie uma máquina virtual com o Ansible.
Criar a fila do Service Bus
O código do playbook de exemplo cria os seguintes recursos:
- Grupo de recursos do Azure
- Namespace do Barramento de Serviço dentro do grupo de recursos
- Fila da Fila do Serviço com o namespace
Salve o seguinte playbook como servicebus_queue.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
location: eastus
namespace: servicebustestns
queue: servicebustestqueue
tasks:
- name: Ensure resource group exist
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create a namespace
azure_rm_servicebus:
name: "{{ namespace }}"
resource_group: "{{ resource_group }}"
- name: Create a queue
azure_rm_servicebusqueue:
name: "{{ queue }}"
namespace: "{{ namespace }}"
resource_group: "{{ resource_group }}"
register: queue
- debug:
var: queue
Execute o livro de estratégias usando ansible-playbook
ansible-playbook servicebus_queue.yml
Criar a política SAS
Uma Assinatura de Acesso Compartilhado (SAS) é um mecanismo de autorização baseado em declarações que usa tokens.
O código do playbook de exemplo cria duas políticas SAS para uma fila do Service Bus com privilégios diferentes.
Salve o seguinte playbook como servicebus_queue_policy.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
namespace: servicebustestns
queue: servicebustestqueue
tasks:
- name: Create a policy with send and listen privilege
azure_rm_servicebussaspolicy:
name: "{{ queue }}-policy"
queue: "{{ queue }}"
namespace: "{{ namespace }}"
resource_group: "{{ resource_group }}"
rights: listen_send
register: policy
- debug:
var: policy
Antes de executar o playbook, consulte as seguintes notas:
- O
rightsvalor representa o privilégio que um usuário tem com a fila. Especifique um dos seguintes valores:manage,listen,send, oulisten_send.
Execute o livro de estratégias usando ansible-playbook
ansible-playbook servicebus_queue_policy.yml
Recuperar informações de namespace
O código do playbook de exemplo consulta as informações do namespace.
Salve o seguinte playbook como servicebus_namespace_info.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
namespace: servicebustestns
tasks:
- name: Get a namespace's information
azure_rm_servicebus_facts:
type: namespace
name: "{{ namespace }}"
resource_group: "{{ resource_group }}"
show_sas_policies: yes
register: ns
- debug:
var: ns
Antes de executar o playbook, consulte as seguintes notas:
- O
show_sas_policiesvalor indica se as políticas SAS devem ser mostradas no namespace especificado. Por padrão, o valor éFalseevitar sobrecarga de rede adicional.
Execute o livro de estratégias usando ansible-playbook
ansible-playbook servicebus_namespace_info.yml
Recuperar informações da fila
O código de exemplo do playbook consulta informações da fila.
Salve o seguinte playbook como servicebus_queue_info.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
namespace: servicebustestns
queue: servicebustestqueue
tasks:
- name: Get a queue's information
azure_rm_servicebus_facts:
type: queue
name: "{{ queue }}"
namespace: "{{ namespace }}"
resource_group: "{{ resource_group }}"
show_sas_policies: yes
register: queue
- debug:
var: queue
Antes de executar o playbook, consulte as seguintes notas:
- O
show_sas_policiesvalor indica se as políticas SAS devem ser mostradas na fila especificada. Por padrão, esse valor é definido paraFalseevitar sobrecarga de rede adicional.
Execute o livro de estratégias usando ansible-playbook
ansible-playbook servicebus_queue_info.yml
Revogar a política SAS da fila
O código de exemplo do manual exclui uma política SAS de fila.
Salve o seguinte playbook como servicebus_queue_policy_delete.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
namespace: servicebustestns
queue: servicebustestqueue
tasks:
- name: Create a policy with send and listen privilege
azure_rm_servicebussaspolicy:
name: "{{ queue }}-policy"
queue: "{{ queue }}"
namespace: "{{ namespace }}"
resource_group: "{{ resource_group }}"
state: absent
Execute o livro de estratégias usando ansible-playbook
ansible-playbook servicebus_queue_policy_delete.yml
Limpeza de recursos
Quando não for mais necessário, exclua os recursos criados neste artigo.
Salve o seguinte código como cleanup.yml:
---
- hosts: localhost
vars:
resource_group: servicebustest
namespace: servicebustestns
queue: servicebustestqueue
tasks:
- name: Delete queue
azure_rm_servicebusqueue:
name: "{{ queue }}"
resource_group: "{{ resource_group }}"
namespace: "{{ namespace }}"
state: absent
- name: Delete namespace
azure_rm_servicebus:
name: "{{ namespace }}"
resource_group: "{{ resource_group }}"
state: absent
- name: Delete resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
state: absent
force_delete_nonempty: yes
Execute o livro de estratégias usando ansible-playbook
ansible-playbook cleanup.yml