M365関連

AzureFunctionをZipデプロイする

AzureFunctionをデプロイする方法としてVisualStudioから直接デプロイする方法とAzureFunction上でコードを実際に記載して、それをコピペで他の場所に持っていくぐらいしか知りませんでした
今回は以下のサイトを参考にVisualStudio上で開発したものをZipファイル化してデプロイする方法を紹介します

参考サイト
Azure App ServiceではFTPデプロイよりZipデプロイを使おう | cloud.config Tech Blog
Azure App ServiceではFTPデプロイよりZipデプロイを使おう | cloud.config Tech Blog

AzureエキスパートのFIXERによる技術ブログです。Azure、Microsoft系のソリューションについての最新情 ...

続きを読む

デプロイ用にコンパイルする

VisualStudioでAzureFunctionのプロジェクトを以下の設定で作成したものをデプロイします

設定項目名設定値
Function worker.Net 6.0
FunctionHttp trigger
ランタイム ストレージアカウントに Azureite を使用するはい(チェックあり)
Authorization levelFunction

「ツール」>「NuGetパッケージマネージャー」>「パッケージマネージャーコンソール」を選択します

VisualStudio上の下部にコンソールが出現するのでそこに下記コマンドを入力して実行します
使用するコマンドは用途によって適宜変えてください。コマンドについては以下のMSサイトを参考にしてください

dotnet publish -c Release -p:UseAppHost=false
MSサイト
.NET CLI を使用してアプリを公開する - .NET | Microsoft Learn
.NET CLI を使用してアプリを公開する - .NET | Microsoft Learn

.NET CLI コマンドを使用して .NET アプリケーションを公開する方法について説明します。

続きを読む

文字化けがありますが、問題なく「bin\Release\net6.0」配下に様々なファイルが作成されています(net6.0は作成したバージョンによって変わります)

Zipファイルを作成する

上記でビルドしたものをアップロードするために、Zipファイル化します
パッケージマネージャーコンソール上で以下のコマンドをそれぞれ実行します

cd .\bin\Release\net6.0
Compress-Archive -Path * -DestinationPath Deploy.zip

コマンドを実行すると「bin\Release\net6.0」配下に「Deploy.zip」というファイルが作成されているのでこれをアップロードしてデプロイします

AzureFunctionのデプロイサイトへ

あらかじめ関数アプリをAzure上で以下で作成しておきます

設定項目名設定値
関数アプリ名適宜変更してください
コードまたはコンテナーイメージをデプロイしますか?コード
ランタイムスタック.NET
バージョン6
地域JapanEast(個人によって変わると思います)
オペレーティングシステムWindows

Azure上から「AppService」>「対象となる関数アプリ」>「高度なツール」を選択し、「移動→」ボタンをクリックします

別タブで以下のWebサイトが開くのでURL欄の末尾に「/ZipDeployUI」を追加してEnterキーを押すと以下の画像のサイトに遷移します

AzureFunctionへデプロイする

先ほど作成したZipファイルを先ほどのサイトにアップロードします
以下の画像で赤枠で囲っているあたりにZipファイルを持っていくとアップロードできます

デプロイが正常に完了すると以下の画像のように「Deployment successful.」と表示されます

デプロイした内容を見てみる

デプロイ先とした関数アプリ上に関数が作成されていることが確認でき、Azure上の「コードとテスト」から問題なく実行できました

デプロイ時の注意点

VisualStudio上で作成した環境変数は反映されていないのでAzure上で再度作成する必要があるので注意が必要です

-M365関連
-, , , ,