Проблемы с разрешениями IAM и аутентификацией для Google Cloud Storage / Speech To Text API. Почему у меня до сих пор нет разрешений? - PullRequest
0 голосов
/ 11 февраля 2020

Я получаю следующую ошибку при попытке запустить образец кода для Google Speech To Text API.

Код:

from google.cloud import speech_v1p1beta1
from google.cloud.speech_v1p1beta1 import enums


def sample_recognize(storage_uri):
    """
    Performs synchronous speech recognition on an audio file

Args:
  storage_uri URI for audio file in Cloud Storage, e.g. gs://[BUCKET]/[FILE]
"""

client = speech_v1p1beta1.SpeechClient()

# storage_uri = 'gs://cloud-samples-data/speech/brooklyn_bridge.mp3'

# The language of the supplied audio
language_code = "en-US"

# Sample rate in Hertz of the audio data sent
sample_rate_hertz = 44100

# Encoding of audio data sent. This sample sets this explicitly.
# This field is optional for FLAC and WAV audio formats.
encoding = enums.RecognitionConfig.AudioEncoding.MP3
config = {
    "language_code": language_code,
    "sample_rate_hertz": sample_rate_hertz,
    "encoding": encoding,
}
audio = {"uri": storage_uri}

response = client.recognize(config, audio)
for result in response.results:
    # First alternative is the most probable result
    alternative = result.alternatives[0]
        print(u"Transcript: {}".format(alternative.transcript))
sample_recognize("gs://news2ttestbucket/untitled.mp4")

Ошибка:

google.api_core.exceptions.PermissionDenied: 403 starting-account-950772mckg4@news2ttest-1581392888505.iam.gserviceaccount.com не имеет storage.objects.get доступа к news2ttestbucket / untitled.mp4.

Что касается корзины, Я дал все мыслимые разрешения каждому уровню проекта, и он все еще отказывается получить доступ к файлу.

введите описание изображения здесь

Действительно, не понимаю, почему это терпит неудачу и был бы признателен за любую помощь, спасибо !!

1 Ответ

2 голосов
/ 11 февраля 2020

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

  • Редакторы проекта
  • Владельцы проекта
  • Зрители проекта

Если мы подробно рассмотрим ваше сообщение об ошибке:

google.api_core.exceptions.PermissionDenied:
403 starting-account-950772mckg4@news2ttest-1581392888505.iam.gserviceaccount.com
   does not have storage.objects.get access to news2ttestbucket/untitled.mp4.

Мы увидим, что имя, запрашивающее доступ для работы с корзиной, называется:

starting-account-950772mckg4@news2ttest-1581392888505.iam.gserviceaccount.com

Если предположить, что удостоверение не является редактором проекта, владельцем или просмотрщиком, то ни одно из разрешений не применяется. Создайте новую запись, нажав «Добавить участников», и явно добавьте разрешения для этой личности.

...