了解 Azure Functions 應用程式設定
身為 Tailwind Traders 工程師,您正在處理連線至資料庫的 API。 您的 API 會透過資料庫連接字串連線到該資料庫。 在本課程模組中,您會了解將敏感性資訊 (例如連接字串) 儲存在 Azure Functions API 中的最佳做法。
將連接字串儲存為應用程式設定
建議避免硬式編碼的連接字串。 您可能會在不同的檔案中使用連接字串,而且未來可能會有所變更。
您會想要將連接字串儲存為應用程式設定:
- 應用程式設定會在一處指定,並在整個應用程式中參考。
- 您可以在未來的任何時間點輕鬆地變更這些設定,而不需要變更程式碼。
- 應用程式設定永遠不會簽入原始檔控制中。
Azure Functions 專案有一個 local.settings.json
檔案。 在本機開發時,此檔案包含一組在應用程式作為設定值的索引鍵/值組。 您可以將自己的項目新增至 Values
物件。 您可以從程式碼存取這些值。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
}
}
如果您想要新增連接字串,則可新增另一個名為 "CONNECTION_STRING" 的屬性 (或是任何其他名稱),然後將連接字串傳遞至您的資料庫。
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
"CONNECTION_STRING": "AccountEndpoint=https://tailwind-traders-7071.documents.azure.com:443/;AccountKey=123456;"
}
}
存取 Azure Functions 程式碼中的應用程式設定
若要從 JavaScript 存取 Azure Functions 中的這些設定值,請使用 process.env
物件。 其將包含 local.settings.json
檔案中指定的所有機碼/值組。
在 ./api/src/services/product.services.ts
找到的下列程式碼會從 process.env
物件讀取連接字串,以建立 CosmosClient 物件來存取 Azure Cosmos DB 服務。
let client = new CosmosClient(process.env.CONNECTION_STRING);
您現在知道如何在本機開發期間安全地儲存連接字串,以及如何在您的應用程式中參考該字串。