デュラブってる?(激寒)
◆前史(飛ばしてよし)
AzureでFunctionを実行したい時に使えるのがAzure Functionsです。
FunctionっていうのはつまりC#だので書くサーバー処理の話だ。多分。そのFunctionはバッチ処理をしたりとかファイルを生成したりメールを送ったりとかする(小学生並みの説明)
Functionのなにが凄いかっていうと、普段は寝てるのに処理を走らせたいときだけ起きてくれる。つまり、インスタンスをずっと起こしておく必要がなくなるわけで、正しく使えばお金の節約ができる。(App Serviceの上にFunctionを配置することで、不眠なFunctionを作ることもできるよ。App Serviceの負荷が小さい時間帯にリソースを有効活用できたりするし、10分の処理時間制限が撤廃されたりするよ。)
Functionは何らかのきっかけをトリガして動く。トリガできるイベントは
とかだ。さまざまだ。
でね?例えば
「Blobに配置されたCSVを加工してSQL DatabaseにINSERT」
した後に
「そのデータを元に集計バッチ処理を走らせる」
ってことをしたくなるのが男のサガじゃないですか。
しかし、それをFunction一本糞にしてしまうのはおかしい。単一責任の原則とかでね。それゆえ、Functionは2つになる。