Durable Functions のトラブルシューティングガイド

Durable Functions のトラブルシューティングについて確認方法を教えてください。 回答Duralbe Functions の動作を解説し、トラブルシューティング方法について説明します。 Durable Functions の動作簡単に Durable Functions の動作について解説します。 Durable Functions で実装される関数は、大きくオーケストレーター関数とアクティビティ関数の2種類に分けることができます。 オーケストレーター関数は、アクティビティ関数のような他の関数の処理順番を制御する関数となります。構成のパターンについてはこちらを参照ください。標準の実装では 1 回の Durable Functions の実行ごとに、一意となるオーケストレーション ID が発行されてそれぞれで一連の Durable Functions が動作いたします。 ア...

Read more

Queueストレージのメッセージの33件目以降を確認する方法

こんにちは。Azure PaaS サポート担当の李です。 Azure ポータルやストレージエクスプローラ、PowerShell などのツールを用いて Azure キューストレージのメッセージ数を確認すると、32 件を超える場合、最初の 32 件のみが表示され、33 件目以降が確認できないことがございます。図1 Azure ポータルで確認した結果 図2 Azureストレージエクスプローラで確認した結果 これは下記の記事の内容通り、キューサービスの REST API でメッセージを取得する際、取得するメッセージ数のパラメーター「numofmessages」の上限が 32 件までであり、クライアント側で、繰り返しの取得を想定していないことが考えられます。・キューサービスの REST API ‐ メッセージの取得 - URI パラメーター そのため、 33 件以上のメッセージを一挙に取得・表示した...

Read more

App Service の TLS/SSL 証明書の更新手順

これまで App Service に存在していた “Custom domains (Classic)”, “TLS/SSL settings (Classic)” ブレードが 2023 年 2 月半ば頃に非表示となりました。これに伴い “Custom domains (Classic)” は “Custom domains” ブレードに、”TLS/SSL settings (Classic)” は “Certificates” ブレードに移行しています。公式ドキュメントの更新が遅れておりますため、特に変更点の多い “TLS/SSL Settings (Classic)” から “Certificats” ブレードの変更点を中心として、新しい UI で App Service にバインドされた TLS/SSL 証明書の更新方法をご案内します。 “...

Read more

Azure AD B2C 認証を設定した App Service と Application Gateway の統合

お世話になっております。App Service サポート担当の行本です。 App Service に Azure AD B2C というサービスを連携する事で、好みのソーシャル、エンタープライズ、またはローカル アカウント ID を使用して、アプリケーションに SSO (シングル サインオン) でアクセスする事ができます。Azure AD B2C を使って Azure Web アプリで認証を構成する 方法については既にドキュメントがございますが、この構成の前段に Application Gateway を配置した際の環境構築手順について、お問い合わせをいただく事もございますので本記事で順を追って説明させていただきます。なお、本記事ではバックエンドに App Service を用いた手順を記載しておりますが、Azure Functions を用いた場合も同様に環境構築可能です。 構成イメージ ...

Read more

App Service on Linux における robots933456.txt について

お世話になっております。App Service サポート担当の押田です。 本記事では App Service on Linux において 組み込みイメージおよびカスタム Linux コンテナー(Web App for Containers) がどのように起動確認が行われるのかについて解説します。 起動確認に用いられるリクエスト (GET /robots933456.txt)App Service on Linux において、組み込みイメージおよびカスタムイメージはプラットフォーム上で、docker コマンドによって起動されます。App Service のプラットフォームは、docker コマンドで起動したコンテナが動作可能な状態であるかの確認のため、アプリケーションに対して、GET /robots933456.txt リクエストを実行します。このリクエストに応答ができない場合、コ...

Read more

App Serviceのアプリケーション設定で改行を含む値を登録する方法

App Service の アプリケーション設定における改行を含む値を登録する方法についてご紹介いたします。 概要App Service のアプリケーション設定における改行を含む値を登録するには、 高度な編集を利用する Base64 エンコードした値を登録し、アプリケーション側では Base64 デコードして利用する Kay Vault を利用する のいずれかの方法ご利用いただくこと可能となります。詳細については、以下にてご説明いたします。 この記事で解消したい問題ポータル上の アプリケーション設定の追加/編集機能からは”\n”や”\r\n”を設定しても改行として反映されません。 失敗する例失敗例1) ポータルのアプリケーション設定から編集改行コードをそれぞれ(\r\n, \n)設定、保存してみます。 高度な編集で確認すると、改行コードがエスケープされていることが...

Read more

HTTP リクエストを利用して Azure Active Directory からアクセストークンを発行して、APIM で JWT 検証を実行する

なりすましや改ざん防止のため、JWT 検証を導入しています。デバッグのため、HTTP リクエストを利用して Azure Active Directory からクライアント資格情報フローでアクセストークンを発行して、APIM で JWT 検証を実行したいです。 回答API Management では、OAuth 2.0 プロトコルと Azure Active Directory (Azure AD) を使用して、API を保護できます。OAuth 2.0 承認と Azure Active Directory を使用して Azure API Management で API を保護する OAuth 2.0 ではアクセス トークンを取得するための承認フローが定義されています。The OAuth 2.0 Authorization Framework各承認フローの一般的なユースケースは以下の通りで...

Read more

API Management と Function Apps を構成した際の基本のパフォーマンス トラブルシューティング

API Management の応答が遅いです。バックエンドには Functions Apps がいます。原因を教えてください。 回答ログを駆使してバックエンドに設定している Function Apps の応答時間を確認します。 環境構成今回は API Management をフロントとして、バックエンドの Function Apps が直列して複数呼び出される場合を考えます。API Management -> Function Apps1(HakurodaChain001) -> Function Apps2(HakurodaChain002) -> Function Apps3(HakurodaChain003)とします。 Function Apps には任意の HTTP トリガーをデプロイします。仕組みとして数秒~数十秒程度 Sleep するコードを組み込んでおり、...

Read more

Azure APIM services の 4xx や 5xx のトラブルシューティング パート 1

このポストは、2021 年 3 月 1 日に投稿された Troubleshooting 4xx and 5xx Errors with Azure APIM services の翻訳です。 パート I - 4xx エラーのトラブルシューティング API Management は、クライアントサイドからバックエンドの API サービスにリクエストを転送するためのプロキシに他なりません。APIM は、クライアント側からの入力に基づいて、リクエストがバックエンドに到達する前にリクエストの変更や特定の処理ができます。理想的なシナリオでは、APIM 内の API は、バックエンド API からの正しいレスポンス本文と成功のレスポンス コード(通常は 200 OK)を返すことが期待されます。 リクエストが失敗した場合は、API 呼び出し中に何が失敗していたかというエラーメッセージと失敗の...

Read more

Azure Functions のログサンプリング

Azure Functions のログが欠落しています。解消方法を教えてください。 回答Azure Functions では既定でアダプティブ ログサンプリングが有効化されているため、ログ データが Application Insights へ送られる場合にサンプリングされて送られるためログが欠落する場合があります。これはご利用のプランなどにはよらず、host.json の設定に従います。 サンプリング設定host.json に設定されている箇所は下記の samplingSettings の isEnabled 項目になります。 1234567891011{ "version": "2.0", "logging": { "applicationInsights": &#...

Read more