tux*_*yer 13 google-app-engine database-backups google-cloud-storage google-cloud-datastore
:这里所描述我想备份数据存储GAE对GS桶https://developers.google.com/appengine/docs/adminconsole/datastoreadmin#Backup_And_Restore.我试图在表单中提供存储桶名称:
bucket
/gs/bucket
/gs/bucket/path
Run Code Online (Sandbox Code Playgroud)
但不是它的工作.每次收到消息时:
There was a problem kicking some off the jobs/tasks:
Invalid bucket name: 'bucket'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?是否有可能将所有数据(包括blob文件)备份到GS而无需为此编写自定义代码?
And*_*ter 21
我通过添加服务帐户电子邮件作为具有写入权限的特权用户来实现它.
这是我做的:
即使认为它是同一个项目的一部分,由于某种原因,我仍然必须将项目电子邮件添加为特权用户.
我怀疑存储桶不存在,否则app引擎无权写入存储桶.
确保以下内容属实:
BUCKET.如有必要,可以使用gsutil之类的东西来创建存储桶.
gsutil mb gs://BUCKET BUCKET.
/gs/BUCKET如果您收到Bucket "/gs/BUCKET" is not accessible消息,那么您的存储桶不存在,或者APP_NAME@appspot.gserviceaccount.com无法访问您的存储桶.
注意:表格是/gs/BUCKET.以下是错误的:BUCKET,gs:// BUCKET,gs/BUCKET等.
使用以下命令检查存在的存储桶是否具有正确的权限:
gsutil getacl gs://BUCKET # Note the URI form here instead of a path.
Run Code Online (Sandbox Code Playgroud)
查找如下条目:
<Entry>
<Scope type="UserByEmail">
<EmailAddress>APP_NAME@appspot.gserviceaccount.com</EmailAddress>
</Scope>
<Permission>WRITE</Permission>
</Entry>
Run Code Online (Sandbox Code Playgroud)
如果您没有看到,可以按以下方式添加一个:
gsutil getacl gs://BUCKET > acl.xml
vim acl.xml # Or your favorite editor
# Add the xml above
gsutil setacl acl.xml gs://BUCKET
Run Code Online (Sandbox Code Playgroud)
现在上面的步骤将起作用.
| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |