使用 Node.js 客户端在 gcloud 存储中创建和共享存储桶
Create and Share Bucket in gcloud storage using Node.js Client
我需要使用 Node.js 客户端在 gcloud 存储中创建和共享一个存储桶。
这是我的代码
Bucket.createNewBucket = function (request, callBack) {
// code for create a new bucket
var bucketName = request.body.bucketName;
gcs.createBucket(bucketName, function (err, bucket) {
if (!err) {
console.log("created bucket successfully");
var bucketadded = gcs.bucket(bucketName);
bucketadded.acl.add({
entity: 'testmail@gmail.com',
role: 'READER'
}, function (err, aclObject) {
if (!err) {console.log("acl added successfully");
}else{
console.log(err);
}
});
callBack(null, true);
return;
} else {
callBack("Error with bucket creation. Error: " + err, true);
return;
}
});
};
使用此代码,我成功地在 google 存储中创建了一个存储桶。但是我无法给bucket添加acl权限。
我遇到这样的错误
{ [ApiError: Invalid Value]
errors: [ { domain: 'global', reason: 'invalid', message: 'Invalid Value' } ],
code: 400,
message: 'Invalid Value',
response: undefined }
使用这个
entity: 'user-testmail@gmail.com'
而不是
entity: 'testmail@gmail.com'
实体比电子邮件地址更复杂。在这种情况下,正确的值应该是 "user-manafcj@gmail.com"。组还有其他类别,以及一些特殊值,如 "AllUsers".
记录在此处:https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls/insert
我需要使用 Node.js 客户端在 gcloud 存储中创建和共享一个存储桶。
这是我的代码
Bucket.createNewBucket = function (request, callBack) {
// code for create a new bucket
var bucketName = request.body.bucketName;
gcs.createBucket(bucketName, function (err, bucket) {
if (!err) {
console.log("created bucket successfully");
var bucketadded = gcs.bucket(bucketName);
bucketadded.acl.add({
entity: 'testmail@gmail.com',
role: 'READER'
}, function (err, aclObject) {
if (!err) {console.log("acl added successfully");
}else{
console.log(err);
}
});
callBack(null, true);
return;
} else {
callBack("Error with bucket creation. Error: " + err, true);
return;
}
});
};
使用此代码,我成功地在 google 存储中创建了一个存储桶。但是我无法给bucket添加acl权限。
我遇到这样的错误
{ [ApiError: Invalid Value]
errors: [ { domain: 'global', reason: 'invalid', message: 'Invalid Value' } ],
code: 400,
message: 'Invalid Value',
response: undefined }
使用这个
entity: 'user-testmail@gmail.com'
而不是
entity: 'testmail@gmail.com'
实体比电子邮件地址更复杂。在这种情况下,正确的值应该是 "user-manafcj@gmail.com"。组还有其他类别,以及一些特殊值,如 "AllUsers".
记录在此处:https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls/insert