Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
K spuštění ukázkových playbooků v tomto článku se vyžaduje Ansible 2.8 (nebo novější).
Azure Service Bus je zprostředkovatel zpráv podnikové integrace . Service Bus podporuje dva typy komunikace: fronty a témata.
Fronty podporují asynchronní komunikaci mezi aplikacemi. Aplikace odesílá zprávy do fronty, do které se zprávy ukládají. Nejprve se přijímající aplikace připojí ke frontě a poté přečte zprávy.
Témata podporují model publikování a odběru, který umožňuje vztah 1:N mezi původcem zprávy a příjemcem zpráv.
V tomto článku se naučíte:
- Vytvořte frontu
- Vytvořte zásadu SAS
- Načíst informace o oboru názvů
- Načtení informací o frontě
- Zrušte zásady SAS fronty
Požadavky
- Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
Nainstalujte Ansible: Proveďte jednu z následujících možností:
- Instalace a konfigurace Ansible na virtuálním počítači s Linuxem
- Nakonfigurujte Azure Cloud Shell a – pokud nemáte přístup k virtuálnímu počítači s Linuxem – vytvořte virtuální počítač pomocí Ansible.
Vytvoření fronty služby Service Bus
Ukázkový kód playbooku vytvoří následující prostředky:
- Skupina zdrojů Azure
- Obor názvů "Service Bus" v rámci skupiny prostředků
- Fronta služby Service Bus s oborem názvů
Uložte následující playbook jako 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
Spusťte playbook pomocí ansible-playbook
ansible-playbook servicebus_queue.yml
Vytvoření zásady SAS
Sdílený přístupový podpis (SAS) je mechanismus autorizace na základě deklarací identity pomocí tokenů.
Ukázkový kód playbooku vytvoří dvě zásady SAS pro frontu Service Bus s různými oprávněními.
Uložte následující playbook jako 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
Před spuštěním playbooku si přečtěte následující poznámky:
- Hodnota
rightspředstavuje privilegium, které má uživatel ve frontě. Zadejte jednu z následujících hodnot:manage,listen,sendnebolisten_send.
Spusťte playbook pomocí ansible-playbook
ansible-playbook servicebus_queue_policy.yml
Načtení informací o oboru názvů
Vzorový kód playbooku dotazuje se na informace o namespace.
Uložte následující playbook jako 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
Před spuštěním playbooku si přečtěte následující poznámky:
- Hodnota
show_sas_policiesurčuje, zda se mají zobrazit zásady SAS v zadaném oboru názvů. Ve výchozím nastavení je hodnotaFalse, aby se zabránilo další síťové režii.
Spusťte playbook pomocí ansible-playbook
ansible-playbook servicebus_namespace_info.yml
Načtení informací o frontě
Ukázkový playbookový kód dotazuje informace o frontě.
Uložte následující playbook jako 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
Před spuštěním playbooku si přečtěte následující poznámky:
- Hodnota
show_sas_policiesurčuje, jestli se mají zobrazit zásady SAS v zadané frontě. Ve výchozím nastavení je tato hodnota nastavena naFalse, aby se předešlo dalším síťovým režijním nákladům.
Spusťte playbook pomocí ansible-playbook
ansible-playbook servicebus_queue_info.yml
Zrušit zásadu SAS pro frontu
Ukázkový kód skriptu pro playbook odstraní zásadu SAS fronty.
Uložte následující playbook jako 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
Spusťte playbook pomocí ansible-playbook
ansible-playbook servicebus_queue_policy_delete.yml
Vyčistěte zdroje
Pokud už prostředky vytvořené v tomto článku nepotřebujete, odstraňte je.
Uložte následující kód jako 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
Spusťte playbook pomocí ansible-playbook
ansible-playbook cleanup.yml