在 java 中的目录级别使用适用于 ADLS Gen2 的 Azure AD 服务原则的 SAS 令牌

发布于 01-09 13:40 字数 117 浏览 6 评论 0原文

我一直在尝试使用 java 获取 ADLS Gen2 的 SAS 令牌,但没有任何好的示例或文档,任何人都可以提供一个示例或文档来遵循。 (我能够在容器级别生成 blob 存储,但不能在目录级别生成 ADLS Gen2)

I have been trying to get a SAS token for ADLS Gen2 using java but haven't got any good example or document, Can anyone please provide an example or document to follow. (I am able to generate for blob storage at container level but not for ADLS Gen2 at directory level)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

优雅的叶子2025-01-16 13:40:14

您是否考虑过 azure-storage-file-datalake 库?

自版本 12.3.0 起,它支持目录范围的 SAS 令牌,请尝试 DataLakeDirectoryClient#generateSas()

DataLakeDirectoryClient directoryClient = dataLakeServiceClient
    .getFileSystemClient("fileSystemName")
    .getDirectoryClient("path/to/directory");

var startTime = OffsetDateTime.now();
var permissions = new PathSasPermission().setReadPermission(true);
var values = new DataLakeServiceSasSignatureValues(startTime.plusDays(1),permissions)
    .setStartTime(startTime);

directoryClient.generateSas(values);

Have you considered the azure-storage-file-datalake library?

Since version 12.3.0 it supports Directory scoped SAS tokens, try DataLakeDirectoryClient#generateSas().

DataLakeDirectoryClient directoryClient = dataLakeServiceClient
    .getFileSystemClient("fileSystemName")
    .getDirectoryClient("path/to/directory");

var startTime = OffsetDateTime.now();
var permissions = new PathSasPermission().setReadPermission(true);
var values = new DataLakeServiceSasSignatureValues(startTime.plusDays(1),permissions)
    .setStartTime(startTime);

directoryClient.generateSas(values);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文