Я получаю эту ошибку при попытке создать «передачу» для передачи содержимого одного контейнера в Google Cloud в другой контейнер в Google Cloud под тем же владельцем:
Для завершения этой передачи вам необходимо разрешение «storage.buckets.setIamPolicy» для исходного блока. Попросите администратора ведра предоставить вам необходимое разрешение и повторите попытку.
Понятия не имею, что мне делать. Я попытался перейти к "Bucket -> Permissions -> Add Members -> myemail.com for Storage -> ... Admin", но я просто продолжаю получать сообщение "Ошибка обновления политики IAM".
Пожалуйста, помогите, что нужно сделать, чтобы это работало, чтобы я мог сделать свои файлы общедоступными.
Я использую Node.js, если это помогает.
Если я даже попытаюсь получить фотографию и обойти ее напрямую, я даже не смогу сделать это: /
const { Storage } = require('@google-cloud/storage')
const storage = new Storage({
projectId: 'my-bucket'
})
const bucket = storage.bucket('my.bucket')
app.get('/photo/:photo.:ext', (req, res) => {
const remoteFile = bucket.file(`photo/${req.params.photo}.${req.params.ext}`)
remoteFile.createReadStream().pipe(res)
})
Не могу сделать это тоже:
const opts = {
includeFiles: true
};
bucket.makePublic(opts, function(err, files) {
// `err`:
// The first error to occur, otherwise null.
//
// `files`:
// Array of files successfully made public in the bucket.
console.log(arguments)
});
Невозможно получить устаревшие списки ACL для корзины, для которой включена только политика корзины. Подробнее на https://cloud.google.com/storage/docs/bucket-policy-only.
$ gsutil iam ch allUsers:objectViewer gs://my.bucket
ServiceException: 401 Anonymous caller does not have storage.buckets.getIamPolicy access to my.bucket.