使用 Lambda 函数从 So DynamoDB 解析和加载数据

本文介绍如何使用aws lambda函数将s3存储桶中的json数据加载到dynamodb表中。

先决条件:

拥有向S3上传对象的权限。拥有S3和DynamoDB权限的Lambda执行角色。

架构和组件:

本方案使用三个AWS服务:

S3存储桶: 作为可扩展、安全、高性能的对象存储服务,用于存储数据。Lambda函数: 无服务器计算服务,用于运行代码并处理数据,无需管理基础设施。支持多种编程语言,易于设置。DynamoDB: 无服务器NoSQL数据库,用于存储Lambda函数处理后的数据。

使用 Lambda 函数从 So DynamoDB 解析和加载数据

工作流程:

用户通过控制台或CLI使用PutObject API将JSON文件上传到S3存储桶。文件上传成功后,触发S3事件,调用Lambda函数进行数据加载和处理。Lambda函数处理数据并将其加载到DynamoDB表中。

实施步骤:

以下步骤详细说明如何部署和配置上述架构:

1. 创建Lambda函数:

函数名称:parserdemo运行时:Python 3.1x (或其他支持的运行时)

其他设置保持默认值。创建函数后,修改超时配置和执行角色,如下所示:

使用 Lambda 函数从 So DynamoDB 解析和加载数据使用 Lambda 函数从 So DynamoDB 解析和加载数据

以下Python代码实现数据处理逻辑:

import jsonimport boto3s3_client = boto3.client('s3')dynamodb = boto3.resource('dynamodb')def lambda_handler(event, context):    bucket_name = event['Records'][0]['s3']['bucket']['name']    object_key = event['Records'][0]['s3']['object']['key']    print(f"Bucket: {bucket_name}, Key: {object_key}")    response = s3_client.get_object(Bucket=bucket_name, Key=object_key)    json_data = response['Body'].read()    string_formatted = json_data.decode('UTF-8')    dict_format_data = json.loads(string_formatted)    table = dynamodb.Table('DemoTable')    if isinstance(dict_format_data, list):        for record in dict_format_data:            table.put_item(Item=record)    elif isinstance(dict_format_data, dict):        table.put_item(Item=dict_format_data)    else:        raise ValueError("Unsupported Format")

登录后复制

2. 创建S3存储桶:

桶名称:使用唯一名称。其他设置保持默认值。将创建的S3存储桶作为触发器添加到Lambda函数:

使用 Lambda 函数从 So DynamoDB 解析和加载数据使用 Lambda 函数从 So DynamoDB 解析和加载数据

3. 创建DynamoDB表:

表名称:DemoTable分区键:userid表设置:自定义容量模式:预配置

为了降低成本,将预配置容量单位设置为较低的读/写单位(例如1或2个单位)。

使用 Lambda 函数从 So DynamoDB 解析和加载数据使用 Lambda 函数从 So DynamoDB 解析和加载数据

完成设置后,上传文件到S3进行测试。您可以在DynamoDB表中查看已创建的项目和上传的记录。 Lambda函数的CloudWatch日志和DynamoDB项目如下所示:

使用 Lambda 函数从 So DynamoDB 解析和加载数据使用 Lambda 函数从 So DynamoDB 解析和加载数据

参考:

S3 APIDynamoDB APIBoto3 for AWS services

希望此指南对您有所帮助。如有任何疑问,请提出。

以上就是使用 Lambda 函数从 So DynamoDB 解析和加载数据的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2079383.html

(0)
上一篇 2025年2月24日 09:25:41
下一篇 2025年2月24日 09:26:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • wps office怎么设置背景尺寸-wps office设置背景尺寸的方法

    wps office个人版,集ai与云功能于一身,支持云存储,让您随时随地访问和编辑文档,并兼容windows、linux、mac及移动设备。本文将指导您如何设置wps office ppt的背景尺寸。 第一步 新建一个WPS演示文稿或PP…

    2025年4月1日 互联网
    100
  • 腾讯QQ小冰怎么体验虚拟男友

    qq虚拟男友体验指南:开启你的ai聊天伴侣!许多用户对qq虚拟男友功能充满好奇,本文将手把手教你如何体验这项贴心功能,与你的虚拟男友开启精彩互动。 首先,打开腾讯QQ,在搜索栏输入“小冰虚拟男友”并搜索。 找到对应的小程序后,点击进入。 进…

    2025年4月1日
    100
  • 2025支付宝小鸡3.30最新答案是什么-支付宝蚂蚁课堂今天最新答案分享

    支付宝蚂蚁庄园小课堂每日答题赢取180g鸡饲料,寓教于乐,知识与奖励兼得!以下是今日小课堂答案: 支付宝蚂蚁庄园今日答案 问题一:古人对书信的雅称是什么? 答案:尺素 知识扩展: “尺素”源自汉乐府诗《饮马长城窟行》,“尺素”指书信,也指小…

    2025年4月1日
    100
  • 豆包软件收费吗

    豆包软件不收费,是免费的,无需申请、无需等待,注册即可使用,豆包是你的ai伙伴可以为你答疑解惑,还可以定制自己的ai智能体。 豆包软件收费吗 答:豆包软件是不收费的。 1、豆包软件是字节跳动在2023年8月发布的ai工具软件。 2、支持网页…

    2025年4月1日
    100
  • 豆包翻译怎么用

    豆包软件中有很多实用的功能,比如翻译,但是只能进行中英文翻译,其他语言暂时不行,在发现ai智能体页面选择学习找到中英文翻译助手,输入想要翻译的文字即可得到翻译结果。 豆包翻译怎么用 1、首先打开豆包,在发现ai智能体栏选择学习选项。 2、进…

    2025年4月1日
    100
  • 神奇海洋2025.3.31问答答案是什么-神奇海洋每日答题每天问题正确答案分享

    蚂蚁森林神奇海洋每日答题,带您探索海洋知识,助力海洋公益!以下为今日答题答案: 今日神奇海洋答题答案 问题:世界上最咸的海是? 答案:红海 知识扩展: 红海以其极高的盐度而闻名,平均盐度高达40%,是全球盐度最高的海域。这是由于红海地区降水…

    2025年4月1日
    100
  • 蚂蚁庄园今日答案 蚂蚁庄园今日答案最新2025年4月1日

    蚂蚁庄园每日答案新鲜出炉!参与答题赢取180g小鸡饲料!想知道2025年4月1日的答案吗?快来看看吧! 蚂蚁庄园4月1日答案揭晓 问题一:我国江南地区最大的石窟造像群是? 答案:飞来峰造像 飞来峰石窟,始建于五代,拥有丰富的佛教石刻,是江南…

    2025年4月1日
    100
  • 2025蚂蚁新村3.31今日答案是什么-蚂蚁新村职业课堂每天问题答案分享

    支付宝蚂蚁新村每日答题,赢取免费村民!这个持续火爆的活动,不仅提升用户活跃度,更让游戏内容丰富多彩。 想知道今天蚂蚁新村职业知识课堂的答案吗? 马上揭晓! 蚂蚁新村职业课堂每日答案 问题:被称为“化妆品背后的工程师”的职业是? 答案:化妆品…

    2025年4月1日
    100
  • 番茄小说角色机器人对话在哪里

    番茄小说ai多角色朗读功能,让您以全新的对话方式体验小说!开启朗读模式后,即可选择ai多角色朗读,感受身临其境的阅读体验。 如何启用番茄小说AI多角色朗读? 打开番茄免费小说APP,选择您想阅读的小说。 在小说阅读页面,找到并点击“听”按钮…

    2025年4月1日
    100
  • iOS15麦克风模式怎么修改

    ios 15新增麦克风模式调节功能,让您轻松掌控录音效果!本文将指导您如何快速修改ios 15的麦克风模式。 首先,下拉屏幕打开控制中心。 接下来,点击控制中心中的麦克风图标。您将看到三种模式:标准、语音增强和宽频。 选择您需要的模式即可。…

    2025年4月1日
    100

发表回复

登录后才能评论