테이블로 출력 할 Azure 함수를 만들려고합니다. 나는 Azure Function App을 사용하고 있습니다. 그래서 현재 이해하고 있듯이 SDK에 의해 function.json이 생성되었습니다. 내 함수 정의는 다음과 같습니다 :출력 바인딩 및 function.json 생성
public static HttpResponseMessage Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)]HttpRequestMessage req,
TraceWriter log,
[StorageAccount("table_storage")] ICollector<TableItem> outputTable)
TableEntity를 상속 한 클래스로 TableItem을 정의했습니다. 나는이를 배포하고 생성 된 function.json 볼 때, 그것은 바인딩 출력 매개 변수를 언급하지 않습니다
{
"generatedBy": "Microsoft.NET.Sdk.Functions.Generator-1.0.7",
"configurationSource": "attributes",
"bindings": [
{
"type": "httpTrigger",
"methods": [
"post"
],
"authLevel": "function",
"name": "req"
}
],
"disabled": false,
"scriptFile": "../bin/FunctionApp5.dll",
"entryPoint": "FunctionApp5.DeliveryComplete.Run"
}
내가 비주얼 스튜디오에서 이것을 실행하면, 나는 다음과 같은 오류 얻을 :
Cannot bind parameter 'outputTable' to type ICollector`1
을
이 동작에 대한 몇 가지 질문이 있습니다. 첫 번째와 주된 이유는 function.json이 출력 바인딩을 표시하지 않는 이유는 무엇입니까? 둘째, 왜 VS에서 배포 할 때이 편집 할 수없는 이해하지만, 짐작하지 않고 바인딩을 관리 할 수있는 방법이 있습니다 (나는 this post의 ICollector를 사용하여 왔지만) 다른 곳에서는 찾을 수 없습니다. 또는 거기 있으면 안된다.
마지막으로 데스크톱에서 실행되는 (또는 실행되는) 기능이 게시 된 기능과 어떻게 상호 작용합니까? 즉, 기능의 게시 된 버전에 연결합니까, 아니면 로컬로 function.json을 생성합니까? 혼란의 일반적인 원인이지만, 입력 및 출력 바인딩이 function.json
생성에 표시되지 않습니다
감사합니다. 왜 이것이 일반적인 혼란의 원인인지 알 수 있습니다. 공유 한 링크는 출력 바인딩의 예를 보여줍니다. 그냥 안된다. 3, 서버에서 function.json이 무엇이든간에 (생성 된?) 하나를 사용한다는 것을 의미합니까? –
@ pm_2 Azure에 배포 된 것은 로컬로 실행하는 것에 영향을주지 않습니다. – Mikhail
고마워요 - 그게 잘 작동하는 것 같습니다. 그것은 다른 질문 일지 모르지만, TableItem이 ITableEntity를 구현하고 (그리고 RowKey를 구현하는) TableEntity에서 상속 받기 때문에 "테이블 엔티티 유형이 RowKey 속성을 구현해야합니다"라는 오류로 진행됩니다. –