Dapr は、ランタイム コンテキストに基づいてさまざまな引数と注釈を使用して構成できます。 Azure Container Apps で使用できる Dapr 構成は、 アプリケーション スコープの 変更と見なされます。 複数リビジョン モードでコンテナー アプリを実行する場合、これらの設定を変更しても新しいリビジョンは作成されません。 代わりに、既存のすべてのリビジョンが再起動され、最新の値を使用してそれらのリビジョンが確実に構成されます。
Azure Container Apps には、Dapr を有効にして構成できる 3 つのチャネルが用意されています。
- Azure CLI。
- Bicep テンプレートや Azure Resource Manager (ARM) テンプレートに似た、コードとしてのインフラストラクチャ (IaC) テンプレート
- Azure portal
次の表に、Azure Container Apps 内で Dapr を有効にするために、現在サポートされている Dapr サイドカー構成の一覧を示します。
| コンテナアプリケーション コマンドライン インターフェース (CLI) | [テンプレート] フィールド | 説明 |
|---|---|---|
--enable-dapr |
dapr.enabled |
コンテナー アプリで Dapr を有効にします。 |
--dapr-app-port |
dapr.appPort |
開発中アプリケーションがリッスンしているポート。Dapr は、開発中アプリケーションと通信するためにこのポートを使用 |
--dapr-app-protocol |
dapr.appProtocol |
アプリケーションで使用しているプロトコルを Dapr に伝えます。 有効なオプションは http または grpc です。 既定の設定は httpです。 |
--dapr-app-id |
dapr.appId |
一意の Dapr 識別子。開発中コンテナー アプリは、サービス検出、状態カプセル化、および pub/sub コンシューマー ID に関連して、この識別子を使用します。 |
--dapr-max-request-size |
dapr.httpMaxRequestSize |
大きなファイルのアップロードを処理する要求本文の http サーバーと grpc サーバーの最大サイズを設定します。 既定の設定は 4 MBです。 |
--dapr-read-buffer-size |
dapr.httpReadBufferSize |
マルチ KB ヘッダーの送信時に処理する HTTP ヘッダー読み取りバッファーの最大サイズを設定します。 既定の設定は 4 KBです。 |
--dapr-api-logging |
dapr.enableApiLogging |
アプリケーションから Dapr サイドカーへの API 呼び出しを表示できるようにします。 |
--dapr-log-level |
dapr.logLevel |
Dapr サイドカーのログ レベルを設定します。 使用できる値は、debug、error、info、warn です。 既定の設定は infoです。 |
--dapr-app-health-enabled |
dapr.appHealth.enabled |
ブール形式を使用してコンテナー アプリのアプリの正常性チェックを有効にするオプションの構成。 既定の設定は falseです。 Dapr サイドカーの正常性は、このアプリの正常性設定に関連付けられています。 |
--dapr-app-health-path |
dapr.appHealth.path |
アプリ チャネルが HTTP の場合に、Dapr が正常性プローブに対して呼び出すパスを設定します。 アプリ チャネルが gRPC を使用している場合、この値は無視されます。 既定の設定は /healthzです。 |
--dapr-app-health-probe-interval |
dapr.appHealth.probeIntervalSeconds |
各ヘルスチェック間の秒数。 既定の設定は 3です。 |
--dapr-app-health-probe-timeout |
dapr.appHealth.probeTimeoutMilliseconds |
正常性プローブ要求のタイムアウト (ミリ秒単位)。 この値は、 probeIntervalSeconds 値より小さくする必要があります。 既定の設定は 500です。 |
--dapr-app-health-threshold |
dapr.appHealth.threshold |
アプリが異常と見なされるまでの連続するエラーの最大数。 既定の設定は 3です。 |
--dapr-max-concurrency |
dapr.maxConcurrency |
アプリケーションのコンカレンシーを制限します。 有効な値は、 0より大きい任意の数です。
-1 は、コンカレンシーに制限がないことを意味します。 |
CLI を使用する
開発中コンテナー アプリで、Azure CLI を使用して Dapr を有効にすることができます。
az containerapp dapr enable
詳細と例については、リファレンス ドキュメントを参照してください。
Bicep または ARM の使用
IaC テンプレートを使用する場合は、コンテナー アプリ リソース定義の properties.configuration セクションで、次の引数を指定します。
dapr: {
enabled: true
appId: 'nodeapp'
appProtocol: 'http'
appPort: 3000
httpReadBufferSize: 30
httpMaxRequestSize: 10
logLevel: 'debug'
enableApiLogging: true
appHealth: {
enabled: true
path: '/health'
probeIntervalSeconds: 3
probeTimeoutMilliseconds: 1000
threshold: 3
},
maxConcurrency: 10
}
Azure ポータルの使用
開発中コンテナー アプリのポータル ビューを経由して、Dapr を有効にすることもできます。
注
開始する前に、開発者独自の Dapr コンポーネントを既に作成したことを確認します。 ポータル内にある開発中コンテナー アプリ環境を経由して、Dapr コンポーネントを接続することができます。
Azure portal 内で開発中コンテナー アプリに移動し、左側のメニューの [設定] で [Dapr] を選択します。
既定では、Dapr は無効になっています。 [有効] を選択し、Dapr 設定を展開します。
コンポーネントのアプリ ID を入力し、適切な見出しを選択します。 該当する場合は、[コンポーネント] ヘッダーの下でリンクを選択し、希望の Dapr コンポーネントをコンテナー アプリ環境に追加して管理します。