需要将消息响应构造为表,并通过python发布到SNS

需要将消息响应构造为表,并通过python发布到SNS,python,python-3.x,aws-lambda,amazon-sns,Python,Python 3.x,Aws Lambda,Amazon Sns,大家好,我是python新手,我正在尝试比较两个表,获取关于cidr的报告,并且必须使用SNS主题将报告发送到电子邮件,下面是我编写的代码 我能够得到报告,在发布消息的同时,我得到了验证错误以及如何继续的任何建议,是否有任何方法可以发送消息,如下表所示 代码: 答复: { "errorMessage": "Parameter validation failed:\nInvalid type for parameter Message, value: {'us-w

大家好,我是python新手,我正在尝试比较两个表,获取关于cidr的报告,并且必须使用SNS主题将报告发送到电子邮件,下面是我编写的代码

我能够得到报告,在发布消息的同时,我得到了验证错误以及如何继续的任何建议,是否有任何方法可以发送消息,如下表所示

代码:

答复:

{
  "errorMessage": "Parameter validation failed:\nInvalid type for parameter Message, value: {'us-west-2': {'provider': 'aws', 'cidravaliable': [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'centralus': {'provider': 'azure', 'cidravaliable': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-west-1': {'provider': 'aws', 'cidravaliable': [22, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'ap-southeast-1': {'provider': 'aws', 'cidravaliable': [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-west-2': {'provider': 'aws', 'cidravaliable': [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-central-1': {'provider': 'aws', 'cidravaliable': [19, 21, 23, 24, 26, 28, 29, 30, 31, 32]}}, type: <class 'dict'>, valid types: <class 'str'>",
  "errorType": "ParamValidationError",
  "stackTrace": [
    "  File \"/var/task/lambda_function.py\", line 51, in lambda_handler\n    publishOntoSNSTopic(regions)\n",
    "  File \"/var/task/lambda_function.py\", line 45, in publishOntoSNSTopic\n    client.publish(\n",
    "  File \"/var/runtime/botocore/client.py\", line 316, in _api_call\n    return self._make_api_call(operation_name, kwargs)\n",
    "  File \"/var/runtime/botocore/client.py\", line 607, in _make_api_call\n    request_dict = self._convert_to_request_dict(\n",
    "  File \"/var/runtime/botocore/client.py\", line 655, in _convert_to_request_dict\n    request_dict = self._serializer.serialize_to_request(\n",
    "  File \"/var/runtime/botocore/validate.py\", line 297, in serialize_to_request\n    raise ParamValidationError(report=report.generate_report())\n"

驾车注释:您正在发送一个dict,但它应该是一个字符串,可能是
json。dumps
能够使用带有HTML响应的jinja2模板实现此功能。驾车注释:您正在发送一个dict,但它应该是一个字符串,可能是
json。dumps
能够使用带有HTML响应的jinja2模板实现此功能。
{
  "errorMessage": "Parameter validation failed:\nInvalid type for parameter Message, value: {'us-west-2': {'provider': 'aws', 'cidravaliable': [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'centralus': {'provider': 'azure', 'cidravaliable': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-west-1': {'provider': 'aws', 'cidravaliable': [22, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'ap-southeast-1': {'provider': 'aws', 'cidravaliable': [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-west-2': {'provider': 'aws', 'cidravaliable': [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]}, 'eu-central-1': {'provider': 'aws', 'cidravaliable': [19, 21, 23, 24, 26, 28, 29, 30, 31, 32]}}, type: <class 'dict'>, valid types: <class 'str'>",
  "errorType": "ParamValidationError",
  "stackTrace": [
    "  File \"/var/task/lambda_function.py\", line 51, in lambda_handler\n    publishOntoSNSTopic(regions)\n",
    "  File \"/var/task/lambda_function.py\", line 45, in publishOntoSNSTopic\n    client.publish(\n",
    "  File \"/var/runtime/botocore/client.py\", line 316, in _api_call\n    return self._make_api_call(operation_name, kwargs)\n",
    "  File \"/var/runtime/botocore/client.py\", line 607, in _make_api_call\n    request_dict = self._convert_to_request_dict(\n",
    "  File \"/var/runtime/botocore/client.py\", line 655, in _convert_to_request_dict\n    request_dict = self._serializer.serialize_to_request(\n",
    "  File \"/var/runtime/botocore/validate.py\", line 297, in serialize_to_request\n    raise ParamValidationError(report=report.generate_report())\n"
Function logs:
START RequestId: 21b40036-a590-4854-ac5b-2b23bff56ecd Version: $LATEST
--------------------------------------------------------------------------------------------------------------
| Region                 | Provider     | Remaining CIDRs                                                    |
--------------------------------------------------------------------------------------------------------------
| us-west-2              | aws          | 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32                         |
| centralus              | azure        | 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32                 |
| eu-west-1              | aws          | 22, 24, 25, 26, 27, 28, 29, 30, 31, 32                             |
| ap-southeast-1         | aws          | 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32             |
| eu-west-2              | aws          | 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32             |
| eu-central-1           | aws          | 19, 21, 23, 24, 26, 28, 29, 30, 31, 32                             |
--------------------------------------------------------------------------------------------------------------