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