仕事やプライベートで調べたことのメモ書きなど(@札幌)

仕事やプライベートで調べたこと、興味ある事のメモ書きです。2016年4月から札幌で働いてます。※このブログは個人によるもので、団体を代表するものではありません。

Azure FunctionsでPythonを使うメモ(Dockerイメージ編)

Azure FunctionsはAzureのサーバーレス環境。Dockerイメージを作りそれを実行するパターンでやります。投稿を書いている時点では、Pythonサポート自体もプレビューなので、さほど情報も多くないです・・。

基本的なところは以下のページを参考に。
docs.microsoft.com
ちなみに、私の環境にはDocker or Windowsを入れるところからだったのでそこそこ長い時間をかけました。

  • Windows 10をproにアップグレード
  • Docker for windowsをインストール (ネットワークの設定を修正しないと使えなかった) ※前の投稿参考
  • Azure系のツールをインストール ※パスを通すことを忘れない

venvの環境へプロジェクト作成

Azure functionsを作成する場合はvenv環境で実施する必要があります。
qiita.com

python -m venv venv
venv\Scripts\activate
func init MyFunc --docker
(pythonを選択)

Functionを作成

cd MyFunc
(venv) func new --name "HttpTriggerMyFunc" --template "HttpTrigger"
(venv) docker build --tag my_func .
docker run -p 8080:80 -it my_func

この状態でlocalhost:8080にアクセスしてみると以下の画面が表示されました!

f:id:takumats:20181207140203p:plain
dockerコンテナの起動
そして、apiである、http://localhost:8080/api/HttpTriggerMyFunc?name=Taro にアクセスすると、「Hello Taro!」と表示されましたよ。