Тайм-аут AWS Lambda для Amazon SESPython

Программы на Python
Anonymous
Тайм-аут AWS Lambda для Amazon SES

Сообщение Anonymous »

Приведенный ниже код для отправки электронного письма Amazon SES работает нормально. Однако мне нужен код для связи с локальной базой данных EC2, поэтому мне нужно добавить эту функцию Lambda в мой VPC и подсети. На этом этапе приведенный ниже код перестает работать и истекает время ожидания.
Как это исправить?

Код: Выделить всё

import json
import boto3

def send_email_ses(email):
client = boto3.client('ses', region_name='eu-west-1')

try:
response = client.send_email(
Destination={
'ToAddresses': [email]
},
Message={
'Body': {
'Text': {
'Charset': 'UTF-8',
'Data': 'Hello world',
}
},
'Subject': {
'Charset': 'UTF-8',
'Data': 'Welcome! Your API Key',
},
},
Source='source@domain.com'
)
return response['MessageId']
except Exception as e:
print(f"An error occurred: {str(e)}")
return None

def lambda_handler(event, context):
email = "test@domain.com"
message_id = send_email_ses(email)

if message_id:
body = f"Email Sent Successfully. MessageId is: {message_id}"
status_code = 200
else:
body = "Failed to send email."
status_code = 500

return {
'statusCode': status_code,
'body': json.dumps(body)
}`
Сообщение об ошибке:

Код: Выделить всё

Response { "errorMessage": "2024-06-26T05:12:37.998Z 34457ba1-910f-4f54-9ced-234dac1c0950 Task timed out after 5.01 seconds" }
Если я удалю VPC, он снова заработает.

Подробнее здесь: https://stackoverflow.com/questions/786 ... amazon-ses

Вернуться в «Python»