#amazon-web-services #amazon-sns
#amazon-web-services #amazon-sns
Вопрос:
Пожалуйста, как я могу заставить SNS включить результат запроса в электронное письмо, отправленное мне из этой лямбда-функции? Теперь он отправляет пустое электронное письмо.
import boto3
import os
def lambda_handler(event, context):
BUCKET_NAME = 'dde-diskscallers'
KEY = 'test/LO/dc893c0a-9d20-5d2c6.csv'
s3 = boto3.client('s3','ap-southeast-1')
response = s3.select_object_content(
Bucket = BUCKET_NAME,
Key = KEY,
ExpressionType = 'SQL',
Expression = "SELECT s._2, s._5, s._4 FROM S3Object s WHERE s._4 > '80'",
InputSerialization = {'CSV': {"FileHeaderInfo": "None"}},
OutputSerialization = {'JSON': {}},
)
for event in response['Payload']:
if 'Records' in event:
records = event['Records']['Payload'].decode('utf-8')
Client = boto3.client('sns')
response = client.publish(
TargetArn='arn:aws:sns:xxxxxxxxx:Diskcall',
Message=
Комментарии:
1. В
select_object_content()
документации ответ показан как'Payload': EventStream({...
, что предполагает, что ответ представляет собой словарь, а не список. Это означало бы, чтоfor
цикл не будет работать. Если вы печатаете содержимоеresponse['Payload']
, что оно содержит?