Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Ansible 2.8 (ou posterior) é necessário para executar os guias estratégicos de exemplo neste artigo.
O Barramento de Serviço do Azure é um agente de mensagens de integração empresarial. O barramento de serviço é compatível com dois tipos de comunicação: filas e tópicos.
As filas dão suporte a comunicações assíncronas entre aplicativos. Um aplicativo envia mensagens para uma fila, que armazena as mensagens. Em seguida, o aplicativo receptor se conecta e lê as mensagens da fila.
Os tópicos dão suporte ao padrão publicar-assinar, que habilita uma relação um-para-muitos entre o originador da mensagem e o(s) receptor(es) da mensagem.
Neste artigo, você aprenderá a:
- Criar uma fila
- Criar uma política de SAS
- Recuperar informações do namespace
- Recuperar informações da fila
- Revogar a política de 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.
Instalar o Ansible: execute uma das seguintes opções:
- Instalar e configurar Ansible em uma máquina virtual linux
- configurar o Azure Cloud Shell e, se você não tiver acesso a uma máquina virtual linux, criar uma máquina virtual com o Ansible.
Criar a fila do Service Bus
O código do guia estratégico de exemplo cria os seguintes recursos:
- Grupo de recursos do Azure
- O namespace do Barramento de Serviço no grupo de recursos
- Fila do Barramento de Serviço com o namespace
Salve o guia estratégico a seguir 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
Executar o guia estratégico usando ansible-playbook
ansible-playbook servicebus_queue.yml
Criar a política de SAS
Uma SAS (Assinatura de Acesso Compartilhado) é um mecanismo de autorização baseado em declarações usando tokens.
O código do guia estratégico de exemplo cria duas políticas de SAS para uma fila do Barramento de Serviço com privilégios diferentes.
Salve o guia estratégico a seguir 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 guia estratégico, confira as seguintes anotações:
- O valor
rightsrepresenta o privilégio que um usuário tem com a fila. Especifique um dos seguintes valores:manage,listen,sendoulisten_send.
Executar o guia estratégico usando ansible-playbook
ansible-playbook servicebus_queue_policy.yml
Recuperar informações do namespace
O código do guia estratégico de exemplo consulta as informações do namespace.
Salve o guia estratégico a seguir 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 guia estratégico, confira as seguintes anotações:
- O valor
show_sas_policiesindica se as políticas SAS devem ser mostradas no namespace especificado. Por padrão, o valor éFalsepara evitar sobrecarga de rede adicional.
Executar o guia estratégico usando ansible-playbook
ansible-playbook servicebus_namespace_info.yml
Recuperar informações da fila
O código do guia estratégico de exemplo consulta as informações de fila.
Salve o guia estratégico a seguir 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 guia estratégico, confira as seguintes anotações:
- O valor
show_sas_policiesindica se as políticas SAS devem ser mostradas na fila especificada. Por padrão, esse valor é definido comoFalsepara evitar sobrecarga de rede adicional.
Executar o guia estratégico usando ansible-playbook
ansible-playbook servicebus_queue_info.yml
Revogar a política de SAS de fila
O código do guia estratégico de exemplo exclui uma política de SAS de fila.
Salve o guia estratégico a seguir 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
Executar o guia estratégico usando ansible-playbook
ansible-playbook servicebus_queue_policy_delete.yml
Limpar 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
Executar o guia estratégico usando ansible-playbook
ansible-playbook cleanup.yml