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 개체에서 연결 문자열을 읽어 Azure Cosmos DB 서비스에 액세스할 CosmosClient 개체를 만듭니다.

let client = new CosmosClient(process.env.CONNECTION_STRING);

이제 로컬 개발 중에 연결 문자열을 안전하게 저장하는 방법과 애플리케이션에서 해당 문자열을 참조하는 방법을 알게 되었습니다.