Я получаю эту ошибку при попытке создать «перенос» для переноса содержимого одной корзины в 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)
});
Невозможно получить устаревшие списки управления доступом для сегмента, в котором включена только политика сегмента. Подробнее см. 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.