次の方法で共有


Azure ランタイムのアップグレード中の一般的な問題のトラブルシューティング

この記事では、ランタイムに到達できない、モジュールが見つからないなど、関数アプリ言語またはランタイム バージョンの更新中に発生する可能性がある一般的な問題の一部を解決する方法について説明します。

  • Microsoft .NET Core 3.1 の延長サポートは、2022 年 12 月 3 日に終了しました。 Azure Functionsランタイム v3 は .NET core 3.1 に基づいています。 .NET 6 を使用し、長期的なサポートを持つランタイム バージョン 4.x に 関数アプリを更新 することをお勧めします。 2022 年 12 月 3 日以降、アプリは、Functions ランタイム バージョン 4.x にアップグレードするまで、新機能、セキュリティ パッチ、パフォーマンスの最適化、またはサポートの対象になりません。

  • ランタイム v3 の Functions アプリは引き続き実行され、アプリケーションには影響しません。 この日付を過ぎると、これらの Functions アプリケーションにコードをデプロイできます。 ただし、共通パスを使用して Functions ランタイム v3 を対象とするアプリケーションを作成する機能が削除される場合があります。

  • 詳細と移行のガイダンスについては、次を参照してください。

ランタイム v4 に対する関数アプリの互換性を検証する

  • Azure portalで関数アプリに移動します。 [問題の診断と解決] を選択してAzure Functions 診断を開きます。 検索バーに、「関数アプリ言語の更新」または「ランタイム バージョン」と入力して直接実行します。 診断レポートには、更新に関するガイダンスが含まれています。 検証が完了したら、推奨事項に従い、アプリ内の問題に対処します。
  • また、関数アプリを 4.x に移行するときに発生する可能性のある問題を特定するのに役立つ アップグレード前検証コントロール も用意されています。 同じ診断検索バーから、「Functions 4.x アップグレード前検証コントロール」と入力して直接実行します。 検証が完了したら、推奨事項に従い、アプリ内の問題に対処します。
  • ローカル プロジェクト環境をバージョン 4.x にアップグレードすることを強くお勧めします。 Azure Functions コア ツールのバージョン 4.x を使用して、アプリをローカルで完全にテストします。
  • ステージング スロットを使用して、運用環境スロットにデプロイする前に、新しいランタイム バージョンで Azure でアプリをテストして確認することを検討してください。 スロットを使用した移行には必ず設定 WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS=0 してください。

Windows の Functions ランタイム バージョンを変更する

  1. Azure portal構成ウィンドウのアプリ設定である FUNCTIONS_EXTENSION_VERSION を に~4設定します。 詳細については、「 ランタイム のバージョンを変更する」を参照してください。
  2. サイト設定を netFrameworkVersion .NET 6 をターゲットに設定します。 netFrameworkVersion は SiteConfig 設定であり、アプリ設定ではありません。 また、Azure portalでは直接使用できません。 ただし、Azure Resource エクスプローラーまたは Azure CLI/PowerShell を使用して設定できます。

詳細については、「 Functions ランタイム バージョン」を参照してください。

Linux の Functions ランタイム バージョンを変更する

  1. Azure portal構成ウィンドウのアプリ設定である FUNCTIONS_EXTENSION_VERSION を に~4設定します。 詳細については、「 ランタイム のバージョンを変更する」を参照してください。
  2. 使用する言語に基づいて、コマンド ライン インターフェイス (CLI) を を に<Language>|<LanguageVersion>設定LinuxFxVersionします。 詳細については、「 Linux Function Apps での LinuxFxVersion の使用」を参照してください。 たとえば、.NET 6 に更新するには、 と FUNCTIONS_EXTENSION_VERSION を に~4dotnet|6.0設定LinuxFxVersionできます。

詳細については、「 Functions ランタイム バージョン」を参照してください。

ランタイム バージョン別にサポートされている言語の一覧を取得する

ランタイム バージョンでサポートされている言語の一覧を参照してください。

コードを更新した後、関数アプリの言語バージョン設定を更新する

プロキシの使用をAzure Functionsする

関数アプリを最新のランタイム バージョンに正常にアップグレードできるように、バージョン 4.x でプロキシのサポートを再び利用できます。 ただし、できるだけ早く関数アプリと Azure API Managementの統合に切り替えることをおすすめします。 API Managementを使用すると、より完全な機能セットを利用して、Functions ベースの API を定義、セキュリティ保護、管理、収益化できます。 詳細については、「 APIM に移行する方法 」および 「Visual Studio を使用して APIM と関数を統合する」を参照してください。

ランタイム バージョン 1.x、2.x、または 3.x を使用するすべてのAzure Functions アプリの一覧を取得します

  1. Azure portalで関数アプリに移動します。
  2. [問題の診断と解決] を選択してAzure Functions 診断を開きます。
  3. 検索バーに、「関数アプリ言語の更新」または「ランタイム バージョン」と入力して直接実行します。
  4. 診断レポートで、下にスクロールし、[ すべての関数アプリ>ビューの詳細の一覧表示] を選択します。
  5. 検索フィルターを設定し、[ 表示 ] を選択して、現在のサブスクリプション内の関数アプリの一覧を取得します。

または、App Service REST API 呼び出し (GetConfiguration) を使用してこれを決定できます。 LinuxFxVersion バージョン WindowsFxVersion 情報を指定します。

.NET Framework 4.6.1 アプリを Functions ランタイム v1 から v4 に移動する

.NET Framework 4.6.1 は有効期間が終了したので、アプリを .NET Framework 4.8 にアップグレードする必要があります。 Functions v4 では、.NET Framework 4.8 アプリをアウトプロセス モードで実行できます。 詳細については、 分離プロセス ガイドを参照してください。

移行された関数アプリが起動していないか、ランタイムの問題がある

  • .NET アプリの場合は、ビルドとデプロイの前に、コードを .NET 6 に更新してください。
  • Azure portalでアプリのランタイム バージョンをダブルチェックします。
  • Windows アプリの場合は、CLI または PowerShell を使用して設定 netFrameworkVersion する必要もあります。
  • 推奨されるように、2.x 以降の 拡張機能バンドルを使用していることを確認します。 Functions ランタイムのバージョン 4.x には、バージョン 2.x または 3.0.0 が必要です。
  • AzureWebJobsDashboard を使用した Azure Storage へのログインは、4.x ではサポートされなくなりました。 代わりに、 監視には Application Insights を使用します。
  • ランタイムAzure Functions到達できないというメッセージが表示され、ストレージ アカウントを共有している場合は、「ホスト ID に関する考慮事項」を参照してください。
  • Azure Functions 4.x では、Node.js 10 と 12、Python 3.6、PowerShell 6 はサポートされていません。 詳細については、「 v4 ランタイムでサポートされている言語バージョン」を参照してください。
  • Python 関数の場合、モジュールの競合に関連するエラーがあり、モジュールが見つからない場合は、アプリ設定で 1 に設定PYTHON_ISOLATE_WORKER_DEPENDENCIESしてみてください。
  • 「既存の関数アプリの移行」を参照してください。
  • 実行時の問題については、Azure portalの [問題の診断と解決] オプションから、関数アプリを検索するか、エラーを報告し、診断レポートでエラー メッセージと解決策を確認します。 また、 関数構成チェック 検出器を確認して、構成が正しいことを確認します。
  • その他のトラブルシューティングのヒントについては、 Azure 関数アプリを V4 にアップグレードするときの 問題に関するブログを参照してください。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。