#author("2020-07-12T12:22:46+00:00","","")
#mynavi(Azureメモ)
#setlinebreak(on);

* 目次 [#ncbd6030]
#contents
- 関連
-- [[Azureメモ]]
-- [[Go言語]]
-- [[AWS SDK for Go を使ってみる]]
-- [[GoでWebAPIサーバを書いてみる]]
- 参考
-- [[Azure Functions でサポートされている言語:https://docs.microsoft.com/ja-jp/azure/azure-functions/supported-languages]]
-- [[Azure Functions のカスタム ハンドラー:https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-custom-handlers]]
-- [[Go を使用して BLOB をアップロード、ダウンロード、および一覧表示する:https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-go?tabs=linux]]
-- https://github.com/Azure/azure-sdk-for-go
-- https://github.com/azure/azure-storage-blob-go/

* 概要 [#daae4a2b]
#html(<div class="pl10">)
Azure Functions で Goはサポートされていない。( [[Azure Functions でサポートされている言語:https://docs.microsoft.com/ja-jp/azure/azure-functions/supported-languages]] )
・・が、[[カスタム ハンドラー:https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-custom-handlers]]を使用する事によって、サポート外の言語でも Azure Functions として利用する事ができる。
ここでは、カスタムハンドラーを使用して Go で実装した Azure Functions を動作させる方法について記載する。
#html(</div>)

* カスタムハンドラーの仕組み [#o7a63c51]
#html(<div class="pl10">)
カスタムハンドラーは軽量のWebサーバとして動作するもので、Functions Host と Web通信する事により動作する。
※ https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-custom-handlers#overview

#html(<div class="ib" style="vertical-align: middle">)
| &br;トリガー&br;&br;|
#html(</div>)
#html(<div class="ib pt06 pl08 pr08" style="vertical-align: top">ーー リクエスト ーー&gt;<br />&lt;ーー レスポンス ーー</div>)
#html(<div class="ib" style="vertical-align: top">)
| &br;Functions Host&br;&br; |
#html(</div>)
#html(<div class="ib pt06 pl08 pr08" style="vertical-align: top">ーー Webリクエスト ーー&gt;<br />&lt;ーー Webレスポンス ーー</div>)
#html(<div class="ib" style="vertical-align: top">)
| &br;カスタムハンドラー&br;&br; |h
#html(</div>)
つまり、Webサーバがかける言語であれば何でも動く。

#html(</div>)

* 構築するFunctionsの仕様 [#d37ba3b6]
#html(<div class="pl10">)

以下の処理を行う関数を作成する。

#TODO
- Blobストレージの画像ファイルが追加/変更された際にトリガーされる
- 追加/変更されたファイルのサムネイルを作成し、同じBlobストレージに格納する

#html(</div>)

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS