【发布时间】:2021-11-19 19:37:42
【问题描述】:
我正在尝试为 azure 存储 blob 创建临时 url。 我在以下这些命令的帮助下创建了 url。
const sasToken = generateBlobSASQueryParameters(sasOptions, sharedKeyCredential).toString();
sasUrls[serialNo] = `${containerClient.getBlockBlobClient(blobName).url}?${sasToken}`;
从第 2 行代码开始,sas url 与永久 uri 形成。因此,即使我与某人共享具有一些到期时间的临时 url,他们也可以看到/获取 blob 的永久 uri,并且也可以在到期时间后使用它。那么临时链接有什么用呢? 有什么方法/方法可以在临时链接中隐藏我的永久 uri 吗?
如果我错了,请指导我。
FY:我正在使用打字稿。
【问题讨论】:
-
他们可以看到 url,但除非您允许公开访问容器/blob,否则他们应该无法使用它。您可以为 Blob 存储端点设置自定义域,但我不确定这是否适合您的问题。 docs.microsoft.com/en-us/azure/storage/blobs/…
-
Jeremy 的评论很到位:SAS 专门用于帮助在短时间内公开私有 URL。超过那个时间,SAS 是无效的。在这一点上,拥有原始链接对任何人都没有帮助。你在这里实际上没有问题 - 一切都很好。
-
谢谢杰里米!通过将容器设置为私有,任何人都无法访问原始 URI。因此,要获取 blob,我们可以使用临时链接(用于第三方)或本地下载选项或任何其他选项(用于所有者或上传数据的人)。
标签: typescript azure-blob-storage azure-sas