【问题标题】:Reading File from Vertex AI and Google Cloud Storage从 Vertex AI 和 Google Cloud Storage 读取文件
【发布时间】:2022-03-07 00:02:17
【问题描述】:

我正在尝试在 GCP/Vertex AI 中设置管道,但遇到了很多麻烦。该管道是使用 Kubeflow Pipelines 编写的,并且有许多不同的组件,但特别是一件事给我带来了麻烦。最终,我想在 Cloud Scheduler 的帮助下从 Cloud Function 启动它。

给我带来问题的部分相当简单,我相信我只需要某种形式的介绍来了解我应该如何考虑这个设置。我只是想从文件中读取和写入(可能是 .csv、.txt 或类似文件)。我想我在 GCP 中本地机器上的文件系统的模拟是云存储,所以这是我暂时尝试读取的地方(如果我错了,请纠正我)。我构建的组件是对this 帖子的公然剽窃,看起来像这样。

@component(
    packages_to_install=["google-cloud"],
    base_image="python:3.9"
)


def main(
):
    import csv
    from io import StringIO

    from google.cloud import storage

    BUCKET_NAME = "gs://my_bucket"

    storage_client = storage.Client()
    bucket = storage_client.get_bucket(BUCKET_NAME)

    blob = bucket.blob('test/test.txt')
    blob = blob.download_as_string()
    blob = blob.decode('utf-8')

    blob = StringIO(blob)  #tranform bytes to string here

    names = csv.reader(blob)  #then use csv library to read the content
    for name in names:
        print(f"First Name: {name[0]}")

我得到的错误如下所示:

google.api_core.exceptions.NotFound: 404 GET https://storage.googleapis.com/storage/v1/b/gs://pipeline_dev?projection=noAcl&prettyPrint=false: Not Found

我的大脑出了什么问题?我觉得读写文件不应该这么难。我一定错过了一些基本的东西吗?非常感谢任何帮助。

【问题讨论】:

  • 尝试指定不带 gs:// 的存储桶名称。这应该可以解决问题。另一个说同样事情的 stackoverflow 帖子:stackoverflow.com/questions/53436615/…
  • 我不敢相信这真的奏效了。我用这个把头撞到墙上已经有一段时间了。尝试大量不同的方法。你能解释一下gs:// 的含义,它的作用以及为什么它应该在这里吗?
  • 您尝试在 GCP 中访问的任何存储分区都有一个唯一的地址来访问它。该地址始终以 gs:// 开头,它指定它是一个云存储 URL。现在,GCS api 的设计使得它们只需要存储桶名称就可以使用它。因此,您只需传递存储桶名称。如果您通过浏览器访问存储桶,则需要完整的地址才能访问,因此还需要 gs:// 前缀。希望这个答案。
  • @AishwaryShukla 你能把你的评论作为答案吗?
  • 我已将其作为评论发布。

标签: python google-cloud-platform google-cloud-storage kubeflow-pipelines google-cloud-vertex-ai


【解决方案1】:

尝试指定不带 gs:// 的存储桶名称。这应该可以解决问题。另一个说同样事情的 stackoverflow 帖子:Cloud Storage python client fails to retrieve bucket

您尝试在 GCP 中访问的任何存储分区都有一个唯一的地址来访问它。该地址总是以 gs:// 开头,它指定它是一个云存储 URL。现在,GCS api 的设计使得它们只需要存储桶名称就可以使用它。因此,您只需传递存储桶名称。如果您通过浏览器访问存储桶,则需要完整的地址才能访问,因此还需要 gs:// 前缀。

【讨论】:

    猜你喜欢
    • 2019-11-17
    • 1970-01-01
    • 2022-11-11
    • 2018-07-22
    • 1970-01-01
    • 2013-01-26
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多