Logic Apps, ein Azure PaaS-Dienst, war GA im Juli 2016. Dieses Mal habe ich versucht, Slack nur mit den Grundfunktionen von Logic Apps zu benachrichtigen.
Auf der On-Premise-Seite ist Raspbian im Raspberry Pi 2 Model B installiert, das vom Unternehmen übrig geblieben ist. Dieses Mal verwende ich Python zum Senden an Azure Service Bus.
Azure verfügt über Logic Apps und Service Bus zum Austausch von Nachrichten.
Für Logik-Apps können Sie Twitter, Slack usw. als Benachrichtigungsziel für soziale Netzwerke auswählen. Diesmal habe ich jedoch Slack ausgewählt.
Python ist bereits in Rapbian installiert, und der Befehl pip zum Hinzufügen verschiedener Module ist ebenfalls enthalten. Anschließend können Sie den folgenden Befehl eingeben, um die Verwendung des Azure SDK vorzubereiten.
$ sudo pip install azure
Mit dem obigen Befehl wird das Azure SDK für Python installiert und verwendet.
Erstellen Sie schnell über den Portalbildschirm. In letzter Zeit ist es in den Regionen Ostjapan und Westjapan erhältlich.
Dies wird auch schnell über den Portalbildschirm erstellt. Da der Preisplan zu Überprüfungszwecken dient, wurden der billigste Basic und die Region in Ostjapan erstellt.
Der Name der Warteschlange lautet pythontest, und die anderen Elemente dienen zu Überprüfungszwecken. Erstellen Sie sie daher mit den Standardeinstellungen.
Legen Sie die Richtlinien für den gemeinsamen Zugriff für die erstellte Warteschlange fest. Gewährt dem Warteschlangennamen "Benutzer" Berechtigungen zum Senden und Durchsuchen der Warteschlange.
Notieren Sie sich den Inhalt des Richtliniennamens (Benutzers) und des PRIMARY KEY der erstellten Richtlinien für den gemeinsamen Zugriff, da diese auf der Python-Seite in den Code eingebettet werden. Der Inhalt von CONNECTION STRING-PRIMARY KEY wird auf der Seite von Logic Apps benötigt. Notieren Sie sich diese ebenfalls.
Wenn Sie in Logic Apps bereitstellen und zum ersten Mal auf "Bearbeiten" klicken, wird der Logic Apps Designer geöffnet. Wählen Sie diesmal "Leere Logik-App". Da der Designer-Bildschirm geöffnet wird, setzen Sie zuerst den Auslöser für die Service Bus-Warteschlange. Wählen Sie "Service Bus - Wenn eine Nachricht in einer Warteschlange empfangen wird" und wählen Sie den entsprechenden Verbindungsnamen. Geben Sie für die Verbindungszeichenfolge die CONNECTION STRING des zuvor erstellten Sercice Bus ein, schließen Sie jedoch den "Entity Path" am Ende der Elemente in diesem CONNECTION STARING aus. (Nur Endpunkt, ShareAccessKeyName, SharedAccessKey einschließen)
Geben Sie als Nächstes den Namen der in Service Bus erstellten Warteschlange unter "Warteschlangenname" ein und stellen Sie die Häufigkeit und das Intervall entsprechend ein.
Fügen Sie dann eine Aktion hinzu. Klicken Sie unter "+ Neuer Schritt" auf "Aktion hinzufügen".
Wenn Sie Slack auswählen, wird es hinzugefügt.
Wenn Sie sich danach bei Slack anmelden, können Sie den Namen des Kanals eingeben, der bei Slack gepostet werden soll, und die Nachricht, die gepostet werden soll. Dieses Mal verwenden wir im Feld MESSAGE TEXT einfach den vom Service Bus gesendeten Inhalt vom Bildschirm aus so wie er ist.
Vergessen Sie nicht zu "speichern".
Dies ist ein Beispielprogramm auf der sendenden Seite. Geben Sie den Namen des erstellten Servicebusses in service_namespace ein. Fügen Sie für share_access_key_name und shared_access_key_value den Inhalt des Richtliniennamens und des PRIMARY KEY ein, die Sie zuvor notiert haben. Das erste Argument von bus_service.send_event legt den Namen der zuvor erstellten Warteschlange fest (Python-Test).
sender.py
# -*- coding: utf-8 -*-
import json
from azure.servicebus import ServiceBusService, Message, Queue
if __name__ == '__main__':
bus_service = ServiceBusService(
service_namespace='ktkrqiitatest',
shared_access_key_name='user',
shared_access_key_value='XXXXXXXXXXXXXXXXXXXXXXXXXX')
msg = Message('Hello! World')
bus_service.send_event('pythontest', msg)
Lassen Sie uns nun das Python-Skript ausführen.
$ python sender.py
Vergewissern Sie sich, dass es auf dem Portalbildschirm normal ausgeführt wurde.
Ich habe auch eine Benachrichtigung von BOT auf Slacks # logicappstest-Kanal erhalten!
Dieses Mal habe ich versucht, Azure Logic Apps mit einem sehr einfachen Mechanismus zu verwenden, aber die Azure-Seite wurde nur mit UI-Vorgängen abgeschlossen. Wenn Sie aufwendige Zweige oder Aktionen erstellen möchten, müssen Sie den JSON-Code direkt bearbeiten, aber ich würde es gerne zu einem anderen Zeitpunkt versuchen.
Recommended Posts