Как передать список в сообщение SNS? - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь отправить SNS, используя python. Работает нормально. Но я хочу передать список в тело сообщения SNS. Как это сделать?

Я пробовал, но не работает.

list = [('9',), ('8',), ('7',), ('6',), ('5',), ('4',), ('3',), ('23',), ('22',), ('21',), ('20',), ('2',), ('19',), ('18',), ('17',), ('16',), ('15',), ('14',), ('13',), ('12',), ('11',), ('10',), ('0',)]

message = { "source": "datapipeline",
            "application_nm": "omni",
            "severity": "2",
            "batch_run_start_dttm": "$actualStartTime",
            "batch_run_end_dttm": "actualEndTime",
            "batch_run_status_cd": "failed",
            "job_orchestration_id": "NA",
            "stage_nm": "NA",
            "stage_start_dttm": "NA",
            "stage_end_dttm": "NA",
            "stage_status_cd":  "failed",
            "job_run_id": "NA",
            "source_nm": "NA",
            "target_nm": "NA",
            "source_details": "NA",
            "target_details": "NA",
            "msg": "These mentioned hours having difference more than 50% from previous week:" +"%s"  ,
            "counts":"0",
            "notes": "After hourly comparison check, the above mentioned hours is having difference more than 50%"
          } %list

try:
    response = client.publish(
    TargetArn=sns_arn,
    Subject = 'Hourly comaprison mismatch',
    Message=json.dumps({'default': json.dumps(message)}),
    MessageStructure='json'
    )
    #return 'servicenow'
except Exception as e:
    return e
    print(e)
    print('SNS is throwing error!')

Попытка передать значение списка - msg с% s. Но выкидывает ошибку. Как передать это значение списка в тело сообщения SNS в формате JSON?

1 Ответ

0 голосов
/ 16 января 2019

Попробуйте это:

message = { "source": "datapipeline",
            "application_nm": "omni",
            "severity": "2",
            "batch_run_start_dttm": "$actualStartTime",
            "batch_run_end_dttm": "actualEndTime",
            "batch_run_status_cd": "failed",
            "job_orchestration_id": "NA",
            "stage_nm": "NA",
            "stage_start_dttm": "NA",
            "stage_end_dttm": "NA",
            "stage_status_cd":  "failed",
            "job_run_id": "NA",
            "source_nm": "NA",
            "target_nm": "NA",
            "source_details": "NA",
            "target_details": "NA",
            "msg": "These mentioned hours having difference more than 50% from previous week:" +"%s"  ,
            "counts":"0",
            "notes": "After hourly comparison check, the above mentioned hours is having difference more than 50%",
            "list": list # this is how to do it
          }

Кстати, очень плохая идея называть переменную "list", которая конфликтует со встроенной функцией list().

...