标签: gsutil

如何将gsutil与多个帐户一起使用?

我经常使用至少有两个帐户的Google云端存储:personal@gmail.com和work@corp.com.我曾经为这两个帐户gsutil config创建.boto文件,我已将其重命名为personal.botowork.boto.

cp personal.boto ~/.boto每当我需要在这些帐户之间切换时,必须记住输入是很累人的.有没有更好的办法?

google-cloud-storage gsutil

32
推荐指数
3
解决办法
1万
查看次数

获取Google Storage存储桶大小的最快方法是什么?

我目前正在这样做,但它非常慢,因为我有数TB的数据:

gsutil du -sh gs://my-bucket-1/
Run Code Online (Sandbox Code Playgroud)

对于子文件夹也是如此:

gsutil du -sh gs://my-bucket-1/folder
Run Code Online (Sandbox Code Playgroud)

有可能以某种方式在其他地方以某种其他方式获得完整存储桶(或子文件夹)的总大小,这种速度要快得多吗?

google-cloud-storage gsutil

32
推荐指数
4
解决办法
9936
查看次数

gsutil返回"找不到匹配项"

我正在尝试使用gsutil删除云存储桶的内容(但不是存储桶本身).根据文档,命令应该是:

gsutil rm gs://bucket/**

但是,每当我运行它(当然我的存储桶名称被替换)时,我得到以下响应:

zsh: no matches found: gs://my-bucket/**

我已经检查了权限,并且拥有所有者权限.此外,如果我直接指定存储桶中的文件,则会成功删除该文件.

其他可能重要的信息:

  • 我的桶名称中有一个" - "(类似于"my-bucket")
  • 云存储将我的使用日志保存到存储桶中

如何删除存储桶的内容?

zsh google-cloud-storage gsutil

16
推荐指数
1
解决办法
1582
查看次数

ResumableUploadAbortException:403权限不足

我正在使用Google云端存储和Google Compute Engine,并尝试从我的虚拟机上传到我的存储桶.我的存储桶具有读/写权限,任何有权访问它的人都有.他们被标记为所有者.我可以从我的桶下载很好.当我尝试上传到我的桶时,这是我得到的错误.ResumableUploadAbortException: 403 Insufficient Permission.我不确定为什么会这样?有线索吗?

google-app-engine google-cloud-storage google-compute-engine gsutil

15
推荐指数
3
解决办法
9944
查看次数

设置CORS配置时出现Google Storage ArgumentException

关注Google文档,使用GoogleCloud Storage控制台时:

mysef@myproject:~$ cat cors-json-file.json 
[ 
  {
    "origin": ["*"],
    "method": ["GET"],
    "maxAgeSeconds": 3600
  } 
]
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误:

myself@myproject:~$ gsutil cors set cors-json-file.json gs://mybucket
Setting CORS on gs://mybucket/...
ArgumentException: JSON CORS data could not be loaded from: [ 
  {
    "origin": ["*"],
    "method": ["GET"],
    "maxAgeSeconds": 3600
  } 
]
Run Code Online (Sandbox Code Playgroud)

删除"method","maxAgeSeconds"或添加"responseHeader"时出现相同的错误.

cors google-cloud-storage gsutil

13
推荐指数
2
解决办法
607
查看次数

云存储 - AngularJS 视图请求的资源上不存在“Access-Control-Allow-Origin”标头

根据 Chrome 开发工具,我获取 html 部分的请求具有源头https://site-name-here.com和请求头 GET。
我的存储桶设置了以下 JSON 文件:

[
    {
      "origin": ["https://site-name-here.com"],
      "responseHeader": ["content-type"],
      "method": ["GET"],
      "maxAgeSeconds": 3600
    }
]
Run Code Online (Sandbox Code Playgroud)

但是,每当 angular 尝试获取视图时,我都会收到以下错误: XMLHttpRequest cannot load https://storage.googleapis.com/bucket-name/view-path.html?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://site-name-here.com' is therefore not allowed access.

我还提供来自 Cloud Storage 的 javascript 和 css 文件,但它们工作正常,我假设是因为 CSS 没有 CORS 限制,而且我在 Angular 中使用 $sceDelegateProvider.resourceUrlWhitelist() 作为脚本?

编辑:现在工作,我假设有些东西被缓存了,它为我提供了一个旧版本。

cross-domain cors google-cloud-storage gsutil google-cloud-platform

12
推荐指数
3
解决办法
6906
查看次数

google-cloud-sdk 安装因 python 语法错误而失败

在“Linux supermicro 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux”上,我在执行“sudo apt-get install google-cloud-”时看到这种情况软件开发工具包”

> Reading package lists... Done Building dependency tree        Reading
> state information... Done Suggested packages:  
> google-cloud-sdk-app-engine-java google-cloud-sdk-app-engine-python
> google-cloud-sdk-pubsub-emulator google-cloud-sdk-bigtable-emulator
> google-cloud-sdk-datastore-emulator kubectl The following NEW packages
> will be installed:   google-cloud-sdk 0 upgraded, 1 newly installed, 0
> to remove and 13 not upgraded. Need to get 0 B/25.0 MB of archives.
> After this operation, 194 MB of additional …
Run Code Online (Sandbox Code Playgroud)

python apt gsutil gcloud

12
推荐指数
1
解决办法
2652
查看次数

gsutil / gcloud存储文件列表排序日期降序?

是否无法从按日期降序排序的Google Cloud Storage存储桶中列出文件?这非常令人沮丧。我需要检查上传文件的状态,并且存储桶中有数千个对象。

gsutil ls没有标准的linux -t选项。

Google云控制台也会列出它,但不提供排序选项。

google-cloud-storage gsutil

11
推荐指数
2
解决办法
5239
查看次数

通过使用gsutil构建器在构建期间获取app.yaml来保护GAE env变量?

我有与此处提到的问题相同的问题:使用app.yaml在GAE中安全地存储环境变量 - 即:

"我需要在app.yaml中存储API密钥和其他敏感信息作为环境变量,以便在GAE上进行部署.问题在于,如果我将app.yaml推送到GitHub,这些信息就会公开(不好)."

另外我想查看以下方框:

  • 防止供应商锁定(尽可能多)以及将dockerfile带到别处的能力.
  • 使用GitHub轻松部署.我希望推动一个触发构建的主人.
  • 独立开发人员或小团队的最小设置或适当的工作量和工作流程.

我的研究得出以下结论:

使用app.yaml在GAE中安全地存储环境变量

如何在Google App Engine中设置环境变量/应用程序机密

GAE:如何部署各种秘密环境?

appengine和OS环境变量

如何使用云构建将环境变量传递给app.yaml

来自GAE的很多好消息:如何部署各种秘密环境? 作者列出了三种解决方法及其不使用的原因:

  • 使用Google KMS - 允许我们将加密的秘密直接放入项目中,但它要求我们在我们的应用程序中放置自定义代码来解密它们.它在本地,登台和生产之间创建了不同的环境管理.由于复杂性,它增加了错误的风险.
  • 在Google Datastore中存储机密 - 我试过了,我创建了一个帮助程序,在proccess.ENV中搜索env变量,然后在缓存中搜索,最后在Datastore中搜索.但是像KMS一样,它会增加复杂性.
  • 将秘密存储在JSON文件中并放入Google云端存储:再次,它需要通过检查env变量的帮助程序加载env变量,然后加载文件等...

然而,对我来说最好的解决方案来自如何使用云构建将环境变量传递给app.yaml

它允许我使用GAE灵活环境为nodejs提供以下部署流程:

  1. 合并到我的Github主分支会触发云构建
  2. 我的cloudbuild.yaml中的第一步使用gsutil构建器来源我的app.yaml文件,因为app.yaml不在源代码管理中
  3. 我的app.yaml指向我的运行时的dockerfile并且有我的env变量

这会检查我的所有盒子并且是一个相当简单的解决方案但是,这绝对不是一个流行的解决方案,所以我在这里遗漏了什么?

最重要的是有任何安全问题吗?

google-app-engine gsutil

11
推荐指数
1
解决办法
522
查看次数

gsutil make bucket命令[gsutil mb]无效

我正在尝试使用gsutil mb命令创建一个存储桶:

gsutil mb -c DRA -l US-CENTRAL1 gs://some-bucket-to-my-gs
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

Creating gs://some-bucket-to-my-gs/...
BadRequestException: 400 Invalid argument.
Run Code Online (Sandbox Code Playgroud)

我在这里关注文档

这种错误的原因是什么?

google-cloud-storage gsutil

10
推荐指数
2
解决办法
5962
查看次数