programing

로컬에 Azure WebJobsStorage 값이 없습니다.settings.json Visual Studio 2017의 로컬 개발

bestprogram 2023. 5. 22. 21:53

로컬에 Azure WebJobsStorage 값이 없습니다.settings.json Visual Studio 2017의 로컬 개발

저는 스토리지 에뮬레이터와 스토리지 탐색기가 열리면서 로컬에서 zure 기능을 개발하고 있습니다.

파일 트리

파일 트리

로컬.j.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true"
  },
  "ConnectionStrings": {
    "PlantaoEntities": {
      "ConnectionString": "CENSORED",
      "ProviderName": "System.Data.EntityClient"
    }
  }
}

그러나 A에서 코드를 실행하려고 하면 다음 메시지가 표시됩니다.

로컬에 Azure WebJobsStorage 값이 없습니다.settings.json.HTTP를 제외한 모든 트리거에 필요합니다.'funazure function app fetch-app-settings'를 실행하거나 로컬에서 연결 문자열을 지정할 수 있습니다.설정.json

솔루션 제가 . 그리고 제가 시도한다면,func azure functionapp fetch-app-settings <functionAppName>그것은 azure 포털 자체에서 정보를 검색하려고 합니다.

실행할 때 동일한 오류가 발생했습니다.Azure Function내 안에서Visual Studio 2019.

여기에 이미지 설명 입력

나는 이미 설정했습니다.Copy To Output Directory에 대한 조치. 조에치에 대한 .Copy always저는 여전히 같은 오류를 겪고 있었습니다. Function이라는 입니다.local.settings.json이 지원하지 .nested json여기에서 이 문제를 추적할 수 있습니다.

나는 가치관을 가지고 있었습니다.local.settings.json앞에서 말한 바와 같이

{
  "IsEncrypted": false,
  "Values": {
    "Custom": {
      "Tickets": {
        "Channels": [
          "One",
          "Two"
        ]
      }
    },
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "ServiceBusConnectionString": ""
  }
}

값 내부에 추가로 중첩된 json(Custom) 개체가 있는 것을 볼 수 있듯이, 이 오류가 발생한 이유입니다.문제를 는 이문해결위해다음같은했라는 새로운 구성 .configuration.json사용자 지정 값을 추가합니다.

"Custom": {
      "Tickets": {
        "Channels": [
          "One",
          "Two"
        ]
      }
    }

해결책은 다음 중 하나를 사용하는 것입니다.ConfigurationBuilder또는 다음을 사용하여 해당 파일을 읽습니다.File.ReadAllText 을에전체일반추수있가다습니에서 할 수도 .local.settings.jsonJSON 개체 대신 사용합니다.

도움이 되길 바랍니다.

해결책은 로컬을 마우스 오른쪽 버튼으로 클릭하는 것이었습니다.settings.json, properties로 이동하여 "Copy to Output directory"를 "Do copy"에서 "Copy always"로 변경합니다.이제 Visual Studio 2017 내에서 실행할 때 CLI가 설정을 선택합니다.

https://github.com/Azure/azure-functions-core-tools/issues/223#issuecomment-326225219

참고로, 다음 값이 다음과 같을 때도 이 오류가 발생합니다."AzureWebJobsStorage"사실상 비어 있습니다(사실상니있 다습비어(다().""할 수 예를 들어 설정할 수 있습니다. "UseDevelopmentStorage=true"발전을 위하여

이 경우 스토리지 에뮬레이터를 로컬로 설치해야 합니다.문서를 참조하십시오.

방금 VS2019에서 이 오류를 보고 로컬을 재주문하여 해결했습니다.IsEncrypted 값이 "Values" 다음이 되도록 settings.json

{
   "Values": {
        "AzureWebJobsStorage": "removed",
      },
   "IsEncrypted": false
}

의 " 과음같오나니다타납가류다은▁your▁appears▁when다▁same니다local.settings.json에 쉼표 오류가 를 들어, json 오류가 .,,.

로컬에 중첩된 JSON이 필요한 사람들에게 위 솔루션 중 하나라도 작동하지 않는 경우.settings.json, 다음과 같이 중첩된 개체를 평평하게 만듭니다.

다음 항목:

"Config": {
 "MyCusomValue": "Value"
}  

다음이 됩니다.

"Config:MyCustomValue": "Value"

도 있는 .<ItemGroup>값이 올바르면 도움이 될 수 있습니다. 때부터local.settings.json했습니다. Visual . ㅠㅠㅠㅠㅠ 파일 시스템을 사용하여 하나를 복사했습니다. Mac용 Visual Studio에서 솔루션 탐색기에 표시했지만 무엇을 변경하든 선택하지 않았습니다.<CopyToOutputDirectory>제 다시 .to 에서 문제가 발생했습니다. 솔루션을 닫았다가 다시 열었더니 문제가 사라졌습니다.

Visual Studio와 관련된 질문이라는 것은 알고 있지만 Visual Studio Code에서 다음을 수행하여 오류를 해결할 수 있었습니다.

  1. Azurite 확장 설치
  2. F1을 누르고 Azurite를 입력합니다. 시작
  3. Azure Function을 정상적으로 디버그합니다(F5를 눌러).

자세한 내용은 Azurite의 공식 문서를 참조하십시오.

솔루션 - Azure 함수 노드.js/유형 스크립트(VSCODE)

이 솔루션은 지역 개발을 위한 것입니다.이 경우 스토리지 에뮬레이터를 로컬로 설치해야 합니다.문서를 참조하십시오.

루트에서 을 엽니다.local.settings.json합니다.AzureWebJobsStorage부터의 가치로에서 .""UseDevelopmentStorage=true.

예:"AzureWebJobsStorage": "UseDevelopmentStorage=true",

2.) Function App

예: 로컬.setting.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true"
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AZURE_STORAGE_CONNECTION": "Optional_your_remote_storage_string_in_azure"
    "AZURE_STORAGE_CONTAINER_NAME": "optional_remote_container_name"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredentials": false
  }
}

저는 이것을 따르고 효과가 있습니다.

.csproj 파일을 다음과 같이 수정합니다.

<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>

자세한 내용은 다음 링크를 확인하십시오. https://www.koskila.net/how-to-fix-missing-value-for-azurewebjobsstorage-in-local-settings-json-when-youre-debugging-azure-functions-locally/

저는 이 파일이 매우 까다롭기 때문에 VS2019에서 생성된 방식으로 되돌리고 위에서 제안한 대로 저만의 구성을 추가했습니다.

저는 제 가치 중 하나에 대한 마지막 인용구를 놓치고 있었습니다.제가 그것을 고치자마자, 모든 것이 작동했습니다.

Intellij Idea(VSode로 전환하고 싶지 않음)와 관련하여 동일한 문제가 발생했습니다.시스템에 따라 Azure Core 도구(Windows, 클라이언트 -_-에 의해 강제로 다운로드)를 다운로드해야 했습니다.

https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash

그런 다음 앱 설정 키에 추가하여 실행 구성을 편집합니다.

AzureWebJobsStorage

앱 설정 값에서 다음과 같이 입력합니다.

UseDevelopmentStorage=true

즐겁게 보내세요.

결국 이 문제를 해결했습니다. 로컬과 같은 당신의 구성 파일 때문입니다.settings.json 또는 appsettings.json에 경고 메시지가 표시되면 설정을 로드하지 못합니다.

또 다른 gotcha:

파일의 철자가local.settings.jsonVisual Studio에서 찾지 않고 값이 제공되지 않는다고 보고합니다.

문자열 배열이 지원되지 않으므로 설정에서 문자열 배열을 선언하는 경우에도 이 문제가 발생할 수 있습니다.저는 다음과 같은 것을 가지고 있었습니다.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true"
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AZURE_STORAGE_CONNECTION": "Optional_your_remote_storage_string_in_azure"
    "AZURE_STORAGE_CONTAINER_NAME": "optional_remote_container_name",
    "AllowedTypesToProcess": 
    [
        "MyType1",
        "MyType2",
        "MyType3"
    ]
  },
  "Host": {
    "LocalHttpPort": 7071
  }
}

어레이가 지원되지 않기 때문에 설정을 로드하지 못했지만 "로컬의 Azure WebJobsStorage 값이 없습니다."라는 오류 메시지가 표시됩니다.settings.json"

설정 배열이 필요한 경우 다음을 확인하십시오. https://www.titanwolf.org/Network/q/9256d500-5dbc-4375-851d-4d6f13928945/y

저의 경우 해결책은 Azure 함수 프로젝트를 잘못 선택한 것입니다.올바른 시작 프로젝트를 선택해야 합니다.

나는 확실히 함으로써 내 것을 일하도록 했습니다.connection로 끝나는 값_STORAGE.

function.json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "blob",
      "type": "blobTrigger",
      "direction": "in",
      "path": "container/{name}",
      "connection": "mystorage_STORAGE"
    }
  ]
}

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "FUNCTIONS_EXTENSION_VERSION": "~4",
    "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy==;",
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy==;",
    "mystorage_STORAGE": "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy==;"
  },
  "ConnectionStrings": {}
}

아래의 로컬 설정 업데이트

{
  "Values": 
  {
  "AzureWebJobsStorage": "DefaultEndpointsProtocol=`connection string of a blob storage`",
  "FUNCTIONS_WORKER_RUNTIME": "python"
  },
  "IsEncrypted": false
}

샘플 연결

string=https;AccountName=xxx;AccountKey=xxxxxxx==;EndpointSuffix=core.windows.net

전환하여 오류를 수정Copy to Output Directory을 위한 재산.local.settings.json에서 철하다.Copy if newer로.Copy always.

내 지역에서local.settings.json파일AzureWebJobsStorage복사된 실제 연결 포함Storage account->Security + networking->Access keys->key1->Connection string

파일의 철자가 로컬인 경우.settings.json이 틀렸습니다. Visual Studio에서 찾지 않지만 값이 제공되지 않는다고 보고합니다.

이것은 나에게 효과가 있습니다.

로컬을 확인하십시오.settings.json 파일 이름이 맞습니다.

언급URL : https://stackoverflow.com/questions/48907751/missing-value-for-azurewebjobsstorage-in-local-settings-json-local-development-i