2017-10-31 12 views
1

하늘색 스토리지 테이블에서 읽고 싶은 Azure 앱 기능이 있습니다. 나는 하늘빛 기능과 테이블 스토리지를 처음 사용합니다. 그러나 샘플이 제대로 작동하지 않습니다.테이블 속성 바인딩이 IQueryable을 사용할 때 작동하지 않습니다. <T>

함수는 Visual Studio 2017에서 만들어지고 푸른 색으로 게시됩니다.

app 함수에는 게시 용으로 1 개, 가져 오기 용으로 2 개의 함수가 있습니다. 게시 기능이 예상대로 작동합니다.

게터 기능은 다음 오류와 함께 실패 :

internal error 500: "'TableName' can't be invoked from Azure WebJobs SDK. Is it missing Azure WebJobs SDK attributes?" 

가져 오기 기능 :

[FunctionName("FunctionName")] 
    public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get")]HttpRequestMessage req, [Table("TableName", Connection = "Default")]IQueryable<Person> inTable, TraceWriter log) 
    { 
     return req.CreateResponse(HttpStatusCode.OK); 
    } 

게시물의 유일한 차이점 및 방법을 얻을 자신의 서명입니다. 게시물은 ICollector 인터페이스에 대한 테이블 특성을 설정합니다.

[Table("TableName", Connection = "Default")]ICollector<Person> outTable 

그리고 얻기가 된 IQueryable 인터페이스

[Table("TableName", Connection = "Default")]IQueryable<Person> inTable 

상관 입력 테이블 속성 세트를 알 수있다.

이것은 거의 테이블 저장 작업을 위해 제공된 기본 샘플입니다.

+0

귀하의 게시물에 "AssetAdressBook"으로 지정된 테이블 이름이 있으며 "TableName"을 갖게됩니다. "TableName"테이블이 실제로 존재합니까? 아니면 "AssetAdressBook"으로 대체해도이 작업이 가능합니까? – jeffhollan

+0

오, 그걸 잊어 버렸습니다. 그들은 내 코드에서 동일합니다. – ambsorensen

답변

0

IQueryable을 사용할 때 T는 ITableEntity (또는 TableEntity에서 파생 됨)를 Storage SDK에서 구현해야합니다. ICollector에는이 제약 조건이 없습니다.

프로젝트가 Microsot.NET.SDK.Functions 참조와 동일한 버전의 저장소 SDK를 사용하고 있는지 확인하십시오 (나란히로드되는 새로운 새 저장소 SDK는 가져 오지 않음) .

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-table 여기에 몇 가지 자세한 내용이 있습니다. 예는 * .CSX (바인딩은 별도 function.json 파일에 있음)이고 * .cs (바인딩은 인라인 속성 임)입니다. 그러나 C# 유형 및 규칙은 동일합니다.

+0

사람 클래스가 ITableEntity로 구현됩니다. 나는 참고 문헌을 조사 할 것이다. 감사 – ambsorensen