Azure Functionsを用いたサーバーレスなTwitter botを開発してみた(その4、Pythonのバージョンを上げる)


これまでのお話

前回の記事はこちら。

開発当初、Python 3.7 で開発していたのですが、さすがに時代遅れになってきたので 3.9 にアップデートします。

ローカル開発環境のアップデート

Python 公式ページからダウンロード・インストール

Python の公式ページからインストーラをダウンロードしてインストールしてください。

今回は2022.3.21時点で 3.9 の最新である 3.9.11 をインストールしました。

Azure Functions は 3.10 系はまだ未サポートなので 3.9 系にしています。

Microsoft Store からのインストール

Microsoft Storeからもインストールできます。マイナーバージョンは指定できません。

Azure Functionsのアップデート

公式ページの手順に従って行います。

Azure CLI インストール

Azure Portal は Python のバージョンアップをサポートしていないようなので Azure CLI をインストールします。
こちらを参考にインストールします。

Azure CLI でのアップデート

まずはコンソールを立ち上げてログインします。次のコマンドを実行すると、Webブラウザ経由で Azure にログインします。

> az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.
...

後は公式の手順で実行するだけです。

linuxFxVersion を確認します。次のコマンドを実行したレスポンスの中に情報があります。私の環境では "linuxFxVersion": "PYTHON|3.7",でした。

> az functionapp config show --name <function_app> --resource-group <my_resource_group>

次のコマンドで更新します。今回はLINUX_FX_VERSIONpython|3.9にして実行しました。公式ページは小文字でpythonとしていたのでそれに倣っています。

az functionapp config set --name <FUNCTION_APP> --resource-group <RESOURCE_GROUP> --linux-fx-version <LINUX_FX_VERSION>

実行するとレスポンスが返ってきて、無事に"linuxFxVersion": "python|3.9",になっていました。

まとめ

地味な作業ですがサービスを運用していく上では大切なことだと思います。まだサービス運用前なのでワークフローにテストが入っていませんが、まじめにやるとそれなりに大変でしょうね。

今回は見送りましたが、 Azure Functions 自体のバージョンアップのやり方もまとめたいです。