要上传的特定文件的 Azure SAS 令牌?具有读取和到期时间(JAVA)

Posted

技术标签:

【中文标题】要上传的特定文件的 Azure SAS 令牌?具有读取和到期时间(JAVA)【英文标题】:Azure SAS Token for a specific file to be uploaded ? With Read And Expiry Time (JAVA) 【发布时间】:2022-01-13 07:40:40 【问题描述】:

我有BlobServiceAsyncClient

使用TenantIDclientIDClientSecretContainerName 来创建blobContainerAsyncClient

上传文件为

blobContainerAsyncClient.getBlobAsyncClient(fileName).upload(.........);

【问题讨论】:

你好@Piyush,如果我的回答对你有帮助,你可以接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢 【参考方案1】:

你可以使用下面的代码

创建具有只读权限且仅在接下来的 10 分钟内可用的共享访问签名。

public string CreateSAS(string blobName)


    var container = blobClient.GetContainerReference(ContainerName);

    // Create the container if it doesn't already exist
    container.CreateIfNotExists();

    var blob = container.GetBlockBlobReference(blobName);

    var sas = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
    
        Permissions = SharedAccessBlobPermissions.READ,
        SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10),
    );

    return sas;

请参阅此文档以获取更多信息:https://tech.trailmax.info/2013/07/upload-files-to-azure-blob-storage-with-using-shared-access-keys/

【讨论】:

以上是关于要上传的特定文件的 Azure SAS 令牌?具有读取和到期时间(JAVA)的主要内容,如果未能解决你的问题,请参考以下文章

完成文件上传后,如何使用 nodejs 撤销 Azure 的共享访问签名(SAS)?

有没有办法重新生成 Azure Blob 存储 SAS 令牌

Azure SAS 令牌不适用于 Azure.Storage.Blobs BlobServiceClient

具有 NPM azure-storage 的 Azure 文件不返回访问令牌

使用 SAS 令牌从 Azure 阶段读取时出现雪花错误

在 Java 中生成 SAS 令牌以下载 Azure 数据存储容器中的文件