Установить разрешения для объекта ведра gs для речевого API

Я хочу преобразовать длинный аудиофайл в текст.

Итак, я создал корзину и установил ее как частную, используя

gsutil acl set private gs://bucket

затем я устанавливаю доступ только для загрузки из определенной учетной записи

gsutil acl ch -u [email protected]:WRITE gs://bucket

затем я установил разрешение на чтение для служебной учетной записи в ведро

gsutil acl ch -u [email protected]:R gs://bucket/

затем я отправил запрос с помощью программы python, но она вернула 403, но если я установил объект как общедоступный, он вернет 200 Но я не хочу устанавливать разрешение как общедоступное для файлов.

Что еще я могу сделать?

Обязательно ли делать аудиофайл общедоступным для создания текста?

Я следил за этим, чтобы установить разрешения для учетной записи службы: https://stackoverflow.com/a/45638730/4320263


person Abhay    schedule 28.06.2018    source источник
comment
Где работает ваша программа на Python? Ваша локальная машина? Приложение App Engine? А в ведро пытается писать?   -  person LundinCast    schedule 28.06.2018
comment
Программа @LundinCast Python запущена на локальном компьютере, и я передаю местоположение объекта корзины в качестве полезной нагрузки. Она просто отправляет запрос POST в речевой API.   -  person Abhay    schedule 28.06.2018


Ответы (1)


Предоставление пользователю разрешения на чтение в сегменте через ACL не позволяет содержимое внутри для загрузки, а не просто для перечисления содержимого. Вы можете установить разрешение на чтение ACL для самого объекта:

gsutil acl ch -u [email protected]:R gs://bucket/file.xxx

или вы можете предоставить политику IAM для средства просмотра объектов хранилища на ведро, чтобы получить доступ ко всему его содержимому.

person Stu    schedule 28.06.2018