问题标签 [gsutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
825 浏览

python - 使用 STDIN 的“gsutil rm”命令

我在 Linux 环境中使用 gsutil 来管理 GCS 中的文件。我喜欢能够使用命令

在其他一些命令之前将 STDIN 传递给 gsutil 以上传文件;这样做时,我可以维护已上传文件的本地列表或生成特定模式以上传和移交它们。

我希望能够执行类似的命令

类似地擦洗文件。目前,我构建了一个大文件列表以删除并使用以下代码运行它:

与多线程“gsutil -m rm...”命令相比,这非常慢,并且当您必须一次处理一个列表中的文件时,启用 -m 标志无效。我也尝试过跑步

但这涉及重新复制大量数据并浪费大量时间;数据已经存在,只需要删除一些。任何想法将不胜感激。另外,我在重命名文件的两端都没有很大的灵活性。否则,在上传之前快速重命名将处理所有这些。

0 投票
2 回答
7564 浏览

google-cloud-platform - 如何在忽略 .git、.gitignore 等文件的同时执行 gsutil cp -R?

我正在尝试自动化将我的网络资产与 Google Cloud Storage 同步的过程。我基本上需要将开发目录中的所有内容复制到云端。但是,我需要忽略.git目录和其他一些不相关的文件。

我不能只做 agsutil cp -R . <dest>因为这绝对需要一切,包括.git. 我试过find . | fgrep git | gsutil cp -I <dest>了,但这会使所有目录变平并将它们放在根目录中!

有没有办法可以解决这个问题,gsutil或者我必须在脚本中执行一个循环来上传所有目录(除了.git),-R然后上传当前目录中的单个文件?

0 投票
0 回答
262 浏览

amazon-s3 - gsutil cp:“太多可恢复的上传尝试失败而没有进展。”

我在 Compute Engine 上运行 gsutil cp 以将 1.5TB 的文件(每个 2-150MB)从 S3 传输到 GCS。我发现由于多次“可恢复的上传尝试失败而没有进展。您可以稍后再次尝试此上传。” (ABORT_CUR_PROCESS) 错误。.gsutil 目录开始填充失败的传输。这不会始终如一地发生,尽管它经常发生在第一次传输开始时。一段时间后 gsutil 中止。

我正在使用的命令行是:

我最初尝试使用“-m”,但是看到错误消息,然后我尝试在没有“-m”的情况下运行它。我还尝试在不同文件夹之间运行两次并行传输,记录到不同的日志文件。

我正在使用 f1-micro,这可能不够用,但我想在尝试设置新实例之前确认这一点。CPU 使用率约为 50%,交换文件大小为 0k,因此在我看来问题不是 CPU 或内存资源不足。网络流量大约 1MBytes/s 进出,这出乎意料的慢,但据我所知,所有 Compute Engine 实例的可用带宽都是相同的。顺便提一下,CE 和 CS 都在美国中部地区,但 S3 存储桶在爱尔兰。

您可以分享任何见解吗?

0 投票
1 回答
236 浏览

google-app-engine - Gsutil 设置 All Authenticated Users 权限

我的谷歌应用引擎应用程序引用存储桶中的图像。我使用开发者控制台上传了它们。现在当我加载我的应用程序并发生错误时。

我可以通过使用开发人员控制台更改"All Authenticated Users"每个对象来修复此错误。实际上,这是一项耗时的工作,因为我的存储桶中有很多图像。

有没有办法通过 gsutil 为我的存储桶中的所有对象"All authenticated user"设置权限?

0 投票
1 回答
720 浏览

google-cloud-storage - Google Cloud Storage - GSUtil 更新失败,因为文件被另一个进程使用

我们使用 ETL 过程从 Google Cloud Storage 中提取数据,但令人讨厌的是,每次 Google 向 GSUtil 发布 udpate 时它都会挂起,因为它会出现询问您是否要更新库的提示。如果您手动执行此操作很好,但在自动 SSIS 包中运行时并不酷,因为作业几天都没有完成,而且您一直在以同样愚蠢的原因浪费时间。

我以为我会变得更聪明,并将“python gsutil update -n”添加到 bash 脚本的顶部,我在我的 SSIS 包中自动构建/执行,希望能解决这个问题,但是当我运行在 Windows Server 2008r2 或 Windows 7 的提示符下执行此命令,我得到以下信息:

有什么帮助吗?

PS - 另外,谷歌工程师......你能删除这些提示吗?对于我们所有人在自动化流程中使用这些工具?我还有其他事情要做,而不是每隔几天/几周就不断地回到这样的事情上。

0 投票
2 回答
553 浏览

google-cloud-storage - GSUtil cp 方法损坏文件

在上周,我注意到我使用 GSUtils(现为 v3.42)复制下来的 gz 文件中约有 5-10% 已损坏......当我从 GCS UI 中查看文件时,果然它们大于GSUtils 下载了什么。

用例是将 gzip 文件从 GCS 复制到我们的一台 Windows Server 2008r2 机器上。

有没有其他人看到这个问题?

0 投票
3 回答
3857 浏览

google-cloud-storage - 如何获取命令行 gsutil 工作的刷新令牌?

我使用 gsutil 将文件从 Windows 机器传输到 Google Cloud Storage。

我已经超过 6 个月没有使用它了,现在当我尝试它时,我得到:

失败:invalid_grant

通过研究,我怀疑访问令牌不再有效,因为它已经 6 个月没有使用了,我需要一个刷新令牌吗?

我似乎找不到如何获取和使用它。

谢谢

运行gsutil -DD config产生以下输出:

0 投票
1 回答
1024 浏览

google-app-engine - 将数据从谷歌数据存储复制到 CSV

我正在通过 appengine 项目将数据存储在谷歌云数据存储中,并希望将其中一个实体下载为 CSV 文件。

我已经设置了 gsutil 以便它默认使用这个 appengine 项目。我还在云存储下创建了一个存储桶。

有没有办法使用 gsutil 将数据移动到存储桶中?gsutil cp gs://bucket_name 似乎是一个可能的候选人。

但这是要走的路吗?如果是这样,URI 的结构是什么?

非常感谢!

0 投票
3 回答
1089 浏览

perl - gsutil cp:并发执行导致本地文件损坏

我有一个 Perl 脚本,它调用“gsutil cp”将一个从 GCS 中选择的复制到本地文件夹:

该脚本通过 HTTP 调用,因此可以多次启动(例如,通过双击链接)。发生这种情况时,本地文件最终可能是正确大小的两倍,因此显然已损坏。三件事看起来很奇怪:

  1. gsutil 在写入本地文件时似乎没有锁定它,从而允许另一个线程(在本例中为 gsutil 的另一个实例)写入同一个文件。

  2. '-n' 似乎没有效果。我原以为它会阻止 gsutil 的第二个实例尝试复制操作。

  3. MD5 签名检查失败:如果签名不匹配,通常 gsutil 会删除目标文件,但这显然并不总是发生。

有问题的文件大于 2MB(通常约为 5MB),因此可能与自动恢复功能有一些交互。Perl 脚本仅在本地文件不存在时调用 gsutil,但这不会捕获双击(因为 GCS 传输身份验证的时间滞后)。

gsutil 版本:FreeBSD 8.2 上的 3.42

有人遇到类似问题吗?有任何见解的人吗?

爱德华·利

0 投票
1 回答
1420 浏览

google-cloud-storage - gsutil 在没有复制任何数据的情况下被卡住

我正在尝试将文件从计算引擎实例(debian)上传到云存储。在某些时候 gsutil 完全停止工作。使用 -D 标志运行它时,我看到了这些回复:

回复:'HTTP/1.1 400 错误请求\r\n'标头:内容类型:应用程序/json;charset=UTF-8header: Content-Encoding: gzipheader: Date: Tue, 27 May 2014 21:09:47 GMTheader: Expires: Tue, 27 May 2014 21:09:47 GMTheader: Cache-Control: private, max-age= 0header:X-Content-Type-Options:nosniffheader:X-Frame-Options:SAMEORIGINheader:X-XSS-Protection:1;mode=blockheader: 服务器: GSEheader: Alternate-Protocol: 443:quicheader: Transfer-Encoding: chunkedprocess count: 1thread count: 10