Functions
.NET 8 の GA が 2 カ月後に迫ってきたこのタイミングで、Azure Functions での .NET 8 向けアップデートが本格的に発表され始めました。そろそろ .NET 6/7 で Isolated を利用しているケースではアップデートを検討しても良いでしょう。.NET 6 の In-Proces…
今年の 11 月にリリース予定の .NET 8 と同時に .NET 向け Azure Functions は、これまでの In-Process モデルから Isolated Worker Process というモデルに統一されるのですが、正直なところ完成度が低いのと In-Process からの移行を全く考慮していない SD…
Preview が公開されてから 1 年以上が経過しましたが、ようやく Azure Functions の Cosmos DB Extension v4 が正式リリースされました。信頼性とパフォーマンスが大幅に改善、更に機能が追加された Cosmos DB SDK v3 ベースになっているので、現在 Extensio…
しばらく前から Azure Functions で Event Hub Trigger と Timer Trigger 以外で Retry Policy を設定している場合に、以下のような警告が起動時に出るようになりました。 [2022-11-19T08:19:24.241Z] Soon retries will not be supported for function 'Fun…
Azure Functions の特徴として各サービスとのバインディングとトリガーの存在があります。Function の実装ではどのバインディングやトリガーを使っているかという情報を Function Host やスケーリングを担うサービスに伝える必要があり、そのためのメタデー…
個人的に GitHub で要望を挙げていた機能でもあるのですが、Static Web Apps の BYOF 機能が拡張されて Azure Functions 以外の API を持ち込めるようになりました。Azure Functions はシンプルなプログラミングモデルを持っているので、簡単な REST API で…
Azure には Docker Image を指定するだけで簡単に動かせるサービスがいくつかあり、その中でも Container Instances は非常に起動が早くてシンプルなので利用範囲が広いのですが、オーケストレーターが存在しないので並列処理のように複数立ち上げたい場合に…
先日 Twitter で以下のようなツイートが流れてきた時に、Azure Container Apps 上で Durable Functions を正しく実行できるのかを調べることを思い出したので一通り検証しました。ツイートで紹介されている Discussion にあるように、AKS であれば特に問題な…
最近は Visual Studio 2022 + C# 以外で Azure Functions を作成することが増えてきました。その場合は主に Visual Studio Code を使ってプロジェクト作成からデプロイまで行うのですが、Azure Functions を実行する OS とデプロイに利用する方法で若干挙動…
Azure Storage の Blob は大量のデータをスケーラブルかつ安く保存することに特化されているのと、実際には Data Lake Storage Gen 2 以外は名前空間を持っていないので、一般的なファイルシステムのように特定ディレクトリ以下のファイル数やサイズなどの情…
先月に .NET 6 と同時にリリースされた Azure Functions v4 では、ひっそりと Azure Functions Proxies が廃止されました。公式には API Management を使うように推奨されていますが、明らかに一部のユースケースしか見えておらず、廃止の理由を聞いても何も…
.NET 6 ではパフォーマンス向上のために Dynamic PGO という機能が JIT に追加されています。名前の通り PGO を実行時に行ってパフォーマンス向上に役立てるという機能で、Azure AD の Gateway では .NET 6 と Dynamic PGO を組み合わせることで CPU 使用率…
Visual Studio 2022 のローンチイベントで .NET 6 の GA と同時に Azure Functions v4 の GA が発表されました。これまでは .NET のリリースから遅れて対応するバージョンの Azure Functions がリリースされていましたが、今回は Day 0 サポートがアピールポ…
少し前に Azure Cosmos DB .NET SDK v2 が 2024 年 8 月 31 日で廃止されることが発表されました。これで API 設計がイケてない Microsoft.Azure.DocumentDB 関連のパッケージがついに廃止されます。移行先となる Microsoft.Azure.Cosmos は十分な実績があり…
先日 Azure App Service のゾーン冗長対応を確認していた時に気が付いたのですが Regional VNET Integration を Azure Portal から設定すると、デフォルトで App Service からの Outbound トラフィック全てを VNET にルーティングする設定が有効になっていま…
これまで App Service Environment は Availability Zones に対応していましたが、ついにマルチテナント型の App Service でも Availability Zones に対応しました。これで複数のゾーンに分散してアプリケーションをデプロイすることで、マルチリージョンよ…
これまで Azure Storage (Queue / Table) が使われてきた Durable Functions の Storage Provider ですが、今年に入ってからパフォーマンス重視の Netherite とポータビリティ重視の MS SQL が公開されています。Azure Functions 上で動かす場合には MS SQL …
App Service / Azure Functions のシークレットを安全に扱う際に利用する Key Vault Reference が User Assigned Managed Identity に対応しつつ、Linux 周りであった色々な制限が削除されたのと同時に、突然 Run From Package でも Managed Identity が使え…
Azure Functions の Linux では標準で用意されている Docker Image をベースにして、独自に必要なパッケージをインストールして実行環境をカスタマイズ出来るようになっています。ドキュメントでは Custom Image と呼ばれていますが、Azure Portal から Azur…
Azure Functions で TimerTrigger を使って特定の時間に起動される処理が増えると、それらはほぼ同時に実行されるため外部 API の呼び出し時にスロットリングが発生しやすくなります。特に Azure Functions は同一 Stamp に載っていると Outbound IP が被り…
Azure Functions は C# と Node.js を使う場合には開発環境をサクッと構築できるのですが、今回 Python を使って開発しようとしたときに開発環境で割とはまったので、自分が最適だと思った VS Code の Dev Container を使う方法をメモしておきます。開発環境…
相変わらず Build 2021 といった大型イベントと関係なくアップデートが行われる App Service と Azure Functions ですが、以前にブログで予告されていた通り夏前に .NET 6 Preview 4 と Azure Functions v4 の Early Preview が開始されました。App Service …
今年も Build がオンラインで開催されましたが、例によって Static Web Apps の GA は Build の 2 週間前だし、App Service チームはイベント合わせで新機能のリリースを行わない方向になっているので、あまりキャッチアップする内容はありませんが、細々し…
Azure Functions は非常に便利ですが、Azure Storage や Cosmos DB などの Binding / Trigger を使う際に必要となる接続文字列は、管理を考えると若干扱いが面倒な部分があります。App Settings に直接値を設定するのが簡単ですが、権限管理という観点では値…
Ignite 2021 では特にアップデートがなく、なかなか話す機会が無かった Azure App Service や Azure Functions といった代表的な Azure Serverless なサービスについて、Hack Azure! #5 で話をしました。これまでは大体ゲストを呼んで話していましたが、App …
ここ数年は Azure Functions をフルに活用したアプリケーションを実装することが多かったのですが、同時に Azure Functions を失敗しないように使う方法も分かってくるので、ここらでちゃんと言語化しておきます。最近は特に Azure Light-up というハッカソ…
.NET 5 がリリースされて少し経ちますが、App Service は Early Access という形ですが .NET 5 への対応が行われたのに対して、Azure Functions は今のところ .NET Core 3.1 までの対応となっています。少し前から Azure Functions の .NET 5 対応に関して G…
普段は Visual Studio からデプロイ先の Azure Functions を選んで Zip Deploy 用のプロファイルを作成していますが、たまに Visual Studio で Publish Profile を使った Zip Deploy を行う場合に、その手順を毎回忘れてしまうのでメモとして残します。おま…
Azure Storage を使った Run From Package で公開している Azure Functions 向けパッケージの転送量が、最近になって急激に増えたのでパッケージのサイズを削減して、Azure Functions で実行するための最適化を行ったのでメモとして残します。何故マネージコ…
GitHub 上で開発が進んでいることは把握していましたが、ついに待望の Retry Policy 機能が Azure Functions に実装されました。まだ Preview 扱いのようですが、1 年以上は待った気がします。単純にリトライするだけであれば Polly などを使えば済みますが…