Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Ansible 2.8 (oder höher) ist erforderlich, um die Beispiel-Playbooks in diesem Artikel auszuführen.
Azure Service Bus ist ein Integrations-Nachrichten-Broker für Unternehmen. Service Bus unterstützt zwei Kommunikationstypen: Warteschlangen und Themen.
Warteschlangen unterstützen die asynchrone Kommunikation zwischen Anwendungen. Eine App sendet Nachrichten an eine Warteschlange, die die Nachrichten speichert. Die empfangende Anwendung stellt dann eine Verbindung zur Warteschlange her und liest die Nachrichten.
Themen unterstützen das Veröffentlichen-Abonnieren-Muster, das eine 1:n-Beziehung zwischen dem Absender der Nachricht und den Empfängern der Nachricht ermöglicht.
In diesem Artikel erfahren Sie, wie Sie:
- Warteschlange erstellen
- Erstellen einer SAS-Richtlinie
- Abrufen von Namespaceinformationen
- Abrufen von Warteschlangeninformationen
- Widerrufen der SAS-Richtlinie für die Warteschlange
Voraussetzungen
- Azure-Abonnement: Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Installieren Sie Ansible: Wählen Sie eine der folgenden Optionen:
- Ansible auf einer Linux-VM installieren und konfigurieren
- Azure Cloud Shell konfigurieren und – wenn Sie keinen Zugriff auf einen virtuellen Linux-Computer haben – einen virtuellen Computer mit ansibleerstellen.
Erstellen der Service Bus-Warteschlange
Mit dem Playbook-Beispielcode werden die folgenden Ressourcen erstellt:
- Azure-Ressourcengruppe
- Service Bus-Namespace in der Ressourcengruppe
- Service Bus-Warteschlange mit dem Namespace
Speichern Sie das folgende Playbook als 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
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook servicebus_queue.yml
Erstellen Sie die SAS-Richtlinie
Eine Shared Access Signature (SAS) ist ein anspruchsbasierter Autorisierungsmechanismus mit Token.
Der Beispielcode für das Playbook erstellt zwei SAS-Richtlinien für Service Bus-Warteschlange mit unterschiedlichen Berechtigungen.
Speichern Sie das folgende Playbook als 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
Beachten Sie vor dem Ausführen des Playbooks die folgenden Hinweise:
- Der
rights-Wert repräsentiert das Privileg eines Benutzers in Bezug auf die Warteschlange. Geben Sie einen der folgenden Werte an:manage,listen,sendoderlisten_send.
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook servicebus_queue_policy.yml
Abrufen von Namespaceinformationen
Der Beispielcode für das Playbook fragt die Namespaceinformationen ab.
Speichern Sie das folgende Playbook als 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
Beachten Sie vor dem Ausführen des Playbooks die folgenden Hinweise:
- Der wert
show_sas_policiesgibt an, ob die SAS-Richtlinien unter dem angegebenen Namespace angezeigt werden sollen. Standardmäßig ist der WertFalse, um zusätzlichen Netzwerkaufwand zu vermeiden.
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook servicebus_namespace_info.yml
Abrufen von Warteschlangeninformationen
Der Beispielcode für das Playbook fragt die Warteschlangeninformationen ab.
Speichern Sie das folgende Playbook als 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
Beachten Sie vor dem Ausführen des Playbooks die folgenden Hinweise:
- Der
show_sas_policies-Wert gibt an, ob die SAS-Richtlinien unter der angegebenen Warteschlange angezeigt werden. Standardmäßig ist dieser Wert aufFalsefestgelegt, um zusätzlichen Netzwerkaufwand zu vermeiden.
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook servicebus_queue_info.yml
Widerrufen der SAS-Richtlinie für die Warteschlange
Der Beispielcode für das Playbook löscht eine SAS-Richtlinie für die Warteschlange.
Speichern Sie das folgende Playbook als 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
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook servicebus_queue_policy_delete.yml
Bereinigen von Ressourcen
Wenn sie nicht mehr benötigt wird, löschen Sie die in diesem Artikel erstellten Ressourcen.
Speichern Sie den folgenden Code als 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
Führen Sie das Playbook mithilfe von ansible-playbook aus.
ansible-playbook cleanup.yml