Ошибка сегментации AWS Lambda Python при загрузке файла S3Python

Программы на Python
Ответить
Anonymous
 Ошибка сегментации AWS Lambda Python при загрузке файла S3

Сообщение Anonymous »

Я столкнулся с ошибкой сегментации при запуске функции AWS Lambda
Функция извлекает данные из нескольких источников, обрабатывает их и загружает результаты в корзину S3
Извлечение и обработка данных проходят хорошо, но функция аварийно завершает работу на этапе загрузки файла со следующей ошибкой:

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

RequestId: 11692707-3f6a-49be-b829-62a0e9e0b18c Error: Runtime exited with error: signal: segmentation fault
Runtime.ExitError
END RequestId: 11692707-3f6a-49be-b829-62a0e9e0b18c
REPORT RequestId: 11692707-3f6a-49be-b829-62a0e9e0b18c  Duration: 1193.46 ms    Billed Duration: 1194 ms    Memory Size: 2056 MB    Max Memory Used: 249 MB Init Duration: 1350.67 ms
XRAY TraceId: 1-6787fda3-0501431b1684b42e1bb76bcd   SegmentId: 5dee1c4d067cb6b2 Sampled: true
Выделение памяти Lambda: 2056 МБ
Среда выполнения: Python 3.9
Журналы Lambda показывают, что учетные данные правильно загружается из переменных среды, и загрузка начинается, но вскоре после этого происходит сбой.
Я безуспешно пытался увеличить выделение памяти и время выполнения

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

def upload_to_s3(dataframe, bucket_name, file_name):
"""Upload DataFrame as CSV to S3."""
logger.info(f"Uploading file to S3 bucket {bucket_name} with key {file_name}...")
retries = 3
for attempt in range(retries):
try:
with tempfile.NamedTemporaryFile(delete=False) as temp_file:
dataframe.to_csv(temp_file.name, index=False)
temp_file.seek(0)
s3 = boto3.client('s3')
with open(temp_file.name, 'rb') as f:
s3.put_object(Bucket=bucket_name, Key=file_name, Body=f)
os.remove(temp_file.name)
logger.info(f"File uploaded to S3: {bucket_name}/{file_name}")
break
except ClientError as e:
if attempt == retries - 1:
logger.error(f"S3 upload failed after {retries} attempts: {e}")
raise
else:
logger.warning(f"S3 upload attempt {attempt + 1} failed, retrying...")
time.sleep(2)
Есть какие-нибудь идеи по диагностике или устранению этой ошибки сегментации во время загрузки S3? Может ли это быть связано с boto3, ограничениями среды Lambda или проблемой зависимостей?
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ile-upload
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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