Azure Logic Apps 사용

입문


Azure의 PaaS 서비스 Logic Apps는 2016년 7월에 정식으로 출시되었습니다.
이번에는 Logic Apps의 기본 기능만 사용하여 Slack에 알립니다.

프로비저닝



회사의 나머지 라즈베리 Pi2 모델 B에 라즈비안을 넣었다.
이번에는 Python을 사용하여 Azure Service Bus에 전송합니다.
Azure에는 Logic Apps 및 메시지 교환 서비스 Bus가 있습니다.
Logic Apps는 트위터와 Slack 등을 소셜 알림 주소로 선택할 수 있는데 이번에는 Slack을 선택했다.

파이썬 측의 준비.


rapbian은 이미 Python을 설치했고 각종 모듈을 추가하는 pip 명령도 있습니다. 그 다음에 다음 명령을 넣어서 Azure SDK를 사용할 준비를 하면 됩니다.
$ sudo pip install azure
위의 명령을 통해 Python용 Azure SDK가 설치되어 사용할 수 있습니다.

로그 응용 프로그램 만들기


포털 화면에서 빠르게 생성합니다.
최근에는 동일본, 서일본 지역에서도 사용할 수 있다.

서비스 버스 만들기


이것도 입구 화면에서 빠르게 만든 것이다.
가격 계획이 검증 목적이기 때문에 가장 싼 베이직은 동일본에서 제작됐다.

대기열 만들기


대기열의 이름은pythontest이고 다른 항목은 검증 목적이기 때문에 기본 상태를 유지합니다.

액세스 권한 설정


생성된 대기열에 대한 공유 활동 권한을 설정합니다.
정책 이름'사용자'에게 대기열을 보내고 탐색할 수 있는 권한을 부여합니다.

생성된 Shared access 정책의 "Policy name (user)"과 PRIMARY KEY 내용을 Python 측 코드에 삽입하기 위해 유지합니다.
Connection STRING-PRIMARY KEY의 내용은 Logic Apps 방면에서 필요하기 때문에 우리도 통제해야 한다.

Logic Apps의 논리적 제작


배포 후 Logic Apps의 "편집"을 누르면 Logic Apps 디자이너가 열기 때문에 이번에는 "빈 Logic App"을 선택합니다.
디자이너 화면이 열리기 때문에 우선 서비스 Bus Queue의 터치 설정이 있습니다.
"Service Bus-When a message is received in a queue"를 선택하면 연결 이름이 적당합니다.연결 문자열은 방금 만든 SerciceBus의 Connection String을 입력하지만, Connection Staring의 마지막 요소를 제외하고'Entity Path'입니다.
(끝점, ShareAccessKeyName 및 SharedAccessKey만 포함)

다음은 서비스 버스에 생성된 대기열의 이름을'대기열 이름'으로 하고 주파수와 간격을 적절하게 설정합니다.

그런 다음 작업을 추가합니다.
+ 새 단계에서 작업 추가를 클릭합니다.

Slack을 선택할 때 추가되었습니다.

그리고 Slack에 로그인한 후 Slack에 투고한 채널 이름과 투고한 메시지를 입력할 수 있습니다.
이번에 MESSAGE TEXT 표시줄은 화면에서 서비스 Bus에서 보낸 내용을 간단하게 사용할 것이다.

마지막으로'저장'을 잊지 마세요.

Python 보내기 측면


보내는 쪽의 프로그램 예시입니다.
service_namespace는 생성된 서비스 버스의 이름을 포함합니다.
share_access_key_name 및shared_access_key_value에 방금 저장한 Policy name과 PRIMARY KEY 내용을 붙여넣습니다.
bus_service.send_첫 번째 이벤트 매개 변수는 방금 만든 대기열의 이름을 설정합니다.
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)

실행 프로그램


이제 Python 스크립트를 실행해 보겠습니다.
$ python sender.py
포털 화면에서 성공적으로 실행되었는지 확인합니다.

잘 슬랙의 #logicappstest 채널도 BOT의 알림 메시지가 도착했습니다!

끝내다


이번에는 아주 간단한 구조로 Azure Logic Apps를 사용해 보았지만, Azure 측은 모두 UI 조작만 하면 완성되었다.
세련된 지점과 동작을 진행할 때 JSON 코드를 직접 편집해야 하지만 다른 기회에 다시 한번 시도해 보고 싶습니다.

좋은 웹페이지 즐겨찾기