我正在开发允许用户下载 Azure Blob 存储项目的功能。
我正在尝试使用以下方法获取 blob 列表:
var list = await container.GetBlobsAsync(BlobTraits.All, BlobStates.All, string.Empty).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)
这是我遇到的错误:
错误 CS1061“ConfiguredCancelableAsyncEnumerable”不包含“GetAwaiter”的定义,并且找不到接受“ConfiguredCancelableAsyncEnumerable”类型的第一个参数的可访问扩展方法“GetAwaiter”(您是否缺少 using 指令或程序集引用?)
C# 7.3 可以使用异步吗?或者使用异步调用来获取容器中的所有 blob,我需要升级到 8.0 C#?
如果我将代码更改为:
await foreach (BlobItem page in container.GetBlobsAsync(BlobTraits.None, BlobStates.None, string.Empty))
{
yield return container.GetBlobClient(page.Name);
}
Run Code Online (Sandbox Code Playgroud)
然后我有这个错误:
错误 CS8370 功能“异步流”在 C# 7.3 中不可用。请使用 8.0 或更高版本的语言。
我知道 GetBlobsAsync() 返回AsyncPageable<>
,并且我假设它仅在 C# 8.0 中可用?