JavaScript용 Azure SDK를 사용하여 Node.js 앱 만들기
이 문서에서는 JavaScript용 Azure SDK를 사용하여 Azure App Configuration의 키-값에 액세스하는 방법의 예를 보여 줍니다.
Important
App Configuration은 JavaScript SDK를 기반으로 빌드되고 더 다양한 기능으로 사용하기 쉽도록 설계된 JavaScript 공급자 라이브러리를 제공합니다. 구성 설정을 맵 개체처럼 사용할 수 있으며 여러 레이블의 구성 컴퍼지션, 키 이름 트리밍 및 Key Vault 참조의 자동 확인과 같은 다른 기능을 제공합니다. 자세히 알아보려면 JavaScript 빠른 시작으로 이동하세요.
필수 조건
- 활성 구독이 있는 Azure 계정 - 무료로 만들기
- App Configuration 저장소. 저장소를 만듭니다.
- Node.js의 LTS 버전. Windows에서 직접 또는 WSL(Linux용 Windows 하위 시스템)을 사용하여 Node.js를 설치하는 방법에 대한 자세한 내용은 Node.js 시작하기를 참조하세요.
키-값 만들기
App Configuration 저장소에 다음 키-값을 추가하고 레이블 및 콘텐츠 형식을 기본값으로 둡니다. Azure Portal 또는 CLI를 사용하여 저장소에 키-값을 추가하는 방법에 대한 자세한 내용은 키-값 만들기로 이동합니다.
키 | 값 |
---|---|
TestApp:Settings:Message | Azure App Configuration의 데이터 |
Node.js 앱 설정
이 자습서에서는 app-configuration-example이라는 프로젝트에 대한 새 디렉터리를 만듭니다.
mkdir app-configuration-example
새로 만든 app-configuration-example 디렉터리로 전환합니다.
cd app-configuration-example
npm install
명령을 사용하여 Azure App Configuration 클라이언트 라이브러리를 설치합니다.npm install @azure/app-configuration
app-configuration-example.js라는 새 파일을 app-configuration-example 디렉터리에 만들고 다음 코드를 추가합니다.
const { AppConfigurationClient } = require("@azure/app-configuration"); async function run() { console.log("Azure App Configuration - JavaScript example"); // Example code goes here } run().catch(console.error);
참고 항목
이 예제의 코드 조각은 JavaScript용 App Configuration 클라이언트 라이브러리를 시작하는 데 도움이 됩니다. 애플리케이션의 경우 필요에 따라 예외를 처리하는 것도 고려해야 합니다. 예외 처리에 대한 자세한 내용은 당사의 JavaScript SDK 설명서를 참조하세요.
코드 샘플
이 섹션의 샘플 코드 조각에서는 JavaScript용 App Configuration 클라이언트 라이브러리를 사용하여 일반적인 작업을 수행하는 방법을 보여 줍니다. 이러한 코드 조각을 이전에 만든 app-configuration-example.js 파일의 run
함수 본문에 추가합니다.
참고 항목
App Configuration 클라이언트 라이브러리는 키-값 개체를 ConfigurationSetting
으로 참조합니다. 따라서 이 문서에서는 App Configuration 저장소의 키-값을 구성 설정이라고 합니다.
아래 방법 알아보기:
- App Configuration 저장소에 연결
- 구성 설정 가져오기
- 구성 설정 추가
- 구성 설정 목록 가져오기
- 구성 설정 잠금
- 구성 설정 잠금 해제
- 구성 설정 업데이트
- 구성 설정 삭제
App Configuration 저장소에 연결
다음 코드 조각은 AppConfigurationClient의 인스턴스를 만듭니다. Microsoft Entra ID(권장) 또는 연결 문자열 사용하여 App Configuration 스토어에 연결할 수 있습니다.
App Configuration 저장소에 인증하는 데 사용합니다 DefaultAzureCredential
. 지침에 따라 자격 증명에 App Configuration 데이터 판독기 역할을 할당합니다. 애플리케이션을 실행하기 전에 권한이 전파될 수 있는 충분한 시간을 허용해야 합니다.
const { DefaultAzureCredential } = require("@azure/identity");
const { AppConfigurationClient } = require("@azure/app-configuration");
const client = new AppConfigurationClient(
process.env.AZURE_APPCONFIG_ENDPOINT,
new DefaultAzureCredential()
);
구성 설정 가져오기
다음 코드 조각에서는 key
이름을 기준으로 구성 설정을 검색합니다.
const retrievedConfigSetting = await client.getConfigurationSetting({
key: "TestApp:Settings:Message"
});
console.log("\nRetrieved configuration setting:");
console.log(`Key: ${retrievedConfigSetting.key}, Value: ${retrievedConfigSetting.value}`);
구성 설정 추가
다음 코드 조각에서는 key
및 value
필드가 있는 ConfigurationSetting
개체를 만들고, addConfigurationSetting
메서드를 호출합니다.
이미 저장소에 있는 구성 설정을 추가하려고 하면 이 메서드에서 예외를 throw합니다. 이 예외를 방지하려면 setConfigurationSetting 메서드를 대신 사용할 수 있습니다.
const configSetting = {
key:"TestApp:Settings:NewSetting",
value:"New setting value"
};
const addedConfigSetting = await client.addConfigurationSetting(configSetting);
console.log("\nAdded configuration setting:");
console.log(`Key: ${addedConfigSetting.key}, Value: ${addedConfigSetting.value}`);
구성 설정 목록 가져오기
다음 코드 조각에서는 구성 설정 목록을 검색합니다.
keyFilter
및 labelFilter
인수를 제공하여 각각 key
및 label
을 기준으로 키-값을 필터링할 수 있습니다. 필터링에 대한 자세한 내용은 구성 설정을 쿼리하는 방법을 참조하세요.
const filteredSettingsList = client.listConfigurationSettings({
keyFilter: "TestApp*"
});
console.log("\nRetrieved list of configuration settings:");
for await (const filteredSetting of filteredSettingsList) {
console.log(`Key: ${filteredSetting.key}, Value: ${filteredSetting.value}`);
}
구성 설정 잠금
App Configuration에서 키-값의 잠금 상태는 ConfigurationSetting
개체의 readOnly
특성으로 표시됩니다.
readOnly
가 true
이면 설정이 잠깁니다. 두 번째 인수로 true
를 사용하여 setReadOnly
메서드를 호출하여 구성 설정을 잠글 수 있습니다.
const lockedConfigSetting = await client.setReadOnly(addedConfigSetting, true /** readOnly */);
console.log(`\nRead-only status for ${lockedConfigSetting.key}: ${lockedConfigSetting.isReadOnly}`);
구성 설정 잠금 해제
ConfigurationSetting
의 readOnly
특성이 false
이면 설정이 잠금 해제됩니다. 두 번째 인수로 false
를 사용하여 setReadOnly
메서드를 호출하여 구성 설정을 잠금 해제할 수 있습니다.
const unlockedConfigSetting = await client.setReadOnly(lockedConfigSetting, false /** readOnly */);
console.log(`\nRead-only status for ${unlockedConfigSetting.key}: ${unlockedConfigSetting.isReadOnly}`);
구성 설정 업데이트
setConfigurationSetting
메서드를 사용하여 기존 설정을 업데이트하거나 새 설정을 만들 수 있습니다. 다음 코드 조각에서는 기존 구성 설정의 값을 변경합니다.
addedConfigSetting.value = "Value has been updated!";
const updatedConfigSetting = await client.setConfigurationSetting(addedConfigSetting);
console.log("\nUpdated configuration setting:");
console.log(`Key: ${updatedConfigSetting.key}, Value: ${updatedConfigSetting.value}`);
구성 설정 삭제
다음 코드 조각에서는 key
이름을 기준으로 구성 설정을 삭제합니다.
const deletedConfigSetting = await client.deleteConfigurationSetting({
key: "TestApp:Settings:NewSetting"
});
console.log("\nDeleted configuration setting:");
console.log(`Key: ${deletedConfigSetting.key}, Value: ${deletedConfigSetting.value}`);
앱 실행
이 예제에서 Azure App Configuration 클라이언트 라이브러리를 사용하여 Azure Portal을 통해 만든 구성 설정을 검색하고, 새 설정을 추가하고, 기존 설정 목록을 검색하고, 설정을 잠금 및 잠금 해제하고, 설정을 업데이트하고, 마지막으로 설정을 삭제하는 Node.js 앱을 만들었습니다.
이 시점에서 app-configuration-example.js 파일에는 다음 코드가 있습니다.
const { DefaultAzureCredential } = require("@azure/identity");
const { AppConfigurationClient } = require("@azure/app-configuration");
async function run() {
console.log("Azure App Configuration - JavaScript example");
const client = new AppConfigurationClient(
process.env.AZURE_APPCONFIG_ENDPOINT,
new DefaultAzureCredential()
);
const retrievedConfigSetting = await client.getConfigurationSetting({
key: "TestApp:Settings:Message"
});
console.log("\nRetrieved configuration setting:");
console.log(`Key: ${retrievedConfigSetting.key}, Value: ${retrievedConfigSetting.value}`);
const configSetting = {
key: "TestApp:Settings:NewSetting",
value: "New setting value"
};
const addedConfigSetting = await client.addConfigurationSetting(configSetting);
console.log("Added configuration setting:");
console.log(`Key: ${addedConfigSetting.key}, Value: ${addedConfigSetting.value}`);
const filteredSettingsList = client.listConfigurationSettings({
keyFilter: "TestApp*"
});
console.log("Retrieved list of configuration settings:");
for await (const filteredSetting of filteredSettingsList) {
console.log(`Key: ${filteredSetting.key}, Value: ${filteredSetting.value}`);
}
const lockedConfigSetting = await client.setReadOnly(addedConfigSetting, true /** readOnly */);
console.log(`Read-only status for ${lockedConfigSetting.key}: ${lockedConfigSetting.isReadOnly}`);
const unlockedConfigSetting = await client.setReadOnly(lockedConfigSetting, false /** readOnly */);
console.log(`Read-only status for ${unlockedConfigSetting.key}: ${unlockedConfigSetting.isReadOnly}`);
addedConfigSetting.value = "Value has been updated!";
const updatedConfigSetting = await client.setConfigurationSetting(addedConfigSetting);
console.log("Updated configuration setting:");
console.log(`Key: ${updatedConfigSetting.key}, Value: ${updatedConfigSetting.value}`);
const deletedConfigSetting = await client.deleteConfigurationSetting({
key: "TestApp:Settings:NewSetting"
});
console.log("Deleted configuration setting:");
console.log(`Key: ${deletedConfigSetting.key}, Value: ${deletedConfigSetting.value}`);
}
run().catch(console.error);
환경 변수 구성
Microsoft Entra ID(권장) 또는 연결 문자열 사용하여 환경 변수를 구성합니다.
AZURE_APPCONFIG_ENDPOINT 환경 변수를 Azure Portal의 저장소 개요 아래에 있는 App Configuration 저장소의 엔드포인트로 설정합니다.
Windows 명령 프롬프트를 사용하는 경우 다음 명령을 실행하고, 명령 프롬프트를 다시 시작하여 변경 내용을 적용합니다.
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
PowerShell을 사용하는 경우 다음 명령을 실행합니다.
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
macOS 또는 Linux를 사용하는 경우 다음 명령을 실행합니다.
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
콘솔 창에서 app-configuration-example.js 파일이 포함된 디렉터리로 이동하고, 다음 Python 명령을 실행하여 앱을 실행합니다.
node app.js
다음과 같은 출력이 표시됩니다.
Azure App Configuration - JavaScript example Retrieved configuration setting: Key: TestApp:Settings:Message, Value: Data from Azure App Configuration Added configuration setting: Key: TestApp:Settings:NewSetting, Value: New setting value Retrieved list of configuration settings: Key: TestApp:Settings:Message, Value: Data from Azure App Configuration Key: TestApp:Settings:NewSetting, Value: New setting value Read-only status for TestApp:Settings:NewSetting: true Read-only status for TestApp:Settings:NewSetting: false Updated configuration setting: Key: TestApp:Settings:NewSetting, Value: Value has been updated! Deleted configuration setting: Key: TestApp:Settings:NewSetting, Value: Value has been updated!
리소스 정리
이 문서에서 만든 리소스를 계속 사용하지 않으려면 여기서 만든 리소스 그룹을 삭제하여 요금이 부과되지 않도록 합니다.
Important
리소스 그룹을 삭제하면 다시 되돌릴 수 없습니다. 리소스 그룹 및 포함된 모든 리소스가 영구적으로 삭제됩니다. 잘못된 리소스 그룹 또는 리소스를 자동으로 삭제하지 않도록 합니다. 유지하려는 다른 리소스가 포함된 리소스 그룹 내에서 이 문서에 대한 리소스를 만든 경우 리소스 그룹을 삭제하는 대신 해당 창에서 각 리소스를 개별적으로 삭제합니다.
- Azure Portal에 로그인하고 리소스 그룹을 선택합니다.
- 이름으로 필터링 상자에서 리소스 그룹의 이름을 입력합니다.
- 결과 목록에서 리소스 그룹 이름을 선택하여 개요를 확인합니다.
- 리소스 그룹 삭제를 선택합니다.
- 리소스 그룹 삭제를 확인하는 메시지가 표시됩니다. 리소스 그룹의 이름을 입력하여 확인하고 삭제를 선택합니다.
잠시 후, 리소스 그룹 및 모든 해당 리소스가 삭제됩니다.
다음 단계
이 가이드에서는 JavaScript용 Azure SDK를 사용하여 Azure App Configuration의 키-값에 액세스하는 방법을 보여 줬습니다.
추가 코드 샘플은 다음을 방문하세요.
JavaScript 앱에서 Azure App Configuration을 사용하는 방법을 알아보려면 다음으로 이동하세요.