LoginSignup
1
0

はじめに

こんにちはあるいはこんばんは。Azure Functionsを活用されていますでしょうか。
Azure Functionsを開発中、ちょっと動作を試したい、または開発環境や検証環境で疎通テストしたい場合があるかと思います。
こういった場合に、Azure Functionsを簡単にデプロイする方法がいくつかあります。今回はその一部をまとめてみました。

共通の前準備 関数アプリ作成

AzureポータルからAzure Functionsを作成します。
Azureポータルでは名称が「関数アプリ」(Azure Functionsでない)となっていますので、リソース検索の際ご注意ください。

関数アプリ > 右上の「+作成」

以降、以下前提で説明をいたします。

  • ランタイムスタック:Python
  • 関数アプリ名:example-func
  • Windows 10 Pro 22H2

デプロイ方法1:Azureポータル

Azureポータルで先ほど作成した関数アプリに移動し、「Azure portalで作成」を選択。
開発環境を「ポータルでの開発」とすると、webブラウザ上でデプロイまでできます。
Azureポータルを使う方法は非常に簡単ですが、一つデメリットがあります。
"Azure portal でのサードパーティの依存関係の追加は、現在、Linux 従量課金プラン関数アプリではサポートされていません。"

よって、pythonの標準ライブラリ以外を使いたい場合、デプロイ方法2以降になります。

デプロイ方法2:Visual Studio Code

もっとも一般的と思われる、Visual Studio Code(VSCode)を使う方法です。
Visual Studio Code 用 Azure Functions 拡張機能 のインストールが必要です。
具体的なデプロイ方法は、以下URLをご参照ください。
GUI操作が多くていいですね。

pythonのプロジェクトを作成すると、.venvとrequirement.txtも作成されます。
VSCode下方のTERMINALなどで、プロジェクトを作成したディレクトリに移動し、.venvを適用しておきましょう。

cd <プロジェクトを作成したディレクトリ>
.venv\Scripts\activate

デプロイ方法3:Core Tools

Azure Functions Core Toolsをインストールし、コンソールでデプロイする方法です。
まず、functions用ディレクトリ作成し、pythonのvenv環境を作っておきましょう。

mkdir functions
cd functions

python venv設定をします。

python -m venv .venv
.venv\Scripts\activate

プロジェクト作成と、関数追加をします。

func init example-project --worker-runtime python
cd example-project
func new 

コードと、requirements.txtの整備ができたら、まず、requirements.txtの適用。

pip install -r requirements.txt
func azure functionapp fetch-app-settings example-func

ローカルで実行してみます。

..\.venv\Scripts\activate
func run --verbose

Azureにデプロイします。

func azure functionapp publish example-func

詳しくは以下をご覧ください。

まとめ

今回、Azure Functionsを簡単にデプロイする方法をまとめてみました。
ふだんVSCodeをつかっている方は、VSCodeでデプロイ。VSCode以外の開発環境を使っている方は、Core Toolsでデプロイが可能です。


  • Microsoft Azure は,Microsoft Corporation の商標または登録商標です。
  • その他、本資料に記述してある会社名、製品名は、各社の登録商品または商標です。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0