イベントドリブンのサーバーレス コンピューティング プラットフォームを提供する Azure サービス。
こんにちは @DQH ,
AZFD0013 は「FUNCTIONS_WORKER_RUNTIME の設定値」と「デプロイされた関数アプリ成果物(payload)に含まれるワーカー ランタイム メタデータ」が一致していないという警告/エラーです。
今回、設定として FUNCTIONS_WORKER_RUNTIME=dotnet-isolated にした一方で、デプロイされた成果物が dotnet(in-process)側になっている(= worker runtime が不一致)ために出ている状態だと思われます。メッセージ上でも “deployed artifacts are for 'dotnet'” と示されています。
まず結論:不一致を解消するには 2 通りです
AZFD0013 の解消方法は、基本的に次のどちらかで 2つの値を揃えることです。
- デプロイ成果物を
dotnet-isolated向けにする
-
FUNCTIONS_WORKER_RUNTIMEをdotnet-isolatedのまま使うなら、分離されたワーカー(isolated)モデルのアプリ成果物をデプロイする必要があります。
-
FUNCTIONS_WORKER_RUNTIMEを成果物に合わせて変更する
- もし現在デプロイしている成果物が in-process(
dotnet)のままなら、FUNCTIONS_WORKER_RUNTIMEをdotnetに合わせることで一致します。
.NET を分離モデルへ移行している途中の場合の注意(よくある一時的な状態)
ドキュメントにもある通り、移行ガイドに沿って “まず FUNCTIONS_WORKER_RUNTIME=dotnet-isolated にしてから、isolated 対応の payload をデプロイ” している途中では、このイベントが一時的に出ることがあります。
その場合は、次を確認すると解決に近づきます:
- 本当に isolated 用の成果物(dotnet-isolated 対応)がデプロイされたか
- 移行手順で 段階的に切り替えをしている(その切替タイミングで不一致が一瞬発生)か
また、プロダクション環境でこのイベントが出るのを防ぐために deployment slots を使うことも案内されています(移行ガイド参照)。
あなたのケースに対するポイント
- すでに
FUNCTIONS_WORKER_RUNTIME=dotnet-isolatedを設定しているので、今デプロイされている成果物が in-process (dotnet) のままになっている可能性が高いです。 - したがって、公開環境では通常 **「isolated 用成果物をデプロイし直す」**方向が筋です(ただし、移行途中かどうかで判断が変わります)。
お役に立てましたら幸いです。
今回の回答が問題の解決に役立った場合は、お手数ですが をクリックし、「この回答は役に立ちましたか?」で「はい(Yes)」を選択していただけますと幸いです。また、ご不明点や追加のご質問がございましたら、お気軽にお知らせください。