繁体   English   中英

将 Boto3 与 DynamoDB 一起使用时,模块 object 无法调用错误

[英]Module object not callable error when using Boto3 with DynamoDB

我正在尝试使用 Python SDK 将项目插入到我的 DynamoDB 中(我对 Python 不太熟悉)。 我也在使用 MQTT 来检索一些数据。 目前 MQTT 部分工作正常(我现在有一些硬编码值,所以我可以专注于让 AWS 功能正常工作)

我还在使用 AWS Educate 帐户,因此需要传入我的访问密钥等(我已从代码中删除以在此处发布)。 现在的代码是:

from pprint import pprint
import boto3
import paho.mqtt.client as paho
import json
from types import SimpleNamespace

broker = "35.173.177.9"        

#MQTT function
def onMessage(client, userdata, message):
    print("Message recieved: ", str(message.payload.decode("utf-8", "ignore")))

    movie_resp = putItem(1000, "1.1.1.1", "Pi", "06/01/21")

    print("Put item succeeded:")

    pprint(movie_resp, sort_dicts=False)

def putItem(id, ip, deviceName, clickDate, dynamodb=None):
    session = boto3.session(
    aws_access_key_id="",
    aws_secret_access_key="",
    aws_session_token="",
    region_name='us-west-1'
    )

   if not dynamodb:
      dynamodb = session.resource('dynamodb')

   table = dynamodb.Table('piData')

   response = table.put_item(
   Item={
        'ip': ip,
        'id': id,
        'deviceName': deviceName,
        'clickDate': clickDate
    }
   )

   return response

#MQTT code below
client = paho.Client("awsUbuntuEC2")
client.on_message = onMessage
client.connect(broker)
client.subscribe("jsonData")
client.loop_forever()

运行代码时,我得到:

"TypeError: 'module' object is not callable"

在线的

session = boto3.session(

有任何想法吗?

请尝试在标题处添加from boto3 import Session并尝试再次运行该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM