使用 Core Tools 將函式發佈至 Azure

已完成

您可以使用 Core Tools 將函式發佈至 Azure。

現在您已建置並測試簡單的興趣函式,因此您想要將其發佈至 Azure。 很高興看到它在網路上啟動並執行。 如果是的話,您可以將 URL 傳送給同事,讓他們能夠從任何地方加以呼叫。

建立函式應用程式

您必須先在 Azure 中建立必要的資源,包括用來裝載專案的函數應用程式,才能使用 Core Tools 發佈專案。 函式也需要儲存體帳戶。 您無法使用 Core Tools 來建立這些 Azure 資源。 相反地,您透過 Azure 管理工具來建立函數應用程式,前者包含 Azure 入口網站、Azure CLI 和 Azure PowerShell。 在下一個練習中,執行 Azure CLI 的 az functionapp create 命令來建立函數應用程式,以將程式碼發佈至該處。

在本教學課程的範圍內,您在建立函數應用程式時所應考量的關鍵選項,是語言執行階段。 函數應用程式僅支援單一語言執行階段。 如果已有想要發佈的本機函式專案,請務必使用相同的語言執行階段來建立函數應用程式。 當您嘗試將專案部署至具有不同執行階段的應用程式時,發佈作業因錯誤而停止。

發佈至 Azure

若要將函式專案發佈至 Azure 中的函數應用程式,請從函式專案資料夾執行 func azure functionapp publish <app_name><app_name> 是目標函式應用程式在 Azure 中的名稱,而不是您的專案資料夾名稱,兩者可能會不同。

Publishing a function app with func azure functionapp publish.

Core Tools 不會要求您登入 Azure。 其會從 Azure CLI 或 Azure PowerShell 載入您的工作階段資訊,以存取您的訂用帳戶和資源。 如果您在其中一個工具中沒有使用中的工作階段,則發佈會失敗。 若沒有 Azure CLI 或 Azure PowerShell,就可以從 Core Tools 發佈。 不過,如果您有它們,會比較容易。 建議您安裝一個或另一個。 請務必在嘗試發佈之前登入。

當輸出指出發佈完成後,表示您的函式已在 Azure 中啟動並執行中。 最終發佈輸出會顯示已發佈的函式,包括每個 HTTP 觸發函式的調用 URL。

須知事項

使用 Core Tools 發佈函式時,請留意以下幾點:

  • Core Tools 不會在發佈期間驗證或測試您的函式程式碼。
  • 在發佈之前,請務必使用 func start 進行一些測試!
  • 當您發佈時,任何已存在於目標應用程式中的函式都會停止並刪除,直到專案的內容完成部署。
  • 您無法藉由透過以下順序發佈函式,將多個專案中的函式合併成一個應用程式。
  • 您在應用程式中想要的所有函式都必須位於單一專案中。
  • 發佈至 Azure 後,並不會在本機專案與目標函數應用程式之間建立任何類型的關聯性。
  • 您可以將單一函式專案發佈至多個函式應用程式。
  • 在處理程式碼時,您也可以重複將專案重新發佈至相同的應用程式。
  • 在發佈後顯示的叫用 URL 中,可能會在查詢字串中包含 code 參數。
  • 您可以在螢幕擷取畫面中看到:?code=4FowT1ywMNoxqa...
  • HTTP 觸發程式函式具有函式的授權層級,因此您必須在要求標頭或查詢字串中傳遞祕密函式金鑰。
  • Core Tools 會在顯示的 URL 中傳回查詢字串中的金鑰,以方便您作業。