しばやん雑記

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

Static Web Apps

Dependabot が作成した Pull Request でも Azure Static Web Apps のプレビュー環境が作成されるようにする

以前に書いた通り Static Web Apps と App Service を組み合わせたアプリケーション向けに、GitHub で Pull Request が作成された時にプレビュー用の環境を作るようにして運用しているのですが、これがかなり便利でレビュアーの負荷を下げるのに非常に強力で…

Azure Static Web Apps の公式 GitHub Action でも Federated Credentials を使ってデプロイしたい

Azure Portal から GitHub リポジトリを指定して Static Web Apps を作成すると自動的にワークフローが作成されますが、作成されたワークフローは Deployment Token を使うようになっています。この Deployment Token を使う方法は非常にシンプルで扱いやす…

Azure Static Web Apps のデプロイに SWA CLI と Service Principal (Federated Credentials) を利用する

Static Web Apps へのデプロイを行う方法としては、公式で提供されている GitHub Action や Azure Pipelines Task を使う方法の他に Static Web Apps CLI を使う方法があります。最近ではビルドをカスタマイズしたいので、あえて Static Web Apps CLI を使っ…

Azure Static Web Apps のバックエンド API 側で実際にアクセスされているホスト名を取得する

Static Web Apps には組み込みの Azure Functions や独自の App Service や Azure Functions を /api 以下にリンクする機能があるので、同一ホスト名で SPA と API を動かすことが出来るのが大きな特徴です。同一ホスト上で動いているようにブラウザからは見…

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

先週開催された Microsoft Build 2024 は去年同様メイントピックは Generative AI でしたが、Azure Serverless 周りのアップデートが去年以上に発表されました。現地参加ではみたいセッションが被りすぎていてキャッチアップが遅れてしまうことが多いので、…

独自のバックエンドとリンクした 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 を使う機会が増えてきて、以前書いたエントリからの更新点も増えたので簡単にまとめます。プレビュー中に書いたエントリは以下になりますが…

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 系サービスに実装さ…

Azure に実装されている 3 つの Easy Auth (Web Apps / Static Web Apps / Container Apps) の実装を再確認した

アプリケーション開発で地味に難しい認証周りですが、Azure の Web Apps / Static Web Apps / Container Apps には認証機能が組み込まれているため、コードを修正することなく追加できるので非常に便利です。既に何回もブログで扱っているので、基本的な使い…

Azure Static Web Apps で API 統合を使った際の開発・運用のベストプラクティス

先日 Static Web Apps に Azure Functions 以外の API を簡単に持ち込める機能が追加されました。App Service / Container Apps / API Management の 3 つを追加で持ち込めるようになったので、API が多いアプリケーションも Static Web Apps でホストしやす…

Azure Static Web Apps に Azure Functions 以外の API を持ち込み可能になったので一通り試した

個人的に GitHub で要望を挙げていた機能でもあるのですが、Static Web Apps の BYOF 機能が拡張されて Azure Functions 以外の API を持ち込めるようになりました。Azure Functions はシンプルなプログラミングモデルを持っているので、簡単な REST API で…

Azure Static Web Apps に追加されたカスタムロールの割り当て機能を試した

Static Web Apps には全てのプランで使える組み込み認証 + ロール管理機能と、Standard 以上で使えるカスタム認証機能がありますが、Azure AD B2C や OpenID Connect Provider を使ったカスタム認証の場合は、ロールは認証済みしか使えなかったので高度なア…

Azure Static Web Apps と Front Door の組み合わせが正式にサポートされたので試した

少し前に App Service Authentication と Front Door や Application Gateway を組み合わせた時の問題と解決法を書きましたが、ほぼ同じアーキテクチャの Static Web Apps では当時は回避方法が無く利用困難でした。Static Web Apps はグローバルに分散され…

Azure Front Door Premium から Static Web Apps へのアクセスを Private Endpoint で保護する

少し前に Static Web Apps の Private Endpoint 対応がプレビューとして公開されました。Static Web Apps が GA のタイミングで使えるという話だったのが遅れてリリースされたものになります。Private Endpoint を使うことで Express Route を経由して Priva…

Hack Azure! #6 - Static Web Apps GA 祭り! フォローアップ

何故か Build 2021 の開催 2 週間前という謎のタイミングで Static Web Apps が GA したので、Hack Azure! #6 として三宅さんを中心に話す会を開催しました。App Service / Azure Functions チームとほぼ同じ中の人なので、リリースをイベントに合わせる必要…

App Service Static Web Apps の仕組みを探る(非公式)

Build 2020 では App Service に関する話は非常に少なかったですが、唯一大きなリリースとしては Static Web Apps がありました。名前の通り静的コンテンツをホスティングするためのサービスですが、同じドメインで API (Azure Functions) が付いてくるのが…