使用Azure,我正在尝试使用标记过滤器查找所有的空白。但我不能这样做。我知道错误了
“身份验证失败。这可能是由于为存储帐户提供的无效帐户键、连接字符串或sas令牌值造成的。“
下面是我尝试过的CLI命令
az storage blob filter --tag-filter "@container= 'containerxx' and Tag1='value'" --account-name stracc1 --sas-token "sv=2021-08-06&st=2022-10-11T07%3A40%3A00Z&se=2022-10-13T07%3A40%3A47Z&sr=c&sp=racwdxltf&sig=mZ4%2F4oXQV3Y4xcBoxxxxxEjJ1zmozb3ikmEddRc%3D" 我试图通过在下面的命令下运行来确认所提供的sas令牌是否有效,并且它确实执行得很好,返回了一个json。这证实了SAS令牌是有效的。您还可以看到,我在生成的sas令牌中给了过滤器标记权限(f)。
az存储blob存在-帐户名称stracc1 -容器名称stracc1-名称yy.html -sas-令牌yy.html
帮帮忙吧。
更新/附加信息:我已经在容器级别生成了,而不是在存储帐户级别,我希望它能够与容器级别的SAS一起工作。我确实试过添加“?”也可以进入SAS,但也会出现同样的错误
发布于 2022-10-13 06:45:04
,我尝试在我的环境中复制相同的错误,我得到了如下所示的错误

要解决此错误,请确保为您提供了正确的存储帐户名称和SaS令牌,如下所示。
要在存储帐户中生成SAS令牌,->共享访问签名->允许资源组->生成SAS ,如下所示。在您的sas令牌中,我观察到缺少启动?。

检查是否在blob容器中提供了正确的tag=value,如下所示。

当我运行下面的命令时,获得了成功的结果,如下所示。
az storage blob filter --tag-filter "@container= '<Container name >' and tag='< file body index tag >'" --account-name <str account name> --sas-token "< SAS-Token >"输出:

更新:
根据讨论,您无法在存储帐户级别上使用生成的SAS,也可以使用以下命令
az storage blob filter --tag-filter "@container= '<containername>' and tag='val' " --account-name <accountname> --auth-mode "key"

https://stackoverflow.com/questions/74040507
复制相似问题