问题标签 [azure-sas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 如何通过 sasTokenUri 连接 Azure Blob 存储?
我需要列出 Azure Blob 存储上所有最近创建的文件名。由于我的团队不是 Azure 帐户的所有者,但我们提供了客户端 ID和客户端密码以进行连接。通过Client Id和Client Secret我能够生成sasTokenUri,我有以下问题,任何输入都会有所帮助
问题 1:如何通过sasTokenUri连接 Azure Blob Storage并列出最近创建的所有文件?问题 2:如何通过上面建立的连接识别 Azure Blob 存储上新创建的文件?
限制:由于某些基础设施限制,我无法通过(Python、Java 和其他)以编程方式访问 Blob 存储,我只需要通过sasTokenUri或 RestAPI 访问文件列表。
sasTokenUri 示例:“https://{Account}.blob.core.windows.net/blob.name?sv=2020-02-10&spr=https&se=2021-07-04T11%3A22%3A05Z&sr=c&sp=rwdl&sig=kL9a1aaaaaaaaaa% 2Bbbbbbbb4%2Bccccccc5%2B4vddddddddd0%3D"
任何输入或指针都会有所帮助。提前致谢!!
python-3.x - 如何为存储在 Blob 容器中的 excel 文件生成 Blob SAS URL
我正在尝试为 excel 文件生成 Blob SAS URL,以读取其数据帧中的数据。我正在使用下面的 python 代码,它在将 URL 值传递给 read_excel 函数时抛出错误“HTTPError:服务器无法验证请求。确保 Authorization 标头的值正确形成,包括签名。”
代码 :
错误 失败 C:\WPy64-3800\python-3.8.0.amd64\lib\site-packages\azure\storage\blob\baseblobservice.py:1009: SyntaxWarning: "is not" with a literal。你的意思是“!=”?如果 lease_duration 不是 -1 并且 \C:\WPy64-3800\python-3.8.0.amd64\lib\site-packages\azure\storage\blob\baseblobservice.py:2660: SyntaxWarning: "is not" with a literal . 你的意思是“!=”?如果lease_duration 不是-1 并且 \C:\WPy64-3800\python-3.8.0.amd64\lib\site-packages\azure\storage\common_connection.py:82: SyntaxWarning: "is" with a literal。你的意思是“==”吗?self.protocol = self.protocol if parsed_url.scheme is '' else parsed_url.schemeTraceback (最近一次调用最后):文件“C:\Temp\rid04ztb.tl0\005b3440-f226-432b-b554-d625411fdb58”,第 26 行,在 df=pd.read_excel(url, sheet_name='test',在里面 在 http_error_default 中引发 HTTPError(req.full_url, code, msg, hdrs, fp)urllib.error.HTTPError: HTTP Error 403: Server failed to authenticate the request。确保 Authorization 标头的值正确形成,包括签名。在 http_error_default 中引发 HTTPError(req.full_url, code, msg, hdrs, fp)urllib.error.HTTPError: HTTP Error 403: Server failed to authenticate the request。确保 Authorization 标头的值正确形成,包括签名。
任何帮助表示赞赏。提前致谢。
azure-sas - 用于多级目录的 Azure SAS 令牌
有没有办法为目录和子目录创建 SAS 令牌?
we have used an option called grant permission to directory and subdirectory on a selected directory but it could generate the SaS token for parent level not child level.
azure - 为 Azure Blob 生成预签名 URL 引发空指针异常
我想生成一个预签名 URL /SAS,以便拥有该 URL 的任何人都可以访问我的文件。
SDK版本:12.8.0
我写了以下代码:
但代码抛出错误
java.lang.NullPointerException:参数不能为 null 或空字符串。参数名称:storageSharedKeyCredentials。
编辑1:尝试过:
但现在得到:
“状态码 403,”AuthenticationFailed
服务器无法验证请求。确保 Authorization 标头的值格式正确,包括签名。\nRequestId:7b0f0d75-d01e-00a8-4d84-7c9aa3000000\nTime:2021-07-19T09:54:31.1312999Z此资源级别不允许指定的已签名资源"",
azure - Azure 存储帐户生成 SAS 令牌,而不是 SAS URI
我正在使用该Azure.Storage.Blob
库生成一个 SasToken,但我得到的是一个 Sas Uri。我在网上和文档中查找了示例。
我试图自己生成一个令牌,但我没有成功。我什至尝试创建一个 SharedKeyLite 但这也不起作用。
我的 SharedKeyLite 代码:
我的请求:
错误:
服务器未能验证请求。确保 Authorization 标头的值正确形成,包括签名。
为什么不Azure.Storage.Blob
生成 SAS 令牌?
python - Azure 从 Python 获取用户委派密钥失败
我一直在尝试使用 Python 获取用户委托密钥来签署容器 SAS,但它一直失败。我确定我在身份上做错了什么,但是从所有文档和示例中我无法弄清楚是什么。
这是我的代码:
这是输出:
所有帮助将不胜感激!
powershell - 仅使用 SAS 令牌在 PowerShell 中上传
我有一个SAS 令牌,格式如下:
https://name.blob.core.windows.net/container?sv=2015-04-05&sr=b&sig=abc123&se=2017-03-07T12%3A58%3A52Z&sp=rw
我正在尝试Az
在 Powershell 中使用提供的 Cmdlet 将内容上传到此 blob。我找不到只需要上述 SAS 令牌和要上传的文件的 API。
阅读这篇reddit 帖子,我的选择似乎是:
- 解析出
StorageAccountName
(in the examplename
)、Container
(in the examplecontainer
) 和SASToken
(in the example abovesv=2015-04-05&sr=b&sig=abc123&se=2017-03-07T12%3A58%3A52Z&sp=rw
),然后使用New-AzStorageContext
/Set-AzStorageBlobContent
。这或多或少是此 StackOverflow 帖子中的答案(仅使用 SAS 令牌连接到 Azure 存储帐户?) - 使用
Invoke-WebRequest
或其亲属基本上自己执行 REST 调用。
我想尽可能多地使用Az
提供的 cmdlet,所以从选项 1 开始,似乎没有一个 API 来解析这个,我能找到的最接近的是这个 StackOverflow 帖子(使用 SAS 令牌上传 Blob 内容)谈论使用CloudBlockBlob,但目前尚不清楚我是否可以在 PowerShell 中使用此类。
为此,我创建了一个看起来有效但很可能很脆弱的正则表达式,有没有更好的方法来做到这一点?
重述问题
- 是否有使用
Az
SAS URI 和 SAS 令牌来允许上传的 Cmdlet? - (如果没有)是否有解析 SAS URI + SAS 令牌的 API?
typescript - Blob 存储临时 URL
我正在尝试为天蓝色存储 blob 创建临时 url。我在以下这些命令的帮助下创建了 url。
从第 2 行代码开始,sas url 已经形成了永久 uri。因此,即使我与某人共享具有一些到期时间的临时 url,他们也可以看到/获取 blob 的永久 uri,并且也可以在到期时间后使用它。那么临时链接有什么用呢?有什么方法/方法可以在临时链接中隐藏我的永久 uri 吗?
如果我错了,请指导我。
FY:我正在使用打字稿。
azure - Blob 存储帐户的 Azure SAS 令牌不起作用
更新:我已经更新了函数以提供广泛的时间范围以避免过期。我还包括我更新以启用公共访问的帐户设置的屏幕截图。还包括当前的控制台结果。图像无法打开的页面上的相同结果。
我正在尝试通过 node.js 函数从我的 Azure 存储 blob 容器中获取有效的 SAS URI。我正在使用@azure/storage-blob 库。我收到了 Azure 的回复,但浏览器说它未经授权。我已经四次检查我的帐户和密钥是否正确。这些设置正在将媒体上传到容器。
我不确定如何进行故障排除,因为没有任何错误消息返回到节点 api。相同的代码返回一个在另一个(开发)容器中工作的 URI。但是,该容器现在允许公共访问。因此,无论如何,您都可以从该 blob 访问 blob 是有道理的。请问有什么关于如何解决这个问题的建议吗?
访问控制台中生成的 blob 的错误:
5x6gyfbc5eo31fdf38f7fdc51ea1632857020560.png:1 获取 https://**********.blob.core.windows.net/prod/5x6gyfbc5eo31fdf38f7fdc51ea1632857020560.png?sv%3D2020-06-12%26st%3D2021-98T91 %253A23%253A41Z%26se%3D2021-09-28T19%253A25%253A07Z%26sr%3Db%26sp%3Dracwd%26sig%3Du6Naiikn%252B825koPikqRGmiOoKMJZ5L3mfcR%252FTCT3Uyk%253D 上不允许访问此帐户。
生成 URI 的代码:
}