Durable FunctionsをAzure上で実行してみる

投稿者: | 2017年8月6日

Durable FunctionsをAzure上に展開して実行してみたので試した内容を記載していきたいと思います。

ローカルで実行した内容については下記のシリーズを参照してください。

Azure Durable Functionsの「Function Chaining」を試してみた
Azure Durable FunctionsのFunctions Chainingを試してみたので記載していきます。試した内容はDurable Fuctionsの公式にサイトにあるSamplesとWalkthrouthsの内容です...

 

Azure Durable Functionsの「Fan-In/Fan-Out」を試してみた
Azure Durable FunctionsのFunctions Fan-In/Fan-Outを試してみたので記載していきます。試した内容はDurable Fuctionsの公式にサイトにあるSamplesとWalkthrouthsの内...

 

Azure Durable Functionsの「Lightweight Actor」を試してみた
Azure Durable FunctionsのLightweight Actorを試してみたので記載していきます。試した内容はDurable Fuctionsの公式にサイトにあるSamplesとWalkthrouthsの内容です。...

 

Azure Durable Functionsの「 Human interaction and timeouts」を試してみた
Azure Durable FunctionsのHuman interaction and timeoutsを試してみたので記載していきます。試した内容はDurable Fuctionsの公式にサイトにあるSamplesとWalkthrouth...

 

※本記事は2017年8月5日時点の情報となります。

 

環境構築編

環境構築の手順は下記の「Deploying the Durable Task Binding Extension in Azure」に記載があります。

 

実際に手順を追っていきましょう。

1、AzureFuntionを作成してFunctionsのPortalを開きます。

2、KuduConsoleを起動します。

 

3、DebugConsoleをクリックしてCMDを選択します 。

 

4、 DurableFunctionsBinding.zip をダウンロードしてzipファイルのままKUDUの画面にドラッグ&ドロップします。

 

アップロードが完了したらFunctionsのPortalに戻りましょう。FunctionsにサンプルソースのFunctionが作成されていれば成功です。

次にアプリケーション設定に設定を追加します。

 

5、アプリケーション設定を開きます。

 

6、アプリケーション設定に下記の情報を追加します。

キー:「AzureWebJobs_ExtensionsPath」

値 :「D:\home\BindingExtensions」

※保存ボタンを押し忘れないようにしましょう。

 

これで環境構築は完了です。

 

実践編

サンプルの実行はローカル実行の時と同じくポストマンを利用します。基本的にはポストマンで指定のURLを指定の形式で叩いていけば試すことが可能です。実行用のURLを下記にまとめておきます。

■ E1_HelloSequence


E1_HelloSequenceAPI実行用URL

POST形式

http://{host}/orchestrators/E1_HelloSequence

 

状況確認APIのURL

GET形式

http://{hsot}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}?taskHub=DurableFunctionsHub&connection=Storage

 

■ E2_BackupSiteContent


E2_BackupSiteContentAPI実行用URL

POST形式

http://{host}/orchestrators/E2_BackupSiteContent

ヘッダーに下記を追加
Content-Type: application/json

BodyのRawに下記を追加

“D:\\home\\LogFiles”

 

状況確認APIのURL

GET形式

http://{hsot}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}?taskHub=DurableFunctionsHub&connection=Storage

 

■ E3_Counter


E3_CounterAPI実行用URL

POST形式

http://{host}/orchestrators/E3_Counter

ヘッダーに下記を追加
Content-Type: application/json

 

カウントアップ・ダウン用のURL

POST形式

http://{host}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}/raiseEvent/operation?taskHub=DurableFunctionsHub&connection=Storage

ヘッダーに下記を追加
Content-Type: application/json

カウントアップする場合はBodyのRawに下記を追加

“incr”

カウントダウンする場合はBodyのRawに下記を追加

“decr”

処理を終了する場合はBodyのRawに下記を追加

“end”

 

状況確認APIのURL

GET形式

http://{hsot}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}?taskHub=DurableFunctionsHub&connection=Storage

 

■ E4_SmsPhoneVerification


TwilioのアクセスKEYの設定が必要になります。function.jsonに設定してください。

 

E4_SmsPhoneVerificationAPI実行用URL

POST形式

http://{host}/orchestrators/E4_SmsPhoneVerification

 

認証用APIのURL

POST形式

http://{host}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}/raiseEvent/SmsChallengeResponse?taskHub=DurableFunctionsHub&connection=Storage

ヘッダーに下記を追加
Content-Type: application/json

処理を終了する場合はBodyのRawに下記を追加

“認証番号”

 

状況確認APIのURL

GET形式

http://{host}/admin/extensions/DurableTaskConfiguration/instances/{動的に変更される値}?taskHub=DurableFunctionsHub&connection=Storage

 

基本的には実行用APIで返却されるURL群を順にたたいていけば実行は可能です。プログラムに関してはローカル実行時のソースと比べると見やすくなっていると思います。

実際に試す分にはローカル実行よりもやりやすいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA