bash - Azure CLI 中是否有类似于 bash 脚本中的 cat 的命令?GCP 的 gsutil 支持 cat 命令
问题描述
我是使用 Linux 和云 shell 编写 shell 脚本的初学者。我实际上是在使用 GCP 的 gsutil 命令和 cat 来执行诸如读取存储桶文件的某些内容之类的操作,效果很好。
我想对 Azure blob 执行相同的操作,但 Azure CLI 不支持任何类似的命令。
示例代码:
gsutil cat $PATHOFBUCKETFILE
我想要类似的东西:
az storage blob .... cat $BLOBNAME
PS我不想先在本地下载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
( docs ),如下所示:
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-storage-azcopy#790和Azure/azure-storage-azcopy#499
推荐阅读
- java - 如何在 Java 中对多图进行排序?
- r - 在 R 中插入嵌套数据
- javascript - 数据的声明性渲染不起作用,但相同数据的 v-model 起作用
- reactjs - Reactjs 没有响应 Div 切换
- python - 用于访问相关数据的连接列表和子列表
- rxjs - rxjs 5.5+ retryWhen not call source observable?
- javascript - 如何使用 keyup 在 javascript 中读取值并验证密码长度?
- java - Java服务器/客户端聊天程序
- python-3.x - 当用户键入文本时,如何使 tkinter 中的输入框垂直扩展?
- amazon-ec2 - 使用 aws-ec2-Ubuntu 16.04 通过 SSL 和 startTLS 设置 LDAP