首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >DynamoDB扫描未返回所需的输出

DynamoDB扫描未返回所需的输出
EN

Stack Overflow用户
提问于 2018-05-30 01:42:21
回答 1查看 843关注 0票数 2

我有一个扫描DynamoDB表的简单python脚本。该表包含我拥有的所有帐户的ARN。有一个数据类型字符串的主键"ARNs“。当我扫描表时,我只想得到返回的ARN字符串。我在boto3文档中找不到任何可以实现这一点的东西。下面是我的代码、返回的输出和所需的输出。

CODE:

代码语言:javascript
复制
import boto3

dynamo = boto3.client('dynamodb')

# Scans Dynamo for all account role ARNs 
def get_arns():

    response = dynamo.scan(TableName='AllAccountARNs')

    print(response)

get_arns()

OUTPUT:

代码语言:javascript
复制
{'ARNs': {'S': 'arn:aws:iam::xxxxxxx:role/custom_role'}},
{'ARNs': {'S': 'arn:aws:iam::yyyyyyy:role/custom_role'}},
{'ARNs': {'S': 'arn:aws:iam::zzzzzzz:role/custom_role'}}

DESIRED OUPUT:

代码语言:javascript
复制
arn:aws:iam::xxxxxxx:role/custom_role
arn:aws:iam::yyyyyyy:role/custom_role
arn:aws:iam::zzzzzzz:role/custom_role
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 02:23:31

以下是如何使用boto3 DynamoDB Client执行此操作的示例

代码语言:javascript
复制
import boto3

ddb = boto3.client('dynamodb')

rsp = ddb.scan(TableName='AllAccountARNs')

for item in rsp['Items']:
  print(item['ARNs']['S'])

这是同样的事情,但是使用boto3 DynamoDB Table Resource

代码语言:javascript
复制
import boto3

dynamodb = boto3.resource('dynamodb')
tbl = dynamodb.Table('AllAccountARNs')

rsp = tbl.scan()

for item in rsp['Items']:
  print(item['ARNs'])

请注意,这些示例并不处理大型结果集。如果响应中存在LastEvaluatedKey,则需要对结果集进行分页。请参阅boto3文档。

有关客户端与资源的更多信息,请参阅here

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50590040

复制
相关文章

相似问题

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