云功能无法移动存档桶中的文件

Posted

技术标签:

【中文标题】云功能无法移动存档桶中的文件【英文标题】:Cloud function is unable to move files in archive bucket 【发布时间】:2020-10-19 05:09:30 【问题描述】:

我已经按照链接https://cloud.google.com/solutions/streaming-data-from-cloud-storage-into-bigquery-using-cloud-functions实现了一个架构

但问题是当多个文件同时出现时(例如:3 个文件在相同的时间戳(21/06/2020, 12:13:54 UTC+5:30)) .在这种情况下,云函数无法在处理后将所有这些时间戳相同的文件移动到成功桶中。

谁能推荐一下。

【问题讨论】:

欢迎来到 SO。请参阅“How to Ask”、“Stack Overflow question checklist”和“MCVE”及其所有链接页面。所以我们的代码、示例文件名和带有时间戳的统计信息。鉴于您告诉我们的内容很少,我们无法重现该问题,为了帮助您,我们必须能够做到。 【参考方案1】:

Google Cloud Storage 不是文件系统。您只能创建、读取和删除 BLOB。因此,您不能移动文件。存在于控制台或某些客户端库(例如在 python 中)中的 MOVE 执行 CREATE(将现有 BLOB 复制到目标名称),然后执行旧 BLOB 的 DELETE。

最终,您无法在执行 MOVE 操作时保留原始时间戳。

注意:因为您在移动文件时执行了 CREATE 和 DELETE,所以当您使用 Nearline、coldline 和存档等类时,您需要在 early deletion 上收费

【讨论】:

以上是关于云功能无法移动存档桶中的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何检索云存储桶中的最新文件?

批处理文件 - 需要替代 7-zip - 无法移动

使用批处理将 10 个最旧的备份移动到存档

如何从 Spark 中的多个云存储桶中读取 TXT 文件?

根据文件名中的日期戳移动文件

如何将超过 30 天的文件移动到存档位置并将文件存档在存档位置? [关闭]