【问题标题】:Retrieve data from dynamo database and display in webpage从发电机数据库中检索数据并显示在网页中
【发布时间】:2018-04-16 23:32:08
【问题描述】:

我是 AWS 新手。我正在尝试从 DynamoDB 表中获取数据并使用 lambda 函数在网页中显示项目详细信息。 Lambda 函数使用 nodejs 或 python。

这是一个 MQTT 相关的项目,我在 AWS 中创建了一些东西并订阅了该主题。使用 MQTT BOX 工具,我已经发布了数据。它将以 base64 加密方式存储在 DynamoDB 表中。

这是我在 lambda 函数中的 python 代码,

import boto3
import json
import os

s3 = boto3.client('s3')
ddb = boto3.response('dynamodb')
table = ddb.Table('ioTDaxxx')

def lambda_handler(event, context):
response = table.scan()
body = json.dumbs(response['Items'])
response = s3.put_object(Bucket='mqttxxx',
Key='hello.json',
Body=body,
ContentType='application/json')

它给出了一个错误“模块初始化错误:模块'boto3'没有属性'response'”。我不知道它的代码是否正确。

请分享任何示例代码以从 DynamoDB 表中获取数据。

【问题讨论】:

    标签: python-3.x amazon-s3 aws-lambda nodes aws-iot


    【解决方案1】:

    boto3 的文档可以在这里找到:

    http://boto3.readthedocs.io/en/latest/reference/services/dynamodb.html

    不知道为什么要使用 boto3.response 对其进行初始化 - 但根据文档,您应该以与初始化 s3 模块的方式相同的方式进行操作:

    ddb = boto3.client('dynamodb')
    

    然后您可以使用适当的参数调用ddb.get_item(your_params)。可以在此处找到 get_item() 的完整参数列表:

    http://boto3.readthedocs.io/en/latest/reference/services/dynamodb.html#DynamoDB.Client.get_item

    【讨论】:

    • def lambda_handler(event, context): response = table.scan() for i in response['Items']: print(i['data'], ":", i['timestamp ']) #body = json.dumbs(response['Items']) body = '{ "name":"John", "age":31, "city":"New York" }' response = s3.put_object (Bucket='mqttxxxx', Key='hello1.json', Body=body, ContentType='application/json') 当我们尝试将值设置为 json 并将其存储在我的存储桶中时。但是当我运行上面的代码时,它给出了“调用PutObject操作时发生错误(AccessDenied):访问被拒绝”
    • @abdulkadhar - 当您的 lambda 函数没有正确的角色来访问资源(例如 s3、dynamoDB)时,就会发生这种类型的错误。如果您还没有,您需要在您的serverless.yml 文件中添加一个iamRoleStatements 部分以授予对s3 和dynamoDB 的权限。您可以在此处阅读有关 IAM 角色的更多信息:https://serverless.com/framework/docs/providers/aws/guide/iam/
    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多