Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 从dynamo数据库检索数据并显示在网页中_Python 3.x_Amazon S3_Aws Lambda_Nodes_Aws Iot - Fatal编程技术网

Python 3.x 从dynamo数据库检索数据并显示在网页中

Python 3.x 从dynamo数据库检索数据并显示在网页中,python-3.x,amazon-s3,aws-lambda,nodes,aws-iot,Python 3.x,Amazon S3,Aws Lambda,Nodes,Aws Iot,我是AWS的新手。我试图从DynamoDB表中获取数据,并使用lambda函数在网页中显示项目详细信息。Lambda函数使用nodejs或python 这是一个与MQTT相关的项目,我已经创建了一些东西并订阅了AWS中的主题。我使用MQTT-BOX工具发布了数据。它将存储在DynamoDB表中的base64加密中 这是我在lambda函数中的python代码 import boto3 import json import os s3 = boto3.client('s3') ddb = bot

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

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

这是我在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表获取数据的任何示例代码。

boto3的文档可在此处找到:

不确定您为什么要用
boto3.response
-但根据文档,您应该以与初始化s3模块相同的方式进行初始化:

ddb = boto3.client('dynamodb')
然后,您可以调用
ddb.get_item(您的参数)
,并使用适当的参数。get_item()参数的完整列表可在此处找到:


def lambda_handler(事件,上下文):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_对象(Bucket='mqttxxxx',Key='hello1.json',Body=Body,ContentType='application/json'),当我们尝试将值哑化为json并将其存储在我的存储桶中时。但是当我运行上述代码时,它给出了“调用PutObject操作时发生错误(AccessDenied):拒绝访问”@abdulkadhar-当lambda函数没有访问资源的正确角色(例如s3、dynamoDB)时,会发生这种类型的错误。如果您还没有,则需要在
serverless.yml
文件中添加一个
iamRoleStatements
部分,以向s3和dynamoDB授予权限。您可以在此处阅读有关IAM角色的更多信息: