source

Azure 함수에서 설정 읽기

lovecheck 2023. 4. 22. 09:44
반응형

Azure 함수에서 설정 읽기

애저 기능이 처음이라...새로운 타이머 기능(30분마다 기동)을 작성했습니다.URL에 대한 쿼리를 실행하고 버퍼에 데이터를 푸시해야 합니다.

나는 했다

public static void Run(TimerInfo myTimer, TraceWriter log)
{
 var s = CloudConfigurationManager.GetSetting("url");
 log.Info(s);
}

기능 설정에는

여기에 이미지 설명 입력

내가 뭘 잘못하고 있지?감사해요.

Azure Functions v2의 경우 이는 더 이상 사실이 아닙니다.다음은 Jon Gallant의 블로그입니다.

Azure Functions v2의 경우 ConfigurationManager가 지원되지 않으므로 ASP를 사용해야 합니다.NET 코어 구성 시스템:

  1. 다음 문장을 사용합니다.

    using Microsoft.Extensions.Configuration;
    
  2. 매개 변수로 Execution Context 포함

    public static void Run(InboundMessage inboundMessage, 
        TraceWriter log,
        out string outboundMessage, 
        ExecutionContext context)
    
  3. 입수하다IConfiguration뿌리

    var config = new ConfigurationBuilder()
        .SetBasePath(context.FunctionAppDirectory)
        .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
        .AddEnvironmentVariables()
        .Build();
    
  4. AppSettings 키를 참조하기 위해 사용합니다.

    var password = config["password"]
    

로컬로 디버깅할 때 이 설정은local.settings.json[Values] 키워드 아래에 표시됩니다.Azure에서 실행할 경우 응용 프로그램 설정 탭에서 설정을 가져옵니다.

다음과 같이 사용할 수 있습니다.

var value = Environment.GetEnvironmentVariable("your_key_here")

이것은 로컬 또는 Azure에서 작업할 때 항상 설정을 가져옵니다.

[ Platform Features ]-> [ Application settings ]으로 이동하여 추가해야 합니다.

응용 프로그램 설정

설정

설정에서 설정을 추가합니다.


설정을 읽으려면 먼저 위에 다음을 추가합니다.

using System.Configuration;

다음으로 설정을 읽습니다.

string setting = ConfigurationManager.AppSettings["url"];

어디에url설정 키입니다.settingvariable에는 설정값이 포함됩니다.

권장 방법 - 환경 변수를 사용하여 설정을 읽습니다.

string Secret = System.Environment.GetEnvironmentVariable("Secret");

C#을 사용하여 로컬 PC 또는 Azure Functions에서 실행하는 경우 이 기능은 완벽합니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

python으로 해야 하는 경우:

import os
os.environ['ENVIRONMENT_VARIABLE']

3단계는 이제 안 해도 돼요.Startup.cs에서 다음 작업을 수행합니다.

Startup.cs

public IConfiguration Configuration { get; }

public Startup() { }

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

그런 다음 코드 파일에 DI를 사용합니다.

YourCode.cs.

public class SomeWorker : ISomeWorker
{
    private readonly IConfiguration _configuration;

    public SomeWorker(IConfiguration configuration)
    {            
        _configuration = configuration;
    }
    
    public void bool ForKicks()
    {
        // Get Value
        var val = _configuration["SomeValueInLocalSettingsJsonFile"];
    }
    
    // Other code here...
}

언급URL : https://stackoverflow.com/questions/43556311/reading-settings-from-a-azure-function

반응형