因此,我有一个使用azurestoragejs库(2.10.102)并在此处使用示例的框架:
https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob.html
但是这些往往集中在为整个容器获取SAS上。而我需要直接从浏览器上传一个大文件到Blob。因此,我可以使用中间件生成过期的只写令牌。但这就是整个容器。这是相当安全的,但是我不禁感到自己应该生成一个也使用特定URI文件名的sas,并将其锁定为该单个上载。
但是我所做的一切似乎都没有效果,总是由于身份验证错误而失败。
因此,首先我想检查一下我认为应该做的事情实际上是否可行-将写请求锁定到特定文件。不只是锁定整个Blob容器?反过来说,这就是您要做的,如果您想读取一个文件,则可以仅使用该文件创建SAS,但这就是存在的对象。我说的是针对尚未写入的对象的sas ...
所以这里有更多细节。
代码类似于MS的示例。我有3种方法来生成SAS。其中之一是从门户网站进行硬编码的,没有问题。一个使用该库来创建SAS,并且似乎可以正常工作。但是很明显,我需要中间件来做到这一点
var sharedAccessPolicy = {
AccessPolicy: {
Permissions: permissions,
Start: startDate,
Expiry: expiryDate
}
};
var sasToken = blobService.generateSharedAccessSignature(container, blobName, sharedAccessPolicy);
以上似乎没有使用Blob名称(即将上传的文件名。
谢谢 保罗