로컬에서 값을 읽습니다.vs 2017 Azure Function 개발에서 settings.json을 소개합니다.
VS 2017에서 Azure 함수를 쓰고 있습니다.몇 가지 커스텀 설정 파라미터를 설정할 필요가 있습니다.추가했습니다.local.settings.json
아래Values
.
{
"IsEncrypted":false,
"Values" : {
"CustomUrl" : "www.google.com",
"Keys": {
"Value1":"1",
"Value2" :"2"
}
}
}
지금이다,ConfigurationManager.AppSettings["CustomUrl"]
null을 반환합니다.
사용하고 있는 것:
- .NET Framework 4.7
- 마이크로소프트(MS.NET.Sdk기능 1.0.5
- System. Configuration(System.Configuration Manager 4.4.0
- 애저, 기능.CLI 1.0.4
내가 뭘 빼놓았나요?
Environment.GetEnvironmentVariable("key")
지역 가치를 읽을 수 있었다.settings.json을 클릭합니다.
먼저 샘플을 만들어 당신의 현지인과 테스트를 합니다.settings.json 데이터, 미하일과 ahmelsayed가 말했듯이, 그것은 잘 작동합니다.
게다가, 내가 아는 한,Values
컬렉션은 사전이어야 합니다. 문자열이 아닌 값이 포함된 경우 Azure 함수가 로컬에서 값을 읽지 못할 수 있습니다.settings.json을 클릭합니다.
마이 테스트:
ConfigurationManager.AppSettings["CustomUrl"]
다음 로컬과 함께 null을 반환합니다.settings.json을 클릭합니다.
{
"IsEncrypted": false,
"Values": {
"CustomUrl": "www.google.com",
"testkey": {
"name": "kname1",
"value": "kval1"
}
}
}
TimeTrigger 기반 Azure 기능을 사용하는 경우 로컬에서 생성된 키에 액세스할 수 있습니다.settings.json)을 클릭합니다.
[FunctionName("BackupTableStorageFunction")]
public static void Run([TimerTrigger("%BackUpTableStorageTriggerTime%")]TimerInfo myTimer, TraceWriter log, CancellationToken cancellationToken)
Azure 함수는 바이너리를 bin 폴더에 복사하고 azure 함수 cli를 사용하여 실행되므로 로컬을 검색합니다.settings.json, settings.json 이 설정되었는지 확인합니다."Copy to Output Directory"
로."Copy Always"
(아마도 일부 이전 버전)을 사용하여IConfiguration
함수의 생성자로 변환합니다.
public Function1(IConfiguration configuration)
{
string setting = _configuration.GetValue<string>("MySetting");
}
MySetting
에 있어야 합니다.Values
의 단면local.settings.json
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"MySetting": "value"
}
}
Azure Function App의 어플리케이션 설정에서도 동작합니다.
디버깅 중에는 속성을 읽을 수 있지만 디버깅을 진행하려고 하면 이러한 속성은 더 이상 작동하지 않습니다.Azure 함수는 중첩된 속성을 허용하지 않으므로 "Values" 옵션 또는 "ConnectionStrings"에서 모든 속성을 인라인으로 사용해야 합니다.이 문서를 참조해 주세요.https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings
var value = Environment.GetEnvironmentVariable("key", EnvironmentVariableTarget.Process);
더 적절한 답변이 될 것입니다만,EnvironmentVariableTarget.Process
디폴트값이지만 여기서 더 의미가 있습니다.
이것 좀 봐EnvironmentVariableTarget
선언.
//
// Summary:
// Specifies the location where an environment variable is stored or retrieved in
// a set or get operation.
public enum EnvironmentVariableTarget
{
//
// Summary:
// The environment variable is stored or retrieved from the environment block associated
// with the current process.
Process = 0,
//
// Summary:
// The environment variable is stored or retrieved from the HKEY_CURRENT_USER\Environment
// key in the Windows operating system registry. This value should be used on .NET
// implementations running on Windows systems only.
User = 1,
//
// Summary:
// The environment variable is stored or retrieved from the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session
// Manager\Environment key in the Windows operating system registry. This value
// should be used on .NET implementations running on Windows systems only.
Machine = 2
}
언급URL : https://stackoverflow.com/questions/46714677/read-values-from-local-settings-json-in-vs-2017-azure-function-development
'programing' 카테고리의 다른 글
Mongodb에서 단일 문서의 크기를 얻는 방법은 무엇입니까? (0) | 2023.04.01 |
---|---|
Django 앱의 Access-Control-Allow-Origin (0) | 2023.04.01 |
401(Authentication Error)을 액시스로 처리하여 어떻게 대응합니까? (0) | 2023.04.01 |
AngularJS용 커스텀 모듈은 어떻게 작성합니까? (0) | 2023.04.01 |
ie9+에서 약속을 이행하는 방법이 있는가? (0) | 2023.04.01 |