2017-10-17 4 views
1
나는 푸른 기능 COSMOS DB를 사용하는 것을 시도하고있다

CosmosDB 푸른 기능

내 기능은

{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": " 
    DefaultEndpointsProtocol=xxxxx/xxxxx==;EndpointSuffix=core.windows.net", 
    "AzureWebJobsDashboard": "", 
    "AzureWebJobsDocumentDBConnectionString": 
    "AccountEndpoint=xxxxx/;AccountKey=xxxx==;", 
    } 
} 

내가를 구성한

[FunctionName("DeleteAVFeedAuditData")] 
    public static async Task Run([TimerTrigger("0 0/1 * * * *")]TimerInfo myTimer, [DocumentDB]DocumentClient client, 
     TraceWriter log) 
    { 

     var c = client; 
     log.Info($"C# Timer trigger function executed at: {DateTime.Now}"); 
     var value=ConfigurationManager.AppSettings["AVAuditFlushAfterDays"]; 

     var collectionUri = UriFactory.CreateDocumentCollectionUri("AVFeedAudit", "AuditRecords"); 
     //var documents = client.CreateDocumentQuery(collectionUri,"Select * from c where c.EndedAt"); 

     //foreach (Document d in documents) 
     //{ 
     // await client.DeleteDocumentAsync(d.SelfLink); 
     //} 

    } 
} 

및 local.settings.json처럼 보인다 연결

"AzureWebJobsDocumentDBConnectionString"과 cosmosdb 연결 str "endurl + key"가 포함 된 #

응용 프로그램을 실행하려고 할 때. 그것의 말은 문서의 ID가 필요한 반면, Google에서는 연결 문자열을 기반으로 문서 클라이언트 객체를 만들 것이라고 말합니다.

제발 내가 바인딩에 뭐가 잘못되었는지 조언 해주세요. 내 목표로 나는 문서를 쿼리하고 문서를 삭제할 수있는 문서 클라이언트를 만드는 것입니다.

답변

4

답을 얻었다.

  1. 설치 패키지 microsoft.azure.documentdb -version 1.13 [참고 - 1.17이 아닌 버전]
  2. "가"AzureWebJobsDocumentDBConnectionString을 "local.settings.json을 추가로 이동합니다
  3. 이 host.json로 이동

  4. 상기 어셈블리 참조

    { "frameworks": { "net46": { "dependencies": { "Dynamitey": "1.0.2", "Microsoft.Azure.DocumentDB": "1.13.0", "Microsoft.Azure.WebJobs.Extensions.DocumentDB": "1.0.0" } } }

추가하고는 DocumentClient 객체를 생성하는 것 CRUD 조작을 수행 할 수 있습니다.

감사합니다.