DurableFunctions를 사용해보십시오

이번 목적



DurableFunctions의 사용법을 이해한다.

  • DurableFunctions 개요 에 기재되어 있는 "패턴 #1: 함수 체인"의 움직이는 샘플을 만들어 보자.

  • 검증 전제



    간극 시간을 이용하여 기술 검증 등을 실시하기 위해 머신에 의존하지 않고 작업을 할 수 있도록 브라우저 전용으로 실시 가능한 내용으로 하고 있다.
    (브라우저 온리로의 개발에 고집중 - 8월 하순에 입수 예정의 Surface Go에서 빈 시간을 유효 이용할 수 있으면…라고 몽상중)

    소재



    AWS Lambda의 설정 화면상에서만 구현을 계속해, 장대해져 버린 Line Bot의 처리(Node.js)를 분할해 DurableFunctions를 이용해 순차 처리하도록 한다.
    AWS Lambda에서 Azure Functions로의 마이그레이션은 완료됨
  • DurableFunctions를 이용하면, 처리를 비동기로 의뢰한 후에, 처리의 스테이터스를 문의할 수도 있지만, 이번은 행하지 않는다.

  • 개인적인 결론(감상)



    이해를 깊게 해 나가면, 사용지가 여러가지 있을 것 같다.
    DurableFunctions 개요 에 기재되어 있는 각 패턴에 대해 이해해, 사용 장소를 찾아내고 싶다.

    주의점



    현시점(2018/08/05)에서는 하기 제한이 있다.
  • 브라우저 상에서의 개발에서는 언어는 C# 밖에 선택할 수 없다.
  • Function App을 만들 때 런타임 버전에서 beta를 선택해야합니다.

  • 시도한 단계



    아래의 순서로 Line Bot에서 호출할 수 있는 물건을 작성.
  • Function App 만들기
  • 런타임 버전에서 "베타"를 선택합니다.
  • 그 외는 디폴트치를 선택.



  • 함수 만들기
  • 「Durable Functions HTTP starter」 「Durable Functions orchestrator」 「Durable Functions activity」를 각각 생성한다.
  • 생성한 「Durable Functions HTTP starter」의 편집 화면에서 "함수의 URL의 취득"을 선택해 처리를 호출하기 위한 URL을 확인한다.



  • Curl등에서 상기 URL을 호출하는 것으로 「Durable Functions activity」를 호출할 수 있는 것을 확인.


    functionName 부분에는 「Durable Functions orchestrator」의 명칭(예: HelloSequence)을 지정.



  • Line Bot에서 만든 함수를 호출합니다.
  • 파라미터는 Post 파라미터로서 건네줄 수가 있습니다.
  • 「Durable Functions HTTP starter」Run 메소드의 파라미터 "HttpRequestMessage req"로부터 취득 가능.


  • 상기까지 할 수 있으면, 후에는 원래의 처리를 C#화하면서 복수의 「Durable Functions activity」로서 분할해 간다.

    참고로 한 기사 : LineSimulator를 이용하여 Durable Functions로 롱런인 LineBot를 로컬 환경 섞어 만들어 보자
    이 기사를 참고로 하면, 처리를 비동기로 의뢰한 후에, 처리의 스테이터스를 문의하는 것이 가능.

    좋은 웹페이지 즐겨찾기