Доступ запрещен при получении транскрипции
Моя установка следующая:
Клиент приложения React-native -> Шлюз AWS API -> Функция AWS Lambda -> AWS S3 -> AWS Transcribe -> AWS S3
Я успешно могу загрузить аудиофайл в корзину S3 из лямбды, запустить транскрипцию и даже получить доступ к нему вручную в корзине S3. Однако, когда я пытаюсь получить доступ к файлу json с данными транскрипции с помощью TranscriptFileUri, я получаю ответ 403.
В ведре s3 с транскрипциями у меня есть следующая конфигурация CORS:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag"
]
}
]
Код моей лямбда-функции выглядит так:
response = client.start_transcription_job(
TranscriptionJobName=jobName,
LanguageCode='en-US',
MediaFormat='mp4',
Media={
'MediaFileUri': s3Path
},
OutputBucketName = 'my-transcription-bucket',
OutputKey = str(user_id) + '/'
)
while True:
result = client.get_transcription_job(TranscriptionJobName=jobName)
if result['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
break
time.sleep(5)
if result['TranscriptionJob']['TranscriptionJobStatus'] == "COMPLETED":
data = result['TranscriptionJob']['Transcript']['TranscriptFileUri']
data = requests.get(data)
print(data)
В Cloudwatch я получаю следующее:<Response [403]>
при печати ответа.