練習 - 建立函式專案

已完成

Tailwind Traders 已計劃建置傳統 API,但您熟練地指出對於遭遇非預期流量激增的 API 來說,無伺服器才是最佳選擇。 此 API 也可以在不干擾現有程式碼基底的情況下完成。 您已經順利完成。 您未來的線上硬體銷售生涯很長。

現在該兌現那些崇高的流行語了。 現在,您必須在 Azure Functions 中建立一個新專案,以成為 Products Manager 應用程式的 HTTP API。 這意味著建立 Azure Functions 專案,並完成 Products Manager 應用程式要能夠建立、讀取、更新及刪除產品所需的所有端點。

使用現有的程式碼建立專案

此練習會提供已部分完成的程式碼基底。 當您建立新的 Azure Functions 應用程式時,您必須保留現有的 package.json 檔案。 package.json 檔案是包含專案相依性的檔案。 如果您覆寫它,就會失去現有的相依性。

已選取此工作流程,讓您在專案上有個好的開始。 您可以專注於無伺服器程式碼和資料庫整合程式碼,而不必從頭開始設定專案。

建立新的 Azure Functions 專案

  1. 在 Visual Studio Code 中開啟命令選擇區。

  2. 輸入建立新專案

  3. 選取 [Azure Functions: 建立新專案]

  4. 選取 [api] 資料夾。

  5. 出現提示時,請輸入下列值。 出現提示時,請不要覆寫 package.json 檔案。

    名稱
    語言 TypeScript
    選取 TypeScript 程式設計模型 模型 V4
    範本 HTTP 觸發程序
    名稱 GetProducts
    覆寫 package.json No
  6. 當系統要求您覆寫 .gitignorepackage.json 檔案時,請務必選取 [否]

    api/src 中的函式資料夾現在在 api/src/functions/GetProducts.ts 包含一個具有函式的新 Azure Functions 應用程式。 也已新增數個其他必要專案檔案,包括 host.jsonlocal.settings.json

  7. src/index.ts 中,新增此 import 陳述式。

    import { GetProducts } from "./functions/GetProducts";
    
  8. src/index.ts 中,新增路由定義的處理常式。

    app.http('GetProducts', {
        methods: ['GET', 'POST'],
        authLevel: 'anonymous',
        handler: GetProducts
    });
    

檢查 Create、Update 與 Delete 函式

已為您建立了 Create、Update 與 Delete 函式。 這些函式的建立程序與您用來建立 GetProducts 函式的程序相同,且其中已經包含資料庫存取碼。

  • 請注意,api 專案已經包含 CreateProductDeleteProductUpdateProduct 函式。

執行 Azure Functions 專案

您可以從 Visual Studio Code 在本機執行和偵錯 Azure Functions 專案。

  1. 開啟 [命令選擇區]。

  2. 輸入 debug select

  3. 選取 [偵錯: 選取並開始偵錯]

  4. 選取 [附加至節點函式]

    Azure Functions 專案會啟動。 終端會顯示函式應用程式 URL。

    Visual Studio Code 整合式終端的螢幕擷取畫面,其中顯示函式 URL。

Visual Studio Code 會產生下列錯誤:「無法讀取未定義的屬性 'endpoint'」。 沒關係! 那是因為您尚未設定資料庫連接字串。 請注意,該錯誤上方會列出四個端點,如果您選取其中一個端點,則會收到相同錯誤。