如何将Bash脚本的执行结果上传到指定的GCS存储位置
实现Bash命令输出直接上传到GCS的方案
你可以直接借助gsutil命令的标准输入支持实现需求,无需先将内容写入本地临时文件。
前置要求
- 已安装Google Cloud SDK,
gsutil命令可正常调用 - 已完成身份认证(
gcloud auth login或配置服务账号密钥),且账号拥有目标GCS存储桶的写入权限
实现命令
你只需要通过管道将命令的输出传递给gsutil cp,用-指代从标准输入读取内容即可,示例如下:
echo "hello world" | gsutil cp - gs://<你的存储桶名称>/<目标存储路径>/<文件名>
举个实际使用的例子,如果你要将内容存入名为my-project-bucket的存储桶的output目录下,命名为hello.txt,命令如下:
echo "hello world" | gsutil cp - gs://my-project-bucket/output/hello.txt
其他可选方案
如果你需要先把内容存到本地再上传,可以使用以下分步命令:
# 先将输出写入本地临时文件 echo "hello world" > local_temp.txt # 上传文件到GCS gsutil cp local_temp.txt gs://my-project-bucket/output/hello.txt # 删除本地临时文件 rm local_temp.txt
内容的提问来源于stack exchange,提问作者Saurabh
相关产品推荐
相关产品推荐

