我正在使用 Azure CLI(az
和 azcopy
),我发现复制等简单操作根本不起作用,尽管使用Azure 资源管理器没问题。
虽然我能够无缝使用 AWS CLI(例如,aws s3 cp local_file.txt s3://my-bucket/
),但尝试使用 az
创建帐户后,blob 失败。例如:
./azcopy copy "./hello.txt" "https://myaccount.blob.core.windows.net/mycontainer/"
这失败了,告诉我:
RESPONSE Status: 403 This request is not authorized to perform this operation using this permission
但是,我使用 ./azcopy login --tenant-id myTenantId
成功登录(根据文档,它似乎应该存储 OAuth 信息以供后续调用 CLI)。在门户网站上,查看我的订阅,我被标记为所有者。此外,如果我生成具有读/写访问权限的 SAS,则可以在包含查询字符串时将文件复制到容器中。
对于日常交互,我不想包含所有额外参数,例如 --from-to=LocalBlob
或 SAS 查询字符串。我怎样才能避免所有这些样板?
此外,az
一体机似乎不允许复制操作,例如 `az storage blob copy hello.txt "https://myaccount..."。怎么才能轻松使用呢?
最佳答案
我尝试在我的环境中重现相同的情况,但得到了如下相同的错误:
要解决此错误,请确保分配存储 Blob 数据贡献者
或存储 Blob 数据所有者
帐户的角色如下:
我能够成功复制文件,如下所示:
azcopy copy "C:\Users\testcer" "https://storageaccount.blob.core.windows.net/containername"
在Azure门户中,文件已成功上传,如下所示:
要了解如何使用 az storage blob copy
,请参阅此 MsDoc
关于azure - 我应该如何验证 Azure CLI 以便在没有 SAS 的情况下进行访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74216098/