我是使用Linux和云shell编写shell脚本的初学者。实际上,我使用GCP的gsutil命令和cat来执行一些操作,比如读取bucket文件的某些内容,这非常有效。
我想对Azure Blob做同样的操作,但Azure CLI不支持任何类似的命令。
样本代码:
gsutil cat $PATHOFBUCKETFILE
我想要一些类似的东西:
az storage blob .... cat $BLOBNAME
第页。S.我不想先在本地下载blob,然后再阅读内容。
这对我有效:
az storage fs file download
--account-name "${STORAGE_ACCOUNT_NAME}"
--file-system "${CONTAINER_NAME}"
--path "${BLOB_NAME}"
--destination /dev/stdout
有关更多信息,请参阅az storage fs file
文档。
另一个使用Azure blob URL的选项是使用azcopy copy
(文档(,如下所示:
azcopy copy
--from-to BlobPipe
https://${STORAGE_ACCOUNT_NAME}.blob.core.windows.net/${CONTAINER_NAME}/${BLOB_NAME}
然而,为此,您至少需要";存储Blob数据读取器";角色贡献者角色足以使用az
CLI读取文件,但不能使用azcopy
。如果没有这个许可,你会得到一个错误";403此请求未被授权使用此权限执行此操作&";。有关更多信息,请参阅以下github问题Azure/Azure存储azcopy#790和Azure/azue存储azcopy#499