Azure Functions에서 구성 값 삽입
따라서 큰 질문에 대해 여기에서 어떻게 이동합니까(local.appsettings.json/env 변수):
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"FeatureFlag" : "True",
"ConfigValue" : "some random value"
}
}
여기로(함수/트리거에 삽입된 생성자):
public class FeatureHttpTrigger
{
private readonly FeatureConfig _config;
public FeatureHttpTrigger(FeatureConfig config)
{
_config = config;
}
[FunctionName("FeatureHttpTrigger")]
public async Task<IActionResult> RunAsync(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]
HttpRequest req, ILogger log)
{
......
}
}
준비
이 작업을 수행하려면 v3 of azure 함수를 사용하고 있는지 확인해야 합니다(v2에서도 작동해야 함).
다음으로 DI 설정이 있는지 확인해야 합니다. 여기에 도움이 되는 좋은 자료resource가 있습니다.
실제 단계
계속하기 전에 저는 기능 폴더의 열렬한 팬이며 이 예제를 빌드할 때 무의식적으로 사용했음을 덧붙이고 싶습니다. 필요하지 않으며 어떤 다른 구성은 무시할 수 있지만 이것은 내가 일반적으로 내 기능 코드를 구조화하는 방식입니다.
자, 이제 모든 것이 끝났습니다. 이제 본론으로 돌아가 보겠습니다.
가장 먼저 해야 할 일은 생성자 주입을 통해 사용하려는 모양으로 데이터를 보유할 클래스를 추가하는 것입니다.
public class FeatureConfig
{
public string ConfigValue { get; set; }
public bool FeatureFlag { get; set; }
}
다음으로, appsettings 또는 환경 변수 또는 함수 앱 구성(이상적으로는 모든 곳에서 :))에 값이 설정되어 있는지 확인해야 합니다.
이제 내가 일반적으로 수행하는 다음 작업은 필수 사항은 아니지만 모든 DI 구성을 보유할 정적 클래스를 생성하기 위해 코드를 보다 구조화된 si로 유지한다고 생각합니다.
internal static class ServiceRegistrations
{
public static void ConfigureServices(IServiceCollection builderServices, IConfiguration configuration)
{
builderServices.AddFeature();
}
private static IServiceCollection AddFeature(this IServiceCollection serviceCollection)
{
// here we would group all feature related DI code
serviceCollection.TryAddSingleton<FeatureConfig>(sp =>
{
var config = sp.GetService<IConfiguration>();
return new FeatureConfig
{
ConfigValue = config.GetValue<string>("ConfigValue"),
FeatureFlag = config.GetValue<bool>("FeatureFlag" )
};
});
return serviceCollection;
}
}
그리고 붐, 그게 다야 ...
자세히 보고 싶으시면 여기 링크github
Reference
이 문제에 관하여(Azure Functions에서 구성 값 삽입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/laur3d/inject-configuration-values-in-azure-functions-3767텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)