分享方式:


更新 Azure Functions 中的語言堆疊版本

Azure Functions 中任何指定語言堆疊的支援僅限於特定版本。 當新版本可供使用時,您可能會想要更新應用程式以利用其功能。 Functions 也可能會結束舊版本支援,通常與社群結束支援的時間表一致。 如需詳細資訊,請參閱語言執行階段支援原則。 為了確保您的應用程式能夠繼續獲得支援,您應遵循本文所述的指示,將應用程式更新到最新的可用版本。

更新函數應用程式的方式取決於:

  • 您用來撰寫函數的語言;請務必在文章頂端選擇您使用的程式設計語言。
  • 您的應用程式在 Azure 中執行的作業系統:Windows 或 Linux。
  • 主控方案

注意

本文說明如何使用隔離式背景工作角色模型來更新應用程式的 .NET 版本。 在舊版 .NET 上使用內含式模型 (部分機器翻譯) 執行的應用程式可以更新至以 .NET 8 為目標的版本,或者也可以從內含式模型移轉至隔離式背景工作角色模型

準備更新

在 Azure 中更新函數應用程式的堆疊設定之前,您應該先完成下列工作:

1.在本機驗證您的函數

請務必使用新的目標版本在本機測試和驗證函數程式碼。

使用下列步驟來更新本機電腦上的專案:

  1. 請確定您已安裝 .NET SDK 的目標版本

    如果您的目標是預覽版本,請參閱預覽 .NET 版本的 Functions 指引,以確保版本受支援。 .NET 預覽可能需要其他步驟。

  2. 更新最新版本的參考:Microsoft.Azure.Functions.WorkerMicrosoft.Azure.Functions.Worker.Sdk

  3. 將專案的目標 Framework 更新為新版本。 對於 C# 專案,您必須更新 .csproj 檔案中的 <TargetFramework> 元素。 如需所選版本的相關具體資訊,請參閱 目標 Framework

    在專案程式碼之外,變更專案的目標架構可能需要變更工具鏈的元件。 例如,在 VS Code 中,您可能需要透過使用者設定或專案的 .vscode/settings.json 檔案來更新 azureFunctions.deploySubpath 延伸模組設定。 在建置步驟或 CI/CD 管線中,檢查可能存在於專案程式碼外之架構版本的任何相依性。

  4. 請更新新的 .NET 版本所需的專案程式碼。 檢查版本的發行備註以取得具體資訊。 您也可以使用 .NET 升級小幫手來協助您更新程式碼,以回應主要版本的變更。

進行這些變更之後,請重建您的專案並進行測試,以確認應用程式的執行符合預期。

2.移至最新的 Functions 執行階段

請確定您的函數應用程式是在最新版的 Functions 執行階段 (4.x 版) 上執行。 您可以在 Azure 入口網站或使用 Azure CLI 來判斷執行階段版本。

使用下列步驟來判斷您的 Functions 執行階段版本:

  1. Azure 入口網站中,找出您的函數應用程式,然後在左側的 [設定] 下方選取 [設定]

  2. 選取 [函數執行階段設定] 索引標籤,然後檢查 [執行階段版本] 值,查看您的函數應用程式是否在 4.x 版的 Functions 執行階段上執行 (~4)。

    如何在 Azure 入口網站中檢視您應用程式的 Azure Functionsrun-time 版本的螢幕擷取畫面。

如果您需要先將函數應用程式更新為 4.x 版,請參閱將應用程式從 Azure Functions 1.x 版移轉至 4.x 版將應用程式從 Azure Functions 3.x 版移轉至 4.x 版。 您應遵循這些文章中的指示,而不只是變更 FUNCTIONS_EXTENSION_VERSION 設定。

發佈應用程式更新

如果您更新了應用程式以在新版本上正確執行,請先發佈應用程式更新,再更新函數應用程式的堆疊設定。

提示

為了簡化更新程序,請將函數的停機時間降到最低並提供復原的可能性,您應該將更新的應用程式發佈至預備位置。 如需詳細資訊,請參閱 Azure Functions 部署位置

將更新的應用程式發佈至預備位置時,請務必遵循本文其餘部分的特定位置更新指示。 稍後會將更新的預備位置與生產位置交換。

更新堆疊設定

更新堆疊設定的方式取決於您是在 Azure 中的 Windows 還是 Linux 上執行。

使用預備位置時,請務必將更新的目標設為正確的位置。

請使用下列步驟來更新 Java 版本:

  1. Azure 入口網站中,找出您的函數應用程式,然後選取左側的 [設定]。 使用預備位置時,請務必先選取特定位置。

  2. 在 [一般設定] 索引標籤中,將 [Java 版本] 更新為所需的版本。

    如何在 Azure 入口網站中為函數應用程式設定所需 Java 版本的螢幕擷取畫面。

  3. 選取 [儲存],並在收到重新開機通知時選取 [繼續]

請使用下列步驟來更新 .NET 版本:

  1. Azure 入口網站中,找出您的函數應用程式,然後選取左側的 [設定]。 使用預備位置時,請務必先選取特定位置。

  2. 在 [一般設定] 索引標籤中,將 [.NET 版本] 更新為所需的版本。

    如何在 Azure 入口網站中為函數應用程式設定所需 .NET 版本的螢幕擷取畫面。

  3. 選取 [儲存],並在收到重新開機通知時選取 [繼續]

請使用下列步驟來更新 Node.js 版本:

  1. Azure 入口網站中,找出您的函數應用程式,然後選取左側的 [設定]。 使用預備位置時,請務必先選取特定位置。

  2. 在 [一般設定] 索引標籤中,將 [Node.js 版本] 更新為所需的版本。

    如何在 Azure 入口網站中為函數應用程式設定所需 Node.js 版本的螢幕擷取畫面。

  3. 選取 [儲存],並在收到重新開機通知時選取 [繼續]。 這項變更會更新 WEBSITE_NODE_DEFAULT_VERSION 應用程式設定。

使用下列步驟來更新 PowerShell 版本:

  1. Azure 入口網站中,找出您的函數應用程式,然後選取左側的 [設定]。 使用預備位置時,請務必先選取特定位置。

  2. 在 [一般設定] 索引標籤中,將 [.NET 版本] 更新為所需的版本。

    如何在 Azure 入口網站中為函數應用程式設定所需 PowerShell 版本的螢幕擷取畫面。

  3. 選取 [儲存],並在收到重新開機通知時選取 [繼續]

Windows 不支援 Python 應用程式。 請改為選取 [Linux] 索引標籤。

您的函數應用程式會在您更新版本之後重新啟動。

交換位置

如果您已在預備位置執行程式碼專案部署和更新設定,則最後必須將預備位置與生產位置交換。 如需詳細資訊,請參閱交換位置

下一步