我经常使用至少有两个帐户的Google云端存储:personal@gmail.com和work@corp.com.我曾经为这两个帐户gsutil config创建.boto文件,我已将其重命名为personal.boto和work.boto.
cp personal.boto ~/.boto每当我需要在这些帐户之间切换时,必须记住输入是很累人的.有没有更好的办法?
我目前正在这样做,但它非常慢,因为我有数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)
有可能以某种方式在其他地方以某种其他方式获得完整存储桶(或子文件夹)的总大小,这种速度要快得多吗?
我正在尝试使用gsutil删除云存储桶的内容(但不是存储桶本身).根据文档,命令应该是:
gsutil rm gs://bucket/**
但是,每当我运行它(当然我的存储桶名称被替换)时,我得到以下响应:
zsh: no matches found: gs://my-bucket/**
我已经检查了权限,并且拥有所有者权限.此外,如果我直接指定存储桶中的文件,则会成功删除该文件.
其他可能重要的信息:
如何删除存储桶的内容?
我正在使用Google云端存储和Google Compute Engine,并尝试从我的虚拟机上传到我的存储桶.我的存储桶具有读/写权限,任何有权访问它的人都有.他们被标记为所有者.我可以从我的桶下载很好.当我尝试上传到我的桶时,这是我得到的错误.ResumableUploadAbortException: 403 Insufficient Permission.我不确定为什么会这样?有线索吗?
google-app-engine google-cloud-storage google-compute-engine gsutil
关注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"时出现相同的错误.
根据 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
在“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) 是否无法从按日期降序排序的Google Cloud Storage存储桶中列出文件?这非常令人沮丧。我需要检查上传文件的状态,并且存储桶中有数千个对象。
gsutil ls没有标准的linux -t选项。
Google云控制台也会列出它,但不提供排序选项。
我有与此处提到的问题相同的问题:使用app.yaml在GAE中安全地存储环境变量 - 即:
"我需要在app.yaml中存储API密钥和其他敏感信息作为环境变量,以便在GAE上进行部署.问题在于,如果我将app.yaml推送到GitHub,这些信息就会公开(不好)."
另外我想查看以下方框:
我的研究得出以下结论:
如何在Google App Engine中设置环境变量/应用程序机密
来自GAE的很多好消息:如何部署各种秘密环境? 作者列出了三种解决方法及其不使用的原因:
然而,对我来说最好的解决方案来自如何使用云构建将环境变量传递给app.yaml
它允许我使用GAE灵活环境为nodejs提供以下部署流程:
这会检查我的所有盒子并且是一个相当简单的解决方案但是,这绝对不是一个流行的解决方案,所以我在这里遗漏了什么?
最重要的是有任何安全问题吗?
我正在尝试使用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)
我在这里关注文档
这种错误的原因是什么?