-
Azure Functions - Azure Functions 설정 Azure App Configuration 연결C# 2022. 7. 1. 12:29728x90
Azure Functions - Azure Functions 설정 Azure App Configuration 연결
클라우드에서 속성의 관리가 가능한 Azure App Configuration을 연결하는 방법에 대해 알아보자.
Azure App Configuration 리소스 만들기
- Azure Potal 에서 'App Configuration'를 선택해 '만들기'
- '리소스 그룹', 위치, 리소스 이름, 가격 등급을 선택 후 생성
- 'Access Keys' 메뉴에서 'Connection String'을 복사한다. 이후 해당 리소스에 접속을 하기위해 필요하다.
- 설정값을 한번 지정해보자. 'Configuration exploer' 메뉴로 들어와 + Create 클릭 후 'key-value'를 선택한다.
- 'key' 항목에는 속성의 Key 값, 'Value' 항목에는 'Value' 항목에는 속성의 값 을 입력하고 설명을 추가하려면 'Label'항목에 설명을 추가하고 type까지 지정해두려면 'Content type'항목에 type을 입력한다.
Azure Functions에서 App Configuration 사용
- Azure Fucntions 프로젝트에서 '새 항목' 추가를 선택해 `Startup.cs' 파일을 생성한다.
- Nuget Package로
Microsoft.Extensions.Configuration.AzureAppConfiguration
와Microsoft.Azure.Functions.Extensions
를 추가하거나 업데이트한다. - 이후 아래 소스에서 'namespace명'을 변경해 복사해 넣어보자
using Microsoft.Azure.Functions.Extensions.DependencyInjection; using System; using Microsoft.Extensions.Configuration; using System.IO; [assembly: FunctionsStartup(typeof('namespace명'.Startup))] namespace `namespace명` { internal class Startup : FunctionsStartup { public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder) { //환경변수로 App Configuration 연결 문자열 가져오기 string cs = Environment.GetEnvironmentVariable("ACCS"); builder.ConfigurationBuilder .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("local.settings.json", optional: false, reloadOnChange: false) .AddEnvironmentVariables() .Build(); // 연결문자열로 AppConfiguration 설정 가져오기 builder.ConfigurationBuilder.AddAzureAppConfiguration(cs); } public override void Configure(IFunctionsHostBuilder builder) { } } }
- 우선 assembly를 사용하여 Startup에서 Functions가 시작할때 사용하는 형식을 가져온다.
- 이후 클래스에
FucntionStartup
을 상속받는다. ConfiguraeAppConfiguration
을 overide 하여IFucntionsConfigurationbuilder
의 builder를 사용 가능하게 된다.builder.ConfigurationBuilder.AddAzureAppConfiguration(연결문자열값)
을 입력해 속성을 등록한다. 만약 내부에서 확인하려면 파일의 속성을 가져오는 것도 방법이다.- Azure Fucntions 실행 함수가 존재하는 파일로 돌아와 (기본값 Function1.cs) 최상단에
using Microsoft.Extensions.Configuration;
를 추가한다. - 그다음
IConfiguration
의 인스턴스를 가져오는 생성자를 추가한다.(이때 함수가 static 으로 선언되었다면 지워준다.)
private readonly IConfiguration _configuration; public Function1(IConfiguration configuration) { _configuration = configuration; }
- 이후 함수에서
string key = _configuration["Test"];
를 추가해 app Configuration에 등록한 속성값이 받아와지는지 확인한다.
728x90반응형'C#' 카테고리의 다른 글
C# - ConfigurationBuilder 2 - 중요메서드 (0) 2022.07.05 C# - ConfigurationBuilder 1 - ConfigurationBuilder란? (0) 2022.07.04 PowerApps-Samples DataverseSDK 예제설명 3 - TelemetryUsingILogger (0) 2022.06.25 PowerApps-Samples DataverseSDK 예제설명 2 - CreateUpdateDelete (0) 2022.06.24 PowerApps-Samples DataverseSDK 예제설명 1 - WhoAmI (0) 2022.06.23 - Azure Potal 에서 'App Configuration'를 선택해 '만들기'