【问题标题】:upload GCS file to specific service via Curl通过 Curl 将 GCS 文件上传到特定服务
【发布时间】:2022-01-06 23:47:57
【问题描述】:

我在云存储桶中有文件gs://myfile/test.xlsx

我想创建一个 curl 命令,将该文件发布到如下服务中

curl -F "file=@gs://myfile/test.xlsx" https://myservice/Service/extraction

此命令适用于本地文件,但当我使用位于 GCS 中的文件时它不起作用

【问题讨论】:

  • 使用正确的主机名格式后,您是否使用签名策略?

标签: linux curl google-cloud-platform google-cloud-storage


【解决方案1】:

更新:

尝试为该对象创建一个signed url,以便您无需使用身份验证即可在curl 中访问它。要创建可以从存储桶中获取对象的签名 URL,您需要一个服务帐户并运行命令gsutil signurl,例如:

gsutil signurl -d 10m key.json gs://myfile/test.xlsx
  • 10m 是生成的对象签名 URL 的持续时间
  • key.json 是现有服务帐户的私钥名称

使用以字符串开头的命令生成的签名 URL:https://storage.googleapis.com,然后使用curl 命令尝试:

curl -F "[signedurl]" https://myservice/Service/extraction

【讨论】:

  • 就其本身而言,您的命令将不起作用。这也需要签署的政策。
  • 感谢@JohnHanley!我会更新我的答案。
猜你喜欢
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 2014-06-04
  • 1970-01-01
  • 2020-09-22
  • 2021-11-07
  • 2021-10-09
相关资源
最近更新 更多