GCP 存储连接器获得 blob

问题描述 投票:0回答:2

我正在尝试使用存储连接器从 Google Cloud Worfklow 获取对象。 对象路径是

bucket_name/folder/object_name.csv

我的 yaml 看起来像这样:

...
// initialize variables and stuff

            steps:
                - get_urls:
                        call: googleapis.storage.v1.objects.get
                        args:
                            bucket: "bucket_name"
                            object: "/folder/object_name.csv"
                        result: csv_url

...

当我运行代码时,即使文件存在,它也会引发 404 错误。问题是,当我将对象放入此路径中时:

bucket_name/object_name.csv
,代码起作用并返回文件。

我还尝试将网址编码为文档建议,但没有成功。

有人知道如何解决这个问题吗?

提前致谢

google-cloud-platform google-cloud-storage
2个回答
1
投票

你可以

  1. 删除前导斜杠https://cloud.google.com/storage/docs/request-endpoints#encoding

  2. 验证 IAM 对存储桶的权限

  3. 如果问题仍然存在,请检查 Cloud Storage 日志以获取有关错误的更多信息

这是建议的 YAML 内容:

      steps:
    - get_object:
        call: googleapis.storage.v1.objects.get
        args:
          bucket: bucket_name
          object: folder/object_name.csv
        result: object_contents 

0
投票

我发现(从这个答案),如果一个blob位于子目录内,则需要将

/
字符编码为
%2F
,否则你会收到
404 NOT FOUND
错误。

© www.soinside.com 2019 - 2024. All rights reserved.