SORACOM Beam의 HTTP 요청 헤더 정보를 Flow/Logic Apps로 처리하는 방법
소개
최근 SORACOM Beam 과 Microsoft Flow/Azure Logic Apps 에서 놀고 있어 @ko2a 입니다.
SORACOM Beam의 구성 옵션으로 IMSI 및 IMEI 장치를 HTTP 요청 헤더에 부여/사용하지 않도록 설정할 수 있습니다.이 정보를 Microsoft Flow/Azure Logic Apps 작업에서 사용하는 방법 정리합니다.
이렇게하면 장치 측에서 일부러 IMSI/IMEI를 얻는 번거 로움이 없어지고 데이터 양도 줄어들 수 있습니다.
검증 장비 / 환경
검증 구성
Wio LTE에서 SORACOM Beam으로 데이터를 보내고 SORACOM Beam을 Azure Logic Apps의 트리거로 시작하여 Microsoft Teams에 데이터를 POST하여 결과를 확인합니다.
Logic Apps의 흐름은 다음과 같습니다.
이번에는 액션의 [Message]를 조작합니다.
덧붙여 이번 사용한 디바이스의 처리에는, JSON 메세지에도 IMSI 와 IMEI 를 임베드해 보내고 있습니다만, 이번은 이쪽을 사용하지 않고, HTTP 리퀘스트 헤더의 값을 참조합니다.
SORACOM Beam 설정
헤더 조작의 [IMSI 헤더] [IMEI 헤더]를 ON으로 설정합니다.
Flow / Logic Apps 설정
트리거의 모든 정보 얻기
트리거의 출력 정보를 모두 취득하는 경우는, triggerOutputs() 를 사용합니다.
표현triggerOutputs()
출력 결과는 다음과 같습니다.
headers와 body의 내용도 둥근 보입니다.
User-Agent 및 Content-Type도 확인할 수 있습니다.
IMSI / IMEI 얻기
HTTP 요청 헤더의 정보는 triggerOutputs() 로 얻을 수 있는 것을 알았으므로, 후에는 대상의 정보를 선택하는 것만으로 OK 입니다.
표현concat('IMEI:', triggerOutputs()['headers']?['x-soracom-imei'], ' IMSI:', triggerOutputs()['headers']?['x-soracom-imsi'])
이 예에서는 concat() 으로 IMSI/IMEI 를 연결하여 Teams 에 POST 하고 있습니다.
결론
작년 Advent Calendar의 IFTTT 협력 때, Beam의 헤더로 올릴 수 있으니까 사용할 수 있으면 좋겠는데・・・라고 생각하고 있었습니다만, Microsoft Flow/Azure Logic Apps 라고 조금 만져서 취득으로 가는 것은 고맙습니다 .
또한 디바이스 측이든 이것 괴롭히지 않아도 필요에 따라 사용자 콘솔에서 설정을 바꿀 수 있으므로, 디바이스 측의 처리를 손질하지 않아도되는 것도 상당히 고맙습니다.
참고 자료
Azure Logic Apps : Get HTTP Request Header Key Value into Conditional Check
Parse headers returned from http action?
Reference
이 문제에 관하여(SORACOM Beam의 HTTP 요청 헤더 정보를 Flow/Logic Apps로 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ko2a/items/edb86aac54e337eca13f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
헤더 조작의 [IMSI 헤더] [IMEI 헤더]를 ON으로 설정합니다.
Flow / Logic Apps 설정
트리거의 모든 정보 얻기
트리거의 출력 정보를 모두 취득하는 경우는, triggerOutputs() 를 사용합니다.
표현triggerOutputs()
출력 결과는 다음과 같습니다.
headers와 body의 내용도 둥근 보입니다.
User-Agent 및 Content-Type도 확인할 수 있습니다.
IMSI / IMEI 얻기
HTTP 요청 헤더의 정보는 triggerOutputs() 로 얻을 수 있는 것을 알았으므로, 후에는 대상의 정보를 선택하는 것만으로 OK 입니다.
표현concat('IMEI:', triggerOutputs()['headers']?['x-soracom-imei'], ' IMSI:', triggerOutputs()['headers']?['x-soracom-imsi'])
이 예에서는 concat() 으로 IMSI/IMEI 를 연결하여 Teams 에 POST 하고 있습니다.
결론
작년 Advent Calendar의 IFTTT 협력 때, Beam의 헤더로 올릴 수 있으니까 사용할 수 있으면 좋겠는데・・・라고 생각하고 있었습니다만, Microsoft Flow/Azure Logic Apps 라고 조금 만져서 취득으로 가는 것은 고맙습니다 .
또한 디바이스 측이든 이것 괴롭히지 않아도 필요에 따라 사용자 콘솔에서 설정을 바꿀 수 있으므로, 디바이스 측의 처리를 손질하지 않아도되는 것도 상당히 고맙습니다.
참고 자료
Azure Logic Apps : Get HTTP Request Header Key Value into Conditional Check
Parse headers returned from http action?
Reference
이 문제에 관하여(SORACOM Beam의 HTTP 요청 헤더 정보를 Flow/Logic Apps로 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ko2a/items/edb86aac54e337eca13f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
triggerOutputs()
concat('IMEI:', triggerOutputs()['headers']?['x-soracom-imei'], ' IMSI:', triggerOutputs()['headers']?['x-soracom-imsi'])
작년 Advent Calendar의 IFTTT 협력 때, Beam의 헤더로 올릴 수 있으니까 사용할 수 있으면 좋겠는데・・・라고 생각하고 있었습니다만, Microsoft Flow/Azure Logic Apps 라고 조금 만져서 취득으로 가는 것은 고맙습니다 .
또한 디바이스 측이든 이것 괴롭히지 않아도 필요에 따라 사용자 콘솔에서 설정을 바꿀 수 있으므로, 디바이스 측의 처리를 손질하지 않아도되는 것도 상당히 고맙습니다.
참고 자료
Azure Logic Apps : Get HTTP Request Header Key Value into Conditional Check
Parse headers returned from http action?
Reference
이 문제에 관하여(SORACOM Beam의 HTTP 요청 헤더 정보를 Flow/Logic Apps로 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ko2a/items/edb86aac54e337eca13f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SORACOM Beam의 HTTP 요청 헤더 정보를 Flow/Logic Apps로 처리하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ko2a/items/edb86aac54e337eca13f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)