aws python sns_使用AWS Lambd从AWS SNS读取时修改JSON消息
我有一个上游应用程序正在向一个SNS主题发送以下JSON消息。我们使用AWS lambda函数将这个JSON对象保存在S3中:{
"processResult": {
"processName": "XYZ",
"stageResults": {
"Read Files": {
"status": "PROCESSED",
"error": "",
"timeTaken": 26064469473
},
"Convert Files": {
"status": "PROCESSED",
"error": "",
"timeTaken": 97968896
}
},
"processMetrics": {
"filesProcessed": 1157,
"filesWithExceptionCount": 1,
"timeTaken": "367.460031s",
"metricsCalcTime": "6.061847s",
"totalTimeTaken": "373.521878s"
},
"succeeded": true
}
}
如果您在“stageResults”结构中观察到,我有带空格的属性,比如“Read Files”和“Convert Files”,当我试图使用AWS Athena(AWS Glue Crawler)从S3读取这个JSON时,我得到以下错误:
^{pr2}$
但是当我通过修改“stageResults”结构(如“Read_Files”和“Convert_Files”)手动编辑JSON消息时,我能够成功地使用AWS Athena表读取和查询JSON。在
下面是AWS Lambda的一段代码,它触发SNS主题,读取JSON消息并保存在S3中:import json
import boto3
import random
import string
file_name = ''.join([random.choice(string.ascii_lowercase) for i in range(16)])
def lambda_handler(event, context):
target_bucket = 'bucket-name'
target_key = 'input=clientdata/' + file_name + '.json'
s3 = boto3.resource('s3')
for record in event['Records']:
payload = record["body"]
data = json.loads(payload)
print(data)
print("copying JSON message...")
s3.Object('target_bucket', 'target_key').put(
Body=(bytes(json.dumps(data).encode('UTF-8')))
)
现在,我想知道如何在使用AWS Lambda将JSON消息保存到S3之前修改它。感谢任何帮助。在
aws python sns_使用AWS Lambd从AWS SNS读取时修改JSON消息相关推荐
- aws python sns_手把手教你用Python抓取AWS的日志(CloudTrail)数据
原标题:手把手教你用Python抓取AWS的日志(CloudTrail)数据 作者: Gang TAO 大数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的Cl ...
- aws python库_适用于Alexa的新AWS Python SDK入门指南
aws python库 by Ralu Bolovan 由Ralu Bolovan 适用于Alexa的新AWS Python SDK入门指南 (A Beginner's guide to the ne ...
- aws python库_如何使用Python,AWS和IEX Cloud创建自动更新股市数据的Excel电子表格
aws python库 Many Python developers in the financial world are tasked with creating Excel documents f ...
- aws python sdk send sns_AWS:boto3订阅SNS时的空SQS队列
通过boto3订阅SNS主题时,我的SQS队列中没有收到任何消息.在 这是我使用的代码或API凭据的问题吗?与此帐户关联的IAM策略具有AWS PowerUser特权,这意味着它可以不受限制地访问SN ...
- aws 删除ec2实例_如何在AWS中启动EC2实例
aws 删除ec2实例 你好朋友, 在本教程中,我们将看到如何立即在AWS中旋转EC2实例. 您应该有权访问AWS控制台.如果您还没有AWS账户,则可以单击此处并在AWS上创建免费套餐. 如何在AWS ...
- aws lambda_如何通过在本地模拟AWS Lambda来加速无服务器开发
aws lambda by John McKim 约翰·麦金(John McKim) 如何通过在本地模拟AWS Lambda来加速无服务器开发 (How you can speed up server ...
- 亚马逊 aws 指南 实战_减少您的AWS成本完整指南
亚马逊 aws 指南 实战 Do you think your cloud costs are too high? I think most businesses can find savings i ...
- aws lambda使用_我们通过使用AWS Lambda服务机器学习模型学到了什么
aws lambda使用 by Daitan 通过大潭 我们通过使用AWS Lambda服务机器学习模型学到了什么 (What We Learned by Serving Machine Learni ...
- aws eks_在生产中配置和使用AWS EKS
aws eks 到现在,我们已经完成了向Amazon EKS ( 工作地点)的迁移,并且集群已经投入生产. 过去,我已经写了一些要点的简短摘要,您可以在这里找到. 当系统正在处理实际流量时,我有了一些 ...
最新文章
- centos6一键安装vsftpd脚本
- Work with Alexa :Echo匹配连接到Alexa
- Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
- http、TCP/IP协议与socket之间的区别
- 修改mysql数据库存放路径
- JAVA Socket实现多客户端聊天
- Linux/U-Boot Git Repo
- SecureCRT同时向多个终端发送命令
- linux ll命令无效
- MySql学习之varchar类型
- 这就是科研爱情:硕士毕业工作6年后,二人一起辞职携手攻读博士学位
- 也用C#做个视频监控客户端来玩玩
- sql 分页查询 (每次6行 )
- GridView日期列使用DataFormatString格式化技巧
- 网银安全控件远程代码执行漏洞分析
- Excel单元格向下,向右自动填充的快捷键
- IP:网络上的击鼓传花
- RS485通信与Modbus协议
- java jsp实现注册登录界面_jsp实现简单的用户登录和注册
- 使用 mesh 实现多边形裁剪图片!Cocos Creator!
热门文章
- 2岁男童入住自如后患白血病离世 自如回复:道歉做不到
- 苹果回应移除部分屏幕时间控制应用:因为隐私和安全
- 串口的输出设置【原创】
- 编辑框已经获取了焦点,输入法不自动弹起
- Java并发编程之LinkedBlockingQueue
- c#正则表达式取出数据库中带html标签的内容,C#用正则表达式 获取网页源代码标签的属性或值...
- 'qapplicationapp'在此作用域中尚未声明 linux,qt 编译问题总结
- 建立p2p互相连接的社区集群机器人设计(一)
- Spring 配置的项目中数据库链接信息加密(详细)
- 【ElasticSearch】Es 缓存