Azure Functions

Azure Functions の HTTP トリガー以外のトリガーを手動で実行する

タイマートリガーを手動で実行したいとか、そういう時の方法。 基本は下記ドキュメントに記載されている通り。 HTTP によってトリガーされない Azure Functions を手動で実行する | Microsoft Learn 例えばローカルデバッグ時に呼びたい場合は以下のように H…

Azure App Service のスロットのアプリ設定について

Web Apps や Functions ではスロット機能を利用することができるが、スロットでのアプリ設定周りで注意が必要そうな点について確認する。 スロット新規作成時の初期設定について Web Apps 初期設定としてコピーしたいアプリ設定のスロットを選択できる。未選…

Azure Functions HTTP トリガー呼び出し時のエラーリスト

レスポンスステータスコード メッセージ例 想定される Function の状態 401 "Unauthorized" 指定された関数認証用のキーが異なる 403 "This web app is stopped." ・Function 停止中・IP 制限 404 "Not Found" Function は稼働中だが URL 指定した関数が存在…

Azure App Service のスロットスワップ時の挙動について

Web Apps や Functions の本番運用では、リリース作業時に本番環境のダウンタイム、レスポンス遅延などを最小限に抑えるため、スロットのスワップ機能が利用できる。 スワップ機能を一言で説明すると、「prd スロットをあらかじめ最新化しておいた stg スロ…

Azure Functions の host.json 設定変更時の注意点

Azure Functions では Functions 自体の動作設定を一部 host.json ファイルで定義している。 例えば代表的な設定で言うと、functionTimeout による最大実行時間の定義がある。 この設定を変更することで、関数の最大実行時間を 30 分などに伸ばしたりするこ…

Azure Functions タイマートリガーの強制終了について

Azure Functions では一回の実行の最大実行時間に制限があり、従量課金プランだと最大で 10 分間実行可能となる。App Service プランであればこの制限はない。 そのため、タイマートリガーでのバッチ実行なども、10 分までであればプランによらず可能だし、A…

C# Functions v2 + Git Submodule + Pipeline デプロイ

VS2019 + C# Functions v2 on Windows + Azure Repos + Git Submodule + Azure Pipelines を使用して、新規 Functions アプリの作成、リポジトリ登録から、Pipelines を使ったデプロイまでの一連の手順についての説明。 リポジトリからのデプロイは最終的に…

アプリ固有の Application Insights メトリック送信から、ダッシュボード表示まで

前提 C# Function v2 アプリ。Application Insights nuget パッケージはインストール済み Azure ポータルで Application Insights とは連携済み アプリから固有のメトリックを Application Insights に送信し、Azure ポータルで結果を確認したい 手順 アプリ…

VS から Azure へ発行時、Could not find file エラーが発生する

Visual Studio から Azure 上の Functions リソースにプロジェクトを Web Deploy 発行する際、以下のようなエラーが発生することがある。 [出力] ウィンドウ 3>(2019/07/15 22:30:16) リモート コンピューターでの要求の処理中にエラーが発生しました。 3>Co…

Azure Storage Emulator が起動できない時の対応

Azure Storage Emulator は Azure Functions のローカル実行時などに利用される。 起動できない場合の原因や対処方法は色々とあると思うが、自分が遭遇した問題についての対処方法。 Azure Storage Emulator の仕組み Azure Storage Emulator は内部では MSS…

Azure Functions のタイマートリガーについて

関数を指定したスケジュールに従って実行するトリガー (Timer trigger for Azure Functions | Microsoft Docs) スケジュールは、CRON 式 (Azure Functions のタイマー トリガー | Microsoft Docs) で指定する。CRON 式の一番左のフィールドは分ではなく秒な…

Azure App Service で Azure PowerShell を使う

ちゃんと動作確認したのは Azure Functions だけど、基本的には Azure App Service の制限の話のはずなので、Web Apps とかでも考え方は同じはず。 Azure Functions で Automation 使用して .NET から Azure PowerShell を使う場合、考慮が必要なのは下記 3 …

Entity Framework 使用時の注意点とか

EF 側 EF を利用するプロジェクトと同じプロジェクトに EF を含めることも可能だが、xxx.DAL みたいな名前の専用プロジェクトを新規に作成して、そちらで管理した方が良いかも(お好きな方で) EF ライブラリは Nuget からインストールできる (Entity Framew…

Azure Functions で使用するログについて

Application Insights の使用 Azure Functions で使用するログとして一番簡単なのは、既定で使用可能な、Azure ストレージを使用する組み込みログ。 追加で必要な設定なども特に不要で、Azure ポータルからもすぐに確認できるので初めは便利だが、Azure ポー…

Azure App Service のレイヤー構成について

レイヤー構成図 赤枠は同一 App Service で 2 インスタンス使用している時の例 各レイヤーに関連する項目 スロット Azure ストレージ上の永続ストレージ (= デプロイしたアプリ) (d:\home) (スワップ対象) (*2) アプリ設定 (スワップ対象。スロット固定可) I…

Azure Functions インスタンスのライフタイム

正確には、Azure Functions 従量課金プランで HTTP トリガーを使用する場合に、プログラム実行されるインスタンスのライフタイム。 まず前提として、Azure Functions 従量課金プランでは、プログラムが実行されるインスタンスは常に実行可能な状態になってい…

Azure Functions のタイマートリガーが実行できない時の確認内容

Function App に追加したタイマートリガーを Azure ポータルから手動実行した際、「進捗状況: 404 Not Found」とだけ表示され、関数が実行されない時の確認内容。 Function App を Application Insights と連携させている場合は、AI に TimerSchedule の例外…

Azure Functions ホスティング プランの比較

基本については、大体以下のページに載ってる。 Azure Functions のスケールとホスティング Functions の価格 その上で、自分的に気になる点をまとめてみる。 まず、ホスティング プラン (= 料金プラン) の選択肢は、以下 2 つ 従量課金プラン (ドキュメント…

Azure Functions の各種トリガーの使い方とか

各種トリガーの使い方を簡単に説明。とは言っても、自分が使ったことがあるのが 2 種類しかないので、今の所それだけ。 HTTP トリガー 所謂、Web API, REST API とか呼ばれるやつ。HTTP でリクエストを受けて、レスポンスを返す GET, POST, PUT など任意のメ…

Visual Studio を使用した Azure Functions の始め方

Functions を作成する方法は、Azure ポータルを使ったり Visual Studio を使ったり、いくつかあるが、ここでは一番使われると思われる、Visual Studio を使用した始め方を簡単に記載する。 注:Visual Studio は、基本的に最新の状態で使うこと。Azure Funct…

Azure Functions で使用されるファイルのストレージについて

Functions にフォーカスしているが、基盤としている App Service も基本的な考え方は同じ。 App Service では用途によって、ファイルストレージが 2 種類用意されている。永続ファイル用と、一時ファイル用。 App Service は同一アプリ用のインスタンスが複…

Azure Functions (App Service) が使用する通信用 IP について

Azure Functions、と言うよりはその基盤となる App Service の仕組みになるが、通信に使用する IP が、1 つだけ使用するとかの単純な構成ではない。 まず、受信と送信で、別の口が用意されている。受信は 1 つで、送信は 4 つから 5 つの複数個用意されてい…

Azure Functions と他サービスとの組み合わせ

自分がこれまで使った組み合わせについて簡単に記載 注:以下は、App Service Environment (ASE) を使用しない、通常の環境を想定しています インターネットへのアクセス 特に問題なし ファイル 特に問題なし。App Service で実行する Web Apps などと同様の…

Azure Functions とは

Azure Functions とは Azure 上で、サーバーレスでプログラムを実行させることができるサービス サーバーレスとは言われてるけど、文字通りサーバー不要で動くというわけではもちろんなく、プログラムを動かす土台を Functions で提供しているので、開発者的…