Share via


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

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

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

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

本文說明如何使用隔離式背景工作角色模型來更新應用程式的 .NET 版本。 在內含式模型上執行的應用程式在未切換至隔離式背景工作角色模型的情況下,尚無法更新到 .NET 8。 若要移轉至隔離式背景工作角色模型,請參閱將 .NET 應用程式從內含式模型移轉至隔離式背景工作角色模型。 如需 .NET 8 方案的相關資訊,包括內含式模型的未來選項,請參閱 Azure Functions 藍圖更新文章

準備更新

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

1.在本機驗證您的函數

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

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

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

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

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

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

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

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

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

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

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

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

    Screenshot of how to view the Functions runtime version for your app in the Azure portal.

如果您需要先將函數應用程式更新為 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 版本] 更新為所需的版本。

    Screenshot of how to set the desired Java version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired .NET version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired Node.js version for a function app in the Azure portal.

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

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

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

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

    Screenshot of how to set the desired PowerShell version for a function app in the Azure portal.

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

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

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

交換位置

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

下一步