【发布时间】:2020-04-28 10:55:31
【问题描述】:
我使用 Blob 作为输入绑定来获取 Blob 流作为输入,然后对此流文本进行处理。对于灾难恢复,我需要在函数获取输入流时将 LocationMode (Microsoft.Azure.Storage.RetryPolicies) 称为“PrimaryThenSecondary”。在这种情况下,默认的 LocationMode 是什么以及如何更改它。
下面是如何使用 Blob 输入绑定-
[FunctionName("FunctionName")]
public async Task RunAsync(
[EventGridTrigger]EventGridEvent eventGridEvent,
[Blob("{data.url}", FileAccess.Read, Connection = "BlobStorageConnectionString")]Stream input,
[Table("TableName", Connection = "BlobStorageConnectionString")]CloudTable cloudTable,
ILogger log)
{
//Some code
//To get the data in blob
StreamReader streamReader = new StreamReader(input);
string blobData = await streamReader.ReadToEndAsync();
}
我看到的一种控制方法是 - 获取 CloudBlockBlob 而不是流作为输入
[FunctionName("FunctionName")]
public async Task RunAsync(
[EventGridTrigger]EventGridEvent eventGridEvent,
[Blob("{data.url}", FileAccess.Read, Connection = "BlobStorageConnectionString")]CloudBlockBlob input,
[Table("TableName", Connection = "BlobStorageConnectionString")]CloudTable cloudTable,
ILogger log)
{
//Some code to get the stream using
// Task DownloadToFileAsync(string path, FileMode mode, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext);
}
【问题讨论】:
标签: azure azure-functions azure-blob-storage