しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure Functions の Node.js v4 に追加された HTTP Streaming サポートを深掘りする

Azure Functions の Node.js や Python といった言語ワーカーが動作するタイプでは、これまで HTTP のリクエストとレスポンスを Stream として扱うことが出来なかったので、大容量ファイルのダウンロードやアップロードが効率的に行えないという制約がありま…

独自のバックエンドとリンクした Azure Static Web Apps のプレビュー環境を自動で作成する

Azure Static Web Apps で何も考えずに GitHub で Pull Request を作成すると、標準で提供されているプレビュー環境が自動的に作成されるので便利です。Managed Functions も SWA とセットでデプロイされるので、フロントエンドだけではなくバックエンドも含…

Azure Static Web Apps のデプロイに Static Web Apps CLI を利用する

Azure Static Web Apps へアプリケーションをデプロイする際には GitHub Actions を使うことが多いはずですが、公式で用意されている Action はビルドまで行うように設計されているため、ビルドは自前で行ってデプロイだけを行いたいケースでは若干使いにく…

Azure Static Web Apps のプレビュー環境で Microsoft Entra ID 認証を有効化する

Azure Static Web Apps のプレビュー環境は、GitHub を利用した開発中に Pull Request を作成したタイミングで自動的にデプロイされるので、変更点の動作確認やレビューが行いやすくなる便利な機能なのですが、カスタム認証を使ったアプリケーションでは利用…

Azure Functions の Python V2 と Node.js V4 プログラミングモデルを利用する上での注意点

去年に GA してから時間が経過しましたが、Azure Functions の新しいプログラミングモデル Python V2 と Node.js V4 を使う機会が増えてきて、以前書いたエントリからの更新点も増えたので簡単にまとめます。プレビュー中に書いたエントリは以下になりますが…

2023 年の振り返りとフリーランス 8 年目の終わり

本当にあっという間という感じですが、2023 年も終わってしまうので毎年恒例のエントリを書いておくことにします。毎年あっという間に終わったと思うのですが、今年はずっと忙しかったので更に早かったです。今年はコロナ前ぐらい出張や品川での仕事が増えて…

Azure OpenAI Service の GPT-4 Turbo with Vision と Azure AI Service Enhancement を試した

OpenAI 本家の提供から数週間遅れましたが、Azure OpenAI Service でも GPT-4 Turbo with Vision が一部リージョンで利用できるようになりました。本家とは異なり Azure AI Service Enhancement という Azure OpenAI 専用の機能も同時にリリースされています…

Azure App Service の OS が Windows Server 2022 にアップデートされ始めているので確認した

先日の Ignite 2023 では App Service の TLS 1.3 対応が発表されて、一部のリージョンでは既に有効化されていることを以下のエントリで触れましたが、TLS 1.3 対応と同時に App Service の OS が Windows Server 2022 へとアップデートされ始めています。Ap…

GitHub Universe 帰りの飛行機に手荷物が積み込まれなかった話

既に X の方にはリアルタイムで色々書いていたのですが、初めてのロストバゲージだったのでこちらにも残しておくことにします。GitHub Universe 2023 へ参加するためにサンフランシスコに行きましたが、帰りの飛行機に預けたスーツケースが積み込まれていな…

Ignite 2023 で発表された Azure Cosmos DB のアップデート

先日シアトルで開催された Microsoft Ignite 2023 では Azure Cosmos DB のアップデートも Build 2023 程ではありませんが多く発表されました。例によって AI を意識したものが大きく扱われていますが、スケーラビリティの改善に繋がる機能もしっかり追加さ…

Ignite 2023 で発表された App Service / Azure Functions / Container Apps のアップデート

今年も Ignite 2023 がシアトルで開催されて、様々な Azure のアップデートが発表されました。基本的には AI 系の話ばかりでしたが、App Service / Azure Functions / Container Apps についても、思ったよりもインパクトの大きなアップデートが発表されまし…

GitHub Universe 2023 に現地参加してきた

これまで MVP Summit や Microsoft Build には参加してきましたが、今年は初めて GitHub Universe にも現地参加してきました。サンフランシスコは 12 年振りだったのでかなり懐かしいです。会場は主に YBCA と SFMoMA が使われていて、規模としては Microsof…

ASRock DeskMini B760 で Intel NUC の置き換えを図った話

これまで WSL 2 や Docker を利用する専用のマシンとして Intel NUC を購入して使っていたのですが、つい先日 Intel NUC が終焉を迎えてしまったのと、負荷の高い作業をさせるとファンがいい加減に五月蠅いと感じるようになったので、小型のベアボーンでの置…

Azure API Management の新しい Basic v2 / Standard v2 が Public Preview になったので試した

突然 API Management に新しく Basic v2 / Standard v2 という Tier が Public Preview として追加されました。来月が Ignite なのでそこまで待っても良かったのではという気もしますが、App Service などの PaaS / Serverless のチームはイベントを気にせず…

Dev Container / GitHub Codespaces を利用した Azure Functions 開発環境のベストプラクティス

昔にも Dev Container を利用して Azure Functions の開発環境を構築する方法を書いたのですが、その後 Dev Container の機能強化と Azure Functions のアップデートによってベストプラクティスが変わってきたので、現時点でのベストプラクティスを確認して…

Azure Functions の .NET 8 向けアップデートが発表された

.NET 8 の GA が 2 カ月後に迫ってきたこのタイミングで、Azure Functions での .NET 8 向けアップデートが本格的に発表され始めました。そろそろ .NET 6/7 で Isolated を利用しているケースではアップデートを検討しても良いでしょう。.NET 6 の In-Proces…

Windows App SDK を使ってモダンなタイトルバーを持つアプリケーションを作る

Windows 11 で全面的に導入された Fluent Design System は個人的には結構好みなので、自作アプリでも同じようなデザインを実現したいのですが意外に難しいです。コントロールだけに限れば Windows App SDK を使うとある程度は対応は可能ですが、まだ使いや…

Hack Azure! #11 - Semantic Kernel をハックしよう フォローアップ

久し振りに Hack Azure を開催しましたが、今回は少し毛色を変えて Semantic Kernel について話をしました。Azure とあまり関係なさそうに見えますが Semantic Kernel は Azure OpenAI はもちろん、それ以外の各種サービスと組み合わせての利用や、Semantic …

C# Dev Kit for Visual Studio Code は GitHub Codespaces 上だと無料で使えてお得という話

最近は Azure OpenAI Service と Semantic Kernel の盛り上がりに伴い、ワークショップなどで GitHub Codespaces と Azure Functions の組み合わせで開発することが増えてきているので、安定して利用できる C# 開発環境を構築する方法を模索していました。こ…

Azure Functions (.NET Isolated Worker) に追加された ASP.NET Core Integration を一通り試した

今年の 11 月にリリース予定の .NET 8 と同時に .NET 向け Azure Functions は、これまでの In-Process モデルから Isolated Worker Process というモデルに統一されるのですが、正直なところ完成度が低いのと In-Process からの移行を全く考慮していない SD…

Application Insights の Code Optimizations 機能を ASP.NET Core アプリケーションで試してみた

少し前から Application Insights の Performance を開くと、上部に Code Optimizations というボタンが表示されるようになっています。隣にある Profiler は以前からある機能ですが、Code Optimizations はひっそりと追加された新しい機能となります。あま…

App Service Authentication と Entra ID で保護された Web API にアクセス可能な Access Token を取得する

App Service Authentication (Easy Auth) は非常に便利な機能なのですが、Web API をホストしている場合には他のアプリケーションから Service Principal を利用してアクセスしたいことがあります。直近では自分が開発している Key Vault Acmebot というアプ…

Build 2023 で発表されて Windows 11 Insider Preview で利用可能になった Dev Drive を試した

先月の時点で Windows 11 Insider Preview の Dev Channel では利用可能になっていて、パフォーマンス面で気になっていた点を検証していたのですが、ようやく Dev Drive について簡単にまとめる気になりました。Build 2023 ではオフライン限定の Dev Drive …

DARTSLIVE Home と iPad Pro で自宅ダーツ環境を整えた

この 1 年ほど再びダーツブームが自分の中に来ているのですが、家の近所に安心してダーツを投げて練習できる場所が無かったので、思い切って自宅のデッドスペース*1を活用してダーツ練習スペースを作りました。自宅のキッチンスペースはダーツに最適な幅と長…

Terraform と Azure DNS を使って Azure Front Door への Apex ドメイン割り当てを自動化する

Azure Front Door は Azure DNS のような Alias record set に対応したサービスと組み合わせると、Apex ドメインを割り当てて利用することが可能です。もちろん Managed Certificate として必要な証明書も自動で発行されるので HTTPS を無料で有効化できます…

Azure OpenAI Service に追加された Content filters (Preview) の実行結果を取得する

少し前から Azure OpenAI Service に Content filters (Preview) が追加されたからなのか、たまに Chat Completion を使っていると以下のようなメッセージが返ってくることがあります。メッセージ内容から Content filters に引っかかっていることは一発でわ…

ASP.NET (.NET Framework) 向けの各 Session State Provider が大規模アップデート

ASP.NET (.NET Framework) を利用したアプリケーションで必要になることが多い Session State Provider ですが、今年になってから大規模なアップデートが多いので一通り確認しておきました。現状 ASP.NET 向け Session State Provider は Cosmos DB / SQL Se…

Azure AD B2C のサインイン用メールアドレスを変更する

Azure AD B2C を使ってローカルアカウントのサインアップを実装するのが非常に簡単なのですが、用意されているユーザーフローでは登録時に使用したメールアドレスを変更出来ないという問題が出てきます。プロフィールの編集やパスワードのリセット機能はあり…

App Service / Static Web Apps / Container Apps の Easy Auth が OpenID Connect の RP-Initiated Logout をサポート

App Service などに実装されている Easy Auth (Authentication) はアプリケーション側の修正をすることなく、Azure AD や任意の OpenID Connect に対応した IdP を使ったログインを追加できる非常に便利な機能です。各 PaaS / Serverless 系サービスに実装さ…

Microsoft Build 2023 に現地参加してきた

これまで 2 本ほど Build 2023 関連のエントリを書いてきましたが、最後は Microsoft Build 2023 に現地参加してきたという内容です。MVP Global Summit には比較的参加してきましたが、Build への参加は初めてだったので現地の熱気を感じられて非常に楽しか…