【发布时间】:2019-06-19 02:06:31
【问题描述】:
我实现了 Azure 功能。
我有下一个案例:
- 当有内容上传到 blob 时(输入 Blob 被触发)
- 流程逻辑
- 保存一些内容以输出 blob(输出为返回值)
- 将其他内容保存到 dynamo db 集合(输出参数)
-
将其他内容保存到另一个 dynamo db 集合(输出参数)
[FunctionName("myFunction")] [return: Blob("images-text-out/{name}.txt")] public static string Run([BlobTrigger("samples-workitems/{name}", Connection = "StorageConnection")]Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob myBlob, string name, string blobTrigger, [CosmosDB( databaseName: "my-db-cosmos", collectionName: "CollectionA", ConnectionStringSetting = "CosmosDBConnection")] out dynamic processedFirst, [CosmosDB( databaseName: "my-db-cosmos", collectionName: "CollectionB", ConnectionStringSetting = "CosmosDBConnection")] out dynamic processedSecond, ILogger log, ExecutionContext context) { // . . . myBlob.DownloadToStreamAsync(memoryStream).Wait(); // . . . }
这工作正常。问题只是我不能利用异步调用的优势。原因很清楚,因为带有输出参数的方法不能是异步方法。
如何利用异步调用实现多输出的azure函数?
谢谢
【问题讨论】:
标签: c# azure azure-functions azure-cosmosdb azure-blob-storage