Ruby on Rails:使用 google-cloud-storage 下载文件时出现错误“未知关键字::soft_deleted”

问题描述 投票:0回答:1
bucket_name = "bucket name"
    file_name = 'file_name.csv'

    storage = Google::Cloud::Storage.new(
      project_id: "project id",
    )
      file = storage.bucket(bucket_name).file(file_name)

      file.download(to: "path/to/local/file/#{file_name}")

当我使用上面的代码下载文件时,出现错误:“未知关键字::soft_deleted”。不知道为什么,请帮忙!

预期:我可以从 GCS 下载文件

ruby-on-rails google-cloud-storage
1个回答
0
投票

查看错误,我相信您正在尝试下载软删除文件。

当您从启用了软删除的存储桶中删除对象时,

Cloud Storage
将已删除的对象移至 软删除 状态。在此状态下,除非您显式列出或恢复软删除的对象,否则该对象对存储桶不可见。

Google
2024年3月25日推出了此软删除功能。默认情况下,新创建的
Cloud Storage buckets
会启用软删除功能。此功能允许在设定的 7 天保留期内恢复已删除的对象。但是,一旦过了此期限,这些对象就会从 Cloud Storage 中永久删除,并且无法再恢复。

您可能在启用软删除功能并尝试下载文件时意外删除了文件。如果您想下载这些文件,则必须先恢复这些对象(如果它们仍在保留期内)。

您可以按照此文档恢复对象,并按照此文档删除软删除策略

有关其他参考,请检查此 Cloud Storage API 类 Google::Cloud::Storage::File

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