Я бы хотел отформатировать вывод в теле письма SNS, но динамический характер c для Elasticbeanstalk создает для меня ужасную проблему.
КОД:
def lambda_handler(event, context):
#Some code to fetch Elasticbeanstalk environement details
_ _ _
_ _ _
msg = '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'\
'\n\nHello Team, \n\n Elastic Beanstalk status: \n\n'\
'Total no.of Elastic beanstalk Environments: '+str(len(envname))+'\n'\
'EnvironmentName | Health | HealthStatus | CNAME \n\n'\
+str(prin_envname[0])+' | '+str(prin_Ehealth[0])+' | '+str(prin_Ehealthstatus[0])+' | '+str(prin_Cname[0])+' \n'\
+str(prin_envname[1])+' | '+str(prin_Ehealth[1])+' | '+str(prin_Ehealthstatus[1])+' | '+str(prin_Cname[1])+' \n'\
+str(prin_envname[2])+' | '+str(prin_Ehealth[2])+' | '+str(prin_Ehealthstatus[2])+' | '+str(prin_Cname[2])+' \n'\
+str(prin_envname[3])+' | '+str(prin_Ehealth[3])+' | '+str(prin_Ehealthstatus[3])+' | '+str(prin_Cname[3])+' \n'\
'\n'\
'Total number of EC2 instances associated: '+str(len(envinst))+'\n'\
'\n'\
'\n'\
'\n'\
'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^'
send_sns(msg)
def send_sns(msg):
snsClient = boto3.client('sns',region)
if msg:
subject_str = 'Elastic Beanstalkstatus - Environment status'
response = snsClient.publish(TopicArn=os.environ['SNS_ARN'],Message=msg,Subject=subject_str)
print('Publishing Messsage to SNS Topic')
else:
print('No content, exiting without sending SNS email..')
CHALLENGE
Поскольку моя среда Elasti c Beanstalk в aws постоянно меняется с 1 на N, я не могу предсказать количество сред в Elasti c Beanstalk .
Если вы видите мои параметры печати в переменной msg для SNS, это жестко закодировано для 4 сред.
Пожалуйста, укажите, как можно динамически печатать среды в теле письма SNS.
ВНИМАНИЕ
Я не могу получить доступ к сторонним библиотекам, таким как Pandas / Numpy et c., Я могу печатать последовательно, используя sh, используя для l oop, но проблема в том, что SNS принимает только переменную msg для тела письма.
Любая помощь / подсказка / ссылка высоко и благодарны.