当前位置: 首页 > 知识库问答 >
问题:

使用AWS Lambda中的boto3在扫描后修改项目属性

何志业
2023-03-14

目标是扫描并返回DynamoDB表中的所有项,但在返回响应之前,修改每个特定项的特定属性。

我已经完成了这项工作,但我很想知道是否有一种更具成本效益的方法,而不必遍历所有项目。

目前,我正在返回表的完整扫描,并遍历每个列表项(发现它不是一个对象,而是一个列表):

    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table('<table name>')

    response = table.scan()

    items = response['Items']

    for item in items:
        item['Thumbnail'] = 'https://s3.amazonaws.com/<s3bucket>/' + item['Thumbnail']

    return items

我怀疑这个解决方案不需要循环就能解决,但如果有一个解决方案可以避免循环,我很想听到!

共有1个答案

蒯硕
2023-03-14

更新项目的循环成本将以毫秒为单位。Dynamodb扫描网络延迟将花费更多时间。

 类似资料:
  • 热生成用于Python文件的Fortify文件。 一个类似的问题是Fortify,如何通过命令开始分析,但它列出了java的步骤。 要为python项目生成报告,必须使用--python-path。我尝试了以下步骤,但没有工作。 第一步:清洁,建造 步骤2:扫描:此步骤应生成fpr文件 这没有生成任何fpr文件。第二步给出如下警告: 我不确定我是否使用了正确的命令。 如何确保在目录和子目录中扫描所

  • 我的表大约是220mb,里面有250k记录。我试图将所有这些数据拉入Python。我意识到这需要一个大块的批处理过程,并循环通过,但我不确定如何设置批处理,以开始前一个离开。 有什么方法可以过滤我的扫描吗?据我所知,过滤是在加载后发生的,加载在1mb时停止,因此我实际上无法扫描新对象。 任何协助都将不胜感激。

  • 位于java.util.scanner.throwfor(未知源)位于java.util.scanner.next(未知源)的线程“main”java.util.NoSuchelementException中出现异常**** 我多次调用s(扫描器),在第二次调用时出现运行时错误。这是由于关闭扫描仪,并可能再次使用它。我的问题是,每次使用Scanner时,我都会创建一个新的Scanner实例,那么为

  • 我有一个<代码>。NET Core项目我试图运行Fortify扫描。据我所知,目前还没有VS2017 Fortify插件可用,但我很好奇是否可以使用围绕插件工作,仍然执行Fortify扫描?如果是这样,我怎么能把它合并到我的清洁、翻译和扫描命令中? 当前Fortify版本:

  • 我们需要在我们计划使用React Native构建的Android应用程序中使用一个用于Zebra扫描仪(带激光/非摄像头的条形码扫描仪)的npm包。现在世博会CLI似乎是要走的路,但经过一些快速研究,我们不太确定这是否可能——将这个斑马包包含在世博会项目中。你能确认是这样吗? 我之所以这样问是因为以下关于使用世博会的事实: 您无法添加本机模块(可能对某些人来说是游戏规则改变者) 您不能在Obje

  • 问题内容: 我刚刚开始使用Java中的列表。我想知道推荐的修改列表中每个元素的方法是什么? 我已经可以通过以下两种方法来完成此任务,但是它们看起来都相当简单。有没有更好的方法可以在Java中完成此操作?是否推荐以下任何一种方法,或者两者都处于同一水平? 问题答案: 第二个版本会更好。在内部,它们最后是相同的,但是第二个实际上允许您修改列表,而第一个将引发ConcurrentModification