我有一个上游应用程序正在向一个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消息相关推荐

  1. aws python sns_手把手教你用Python抓取AWS的日志(CloudTrail)数据

    原标题:手把手教你用Python抓取AWS的日志(CloudTrail)数据 作者: Gang TAO 大数据时代,利用数据做决策是大数据的核心价值. 本文手把手,教你使用python进行AWS的Cl ...

  2. aws python库_适用于Alexa的新AWS Python SDK入门指南

    aws python库 by Ralu Bolovan 由Ralu Bolovan 适用于Alexa的新AWS Python SDK入门指南 (A Beginner's guide to the ne ...

  3. aws python库_如何使用Python,AWS和IEX Cloud创建自动更新股市数据的Excel电子表格

    aws python库 Many Python developers in the financial world are tasked with creating Excel documents f ...

  4. aws python sdk send sns_AWS:boto3订阅SNS时的空SQS队列

    通过boto3订阅SNS主题时,我的SQS队列中没有收到任何消息.在 这是我使用的代码或API凭据的问题吗?与此帐户关联的IAM策略具有AWS PowerUser特权,这意味着它可以不受限制地访问SN ...

  5. aws 删除ec2实例_如何在AWS中启动EC2实例

    aws 删除ec2实例 你好朋友, 在本教程中,我们将看到如何立即在AWS中旋转EC2实例. 您应该有权访问AWS控制台.如果您还没有AWS账户,则可以单击此处并在AWS上创建免费套餐. 如何在AWS ...

  6. aws lambda_如何通过在本地模拟AWS Lambda来加速无服务器开发

    aws lambda by John McKim 约翰·麦金(John McKim) 如何通过在本地模拟AWS Lambda来加速无服务器开发 (How you can speed up server ...

  7. 亚马逊 aws 指南 实战_减少您的AWS成本完整指南

    亚马逊 aws 指南 实战 Do you think your cloud costs are too high? I think most businesses can find savings i ...

  8. aws lambda使用_我们通过使用AWS Lambda服务机器学习模型学到了什么

    aws lambda使用 by Daitan 通过大潭 我们通过使用AWS Lambda服务机器学习模型学到了什么 (What We Learned by Serving Machine Learni ...

  9. aws eks_在生产中配置和使用AWS EKS

    aws eks 到现在,我们已经完成了向Amazon EKS ( 工作地点)的迁移,并且集群已经投入生产. 过去,我已经写了一些要点的简短摘要,您可以在这里找到. 当系统正在处理实际流量时,我有了一些 ...

最新文章

  1. centos6一键安装vsftpd脚本
  2. Work with Alexa :Echo匹配连接到Alexa
  3. Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
  4. http、TCP/IP协议与socket之间的区别
  5. 修改mysql数据库存放路径
  6. JAVA Socket实现多客户端聊天
  7. Linux/U-Boot Git Repo
  8. SecureCRT同时向多个终端发送命令
  9. linux ll命令无效
  10. MySql学习之varchar类型
  11. 这就是科研爱情:硕士毕业工作6年后,二人一起辞职携手攻读博士学位
  12. 也用C#做个视频监控客户端来玩玩
  13. sql 分页查询 (每次6行 )
  14. GridView日期列使用DataFormatString格式化技巧
  15. 网银安全控件远程代码执行漏洞分析
  16. Excel单元格向下,向右自动填充的快捷键
  17. IP:网络上的击鼓传花
  18. RS485通信与Modbus协议
  19. java jsp实现注册登录界面_jsp实现简单的用户登录和注册
  20. 使用 mesh 实现多边形裁剪图片!Cocos Creator!

热门文章

  1. 2岁男童入住自如后患白血病离世 自如回复:道歉做不到
  2. 苹果回应移除部分屏幕时间控制应用:因为隐私和安全
  3. 串口的输出设置【原创】
  4. 编辑框已经获取了焦点,输入法不自动弹起
  5. Java并发编程之LinkedBlockingQueue
  6. c#正则表达式取出数据库中带html标签的内容,C#用正则表达式 获取网页源代码标签的属性或值...
  7. 'qapplicationapp'在此作用域中尚未声明 linux,qt 编译问题总结
  8. 建立p2p互相连接的社区集群机器人设计(一)
  9. Spring 配置的项目中数据库链接信息加密(详细)
  10. 【ElasticSearch】Es 缓存