【发布时间】:2021-09-12 03:11:42
【问题描述】:
我一直在尝试在 Azure Data Lake Gen2 文件共享中创建一个目录。我可以使用下面的代码在同一个存储帐户中创建 Blob 容器而不会出错。
static void Main(string[] args)
{
string storageUri = "https://xxxxxxx.dfs.core.windows.net";
DefaultAzureCredential cred = new DefaultAzureCredential();
DataLakeServiceClient serviceClient = new DataLakeServiceClient(new Uri(storageUri), cred);
DataLakeFileSystemClient fileSystem = serviceClient.CreateFileSystem("test");
}
如何创建文件共享目录而不是 Blob 容器?我试过用xxxxxxx.file.core.windows.net代替dfs,但是得到一个错误AuthenticationErrorDetail: Authentication scheme Bearer is not supported for Files.
来自 Azure Storage Eplorer 的这段片段说明了我的意思。
我需要使用其他 API 吗?不同的身份验证?感谢您的帮助。
【问题讨论】:
-
是否要在 blob 容器中创建目录?
-
不,我想在 Data Lake 文件共享中创建一个目录。我可以使用显示的代码创建一个容器(又名“blob 目录”)。我添加了一个屏幕截图以更好地解释我所追求的。
-
啊……我明白了。基本上,您想在 ADLS Gen2 存储帐户中创建文件共享。为此,您需要 ShareServiceClient(使用 Azure.Storage.Files.Shares Nuget 包),并且您的存储 URI 将是
https://xxx.file.core.windows.net。 -
非常感谢@GauravMantri!我加载了您推荐的 API,现在正在尝试。 ShareServiceClient 无法使用 DefaultAzureCredential,所以我需要构建不同的身份验证。
-
太棒了!您可以使用存储凭据(帐户名/密钥)。
标签: c# azure azure-data-lake-gen2