如何使用文件Url从Azure Data Lake Storage中读取文件?

问题描述 投票:0回答:2

是否有一种方法可以从Azure数据湖读取文件。我有文件的Http网址。我想读它直接。我如何实现它,因为我看不到通过SDK来实现此目标的方法。

感谢您的帮助。

问候

azure azure-data-lake
2个回答
0
投票

您是否勾选了docs

docs

您也可以使用public async Task ListFilesInDirectory(DataLakeFileSystemClient fileSystemClient) { IAsyncEnumerator<PathItem> enumerator = fileSystemClient.GetPathsAsync("my-directory").GetAsyncEnumerator(); await enumerator.MoveNextAsync(); PathItem item = enumerator.Current; while (item != null) { Console.WriteLine(item.Name); if (!await enumerator.MoveNextAsync()) { break; } item = enumerator.Current; } }

例如,您可以使用sas令牌认证编写以下代码(或也可以使用共享密钥认证):

ADLS Gen2 rest api

0
投票

如果您知道ADLS Gen2 rest api,则可以直接使用 string sasToken = "?sv=2018-03-28&ss=b&srt=sco&sp=rwdl&st=2019-04-15T08%3A07%3A49Z&se=2019-04-16T08%3A07%3A49Z&sig=xxxx"; string url = "https://xxxx.dfs.core.windows.net/myfilesys1/app.JPG" + sasToken; var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url)); //you can specify the Method as per your operation as per the api doc req.Method = "HEAD"; var res = (HttpWebResponse)req.GetResponse(); 从ADLS Gen2读取文件。

首先,安装此nuget软件包:Blob APIs and Data Lake Storage Gen2 APIs can operate on the same data

请注意,在这种情况下,您应该使用这种类型的URL“ azure blob storage SDK”,而不是这种类型的URL“ Microsoft.Azure.Storage.Blob, version 11.1.6”。

这里是用于在ADLS Gen2中读取.txt文件的示例代码:

https://xxx.blob.core.windows.net/mycontainer/myfolder/test.txt

测试结果:

https://xxx.dfs.core.windows.net/mycontainer/myfolder/test.txt

© www.soinside.com 2019 - 2024. All rights reserved.