Я столкнулся с проблемой, которую мне не удалось решить.Я хочу сгенерировать предварительно подписанный URL-адрес и перенаправить пользователя во внешнем интерфейсе по этому URL-адресу, чтобы он мог загрузить файл.По этой причине я добавил еще один триггер в свою лямбда-функцию - это API-шлюз.Вот мой код:
import os
import boto3
def lambda_handler(event, context):
url = ""
for record in event['Records']:
bucket = record['s3']['bucket']['name']
file_key = record['s3']['object']['key']
uri_duration = 90
s3Client = boto3.client('s3')
url = s3Client.generate_presigned_url('get_object', Params =
{'Bucket': bucket,
'Key': file_key},
ExpiresIn = uri_duration)
print(url)
return {"location": url }
Код должен сохранять предварительно подписанный URL-адрес в «местоположении», которое затем сопоставляется с API.Проблема в том, что после отладки я понял, что эта функция запускается один раз каждый раз, когда она вызывается либо шлюзом API, либо из корзины s3.Поэтому я хотел бы спросить, знает ли кто-нибудь, есть ли способ сгенерировать предварительно подписанный URL и сделать перенаправление 301 там каким-либо другим способом?Извините, если мой вопрос очевиден, я новичок в AWS