首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与亚马逊DynamoDB的boto3交互

与亚马逊DynamoDB的boto3交互
EN

Stack Overflow用户
提问于 2021-09-02 12:34:41
回答 1查看 52关注 0票数 0

我想使用我在我的ec2实例上运行的python脚本将一些信息添加到我的亚马逊DynamoDB表中,我遇到了这个错误,任何人可以帮助我解决这个问题:

代码语言:javascript
复制
>>> import boto3
>>> import json
>>> dynamodb = boto3.resource("dynamodb")
>>> response = boto3.resource("dynamodb", region_name="eu-west-3")
>>> table = dynamodb.Table('Blocked_IP')
>>> response = table.put_item(
...     Item={
...     "RULEID": "154",
...     "NACLID": "acl-a54846c8",
...     "IP": "IP",
...     "TIME": "TIME"
...                 })
Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
  File "/usr/local/lib/python3.7/site-packages/boto3/resources/factory.py", line 520, in do_action
    response = action(self, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/boto3/resources/action.py", line 83, in __call__
    response = getattr(parent.meta.client, operation_name)(*args, **params)
  File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 386, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.7/site-packages/botocore/client.py", line 705, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the PutItem operation: One or more parameter values were invalid: Missing the key Blocked_IP in the item
>>>

EN

回答 1

Stack Overflow用户

发布于 2021-09-02 12:36:59

您的DynamoDB表有一个名称为Blocked_IP的主键属性。表中的每条记录都必须具有该属性的值。您试图向表中添加一个没有该属性任何值的记录。

您似乎错误地设置了一个名为IP的属性,而您应该设置一个名为Blocked_IP的属性。

您的代码需要如下所示(将硬编码的值替换为您想要插入的实际值):

代码语言:javascript
复制
response = table.put_item(
     Item={
     "RULEID": "154",
     "NACLID": "acl-a54846c8",
     "Blocked_IP": "IP",
     "TIME": "TIME"
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69030407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档