通过数据管道截断 DynamoDb 或重写数据

2024-04-15

可以通过数据管道转储 DynamoDb,也可以将数据导入 DynamoDb。导入进展顺利,但数据始终附加到 DynamoDb 中已存在的数据。

目前,我找到了扫描 DynamoDb 并逐一或通过批量删除项目的工作示例。但无论如何,对于大量数据来说,这都不是一个好的变体。

也可以完全删除表并创建它。但随着变体索引将会丢失。

因此,最好的方法是通过数据管道导入或以某种方式截断来覆盖 DynamoDb 数据。可以做吗?如果是的话怎么可能?


截断表功能在 DynamoDB 中不可用,因此请考虑删除该表并重新创建,

Reason:DynamoDB 向您收费的依据ReadCapacityUnits & WriteCapacityUnits你用过的。如果您使用删除所有项目BatchWriteItem函数,它将使用WriteCapacityUnits。所以,要保存这些WriteCapacityUnits对于删除项目,最好截断表并重新创建它。

删除和创建 DynamoDB 表的步骤如下:

通过 AWS CLI 删除表 http://docs.aws.amazon.com/cli/latest/reference/dynamodb/delete-table.html :

aws dynamodb delete-table --table-name *tableName*

通过 AmazonDynamoDB API 删除表 http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteTable.html :

样品请求

POST / HTTP/1.1
Host: dynamodb.<region>.<domain>;
Accept-Encoding: identity
Content-Length: <PayloadSizeBytes>     
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.0
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
X-Amz-Date: <Date> 
X-Amz-Target: DynamoDB_20120810.DeleteTable 

{
    "TableName": "Reply"
}

通过 AmazonDynamoDB API 创建 DynamoDB 表 http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html :

POST / HTTP/1.1
Host: dynamodb.<region>.<domain>;
Accept-Encoding: identity
Content-Length: <PayloadSizeBytes>     
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.0
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
X-Amz-Date: <Date> 
X-Amz-Target: DynamoDB_20120810.CreateTable 

{
    "AttributeDefinitions": [
        {
            "AttributeName": "ForumName",
            "AttributeType": "S"
        },
        {
            "AttributeName": "Subject",
            "AttributeType": "S"
        },
        {
            "AttributeName": "LastPostDateTime",
            "AttributeType": "S"
        }
    ],
    "TableName": "Thread",
    "KeySchema": [
        {
            "AttributeName": "ForumName",
            "KeyType": "HASH"
        },
        {
            "AttributeName": "Subject",
            "KeyType": "RANGE"
        }
    ],
    "LocalSecondaryIndexes": [
        {
            "IndexName": "LastPostIndex",
            "KeySchema": [
                {
                    "AttributeName": "ForumName",
                    "KeyType": "HASH"
                },
                {
                    "AttributeName": "LastPostDateTime",
                    "KeyType": "RANGE"
                }
            ],
            "Projection": {
                "ProjectionType": "KEYS_ONLY"
            }
        }
    ],
    "ProvisionedThroughput": {
        "ReadCapacityUnits": 5,
        "WriteCapacityUnits": 5
    }
}

Summary : 删除表并重新创建将是最好的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过数据管道截断 DynamoDb 或重写数据 的相关文章

  • 使用 SMARTY 截断 HTML 格式的文本

    我有一个使用随机 HTML 代码格式化的变量 我称其为 text 我把它截断了 该值例如 div Lorem i ipsum b dolor span sit span amet b con i elit div 如果我截断文本的前 30
  • 如何使用 python3 在 aws 上使用过滤表达式作为嵌套映射属性?

    我一直在尝试扫描 DynamoDB 以检查名为 可交付成果 的嵌套地图属性中的特定值 但是 使用带有过滤表达式的扫描会导致空结果 import boto3 result dynamo client boto3 client dynamodb
  • 异步方法中的 Await 与 Task.Result [重复]

    这个问题在这里已经有答案了 执行以下操作有什么区别 async Task
  • 检索 DynamoDB 上以指定文本开头的列的所有项目

    我在 DynamoDB 中有一个表 Id int hash key Name string 还有很多列 但我省略了 通常 我只是根据项目的 ID 提取和更新项目 这个模式非常适合这种情况 然而 要求之一是有一个基于名称的自动完成下拉框 我希
  • AWS S3 中有乐观锁吗?

    我在 s3 中有一个 excel 文件 由于不同的程序读取和写入它 我需要保证每个程序都写入它们读取的版本 S3仅保证新创建对象的读后一致性 以及覆盖和删除对象的最终一致性 如果您的 Excel 文件足够小 小于 400kb 您可以将其存储
  • 如何批量获取DynamoDB中的索引表?

    如何在DynamoDB中批量获取全局二级索引 这些参数给了我一个架构错误 因为这个哈希键仅在索引表中 主键有其他 const params RequestItems MyTableName Keys ThisHashKeyIsOnlyInI
  • Heroku Dynos 是否享受 AWS 网络内的免费数据传输?

    我正在考虑将 Heroku 用于 NodeJS 应用程序 我想知道他们的 Dynos 是否享受 AWS 网络内的免费内部数据传输 我想使用 DynamoDB ElastiCache RDS SQS 和许多其他 AWS 产品 如果我可以从 H
  • C 删除文件最后 n 个字符

    我需要使用 C 代码从文件中删除最后 n 个字符 起初我尝试使用 b 但它返回了分段错误 我看到类似问题的有趣答案here https stackoverflow com questions 584639 truncate file and
  • 玩!框架+DynamoDB

    作为 Play 框架的新手 我想知道它是否比我想象的更容易 但是是否可以将 DynamoDB 与 Play 框架一起使用 由于 DynamoDB 是一个 NoSQL 数据库 我预计您需要使用特定的模块 而由于 Dynamo 最近才发布 因此
  • 如何使用dynamoose查询本地dynamoDB?

    作为一名开发人员 我不想一直连接到 Amazon Web 服务 我在本地计算机上安装了 DynamoDB 引用了AWS Docs https docs aws amazon com amazondynamodb latest develop
  • DynamoDB:键及其含义

    我对如何使用 DynamoDB 表键感到困惑 该文档提到了 HASH 似乎也称为分区 键和 RANGE 或排序 键 我试图将这些与我之前对数据库索引理论的理解大致保持一致 我目前主要基于猜测的理解是 HASH 键本质上是主键 它必须是唯一的
  • 从 apache Spark 读取/写入 dynamo 数据库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有任何 Java 库支持从 apache Spark Mesos 读取 写入 dynamo
  • DynamoDB Stream 的计划读取

    我正在寻找一种按计划时间间隔从 DynamoDB 批量读取更新的方法 例如 每隔 10 分钟 我希望能够读取自上次读取以来 DynamoDB 表发生的所有更新 我了解 DynamoDB Streams 可以设置为触发 Lambda 函数 L
  • 是否可以附加到 DynamoDB 中的多值属性?

    是否可以附加到 Amazon DynamoDB 表中多值属性的值列表 我不太能够使用 put 请求弄清楚它 如果可能的话 我想避免读取 更新 写入逻辑 假设您指的是字符串和数字集如中所述Amazon DynamoDB 数据类型 https
  • 获取 emr-ddb-hadoop.jar 将 DynamoDB 与 EMR Spark 连接

    我有一个 DynamoDB 表 需要将其连接到 EMR Spark SQL 才能对该表运行查询 我获得了带有发行标签 emr 4 6 0 和 Spark 1 6 1 的 EMR Spark Cluster 我指的是文档 使用 Spark 分
  • 由于命名约定,使用 DynamoDB AWS SDK [无哈希键映射] 时出错

    在使用 AWS JAva SDK 时 为了定义 DynamoDBHashKey 我们使用 DynamoDBHashKey 注释 奇怪的是 如果我使用如下注释 DynamoDBHashKey String Abc 代替 DynamoDBHas
  • 更新 DynamoDB 中的多条记录

    如何在单个查询中更新 DynamoDB 中的多条记录 我有一个 csv 文件作为基于 csv 文件的输入 我必须更新数据库中的多条记录 只有一个属性 有可用的 API 吗 或者这可以使用批处理 Spring batch 来完成 Dynamo
  • 无法创建复合索引,停留在 INSTALLED

    我无法创建索引 我的 Gremlin 代码如下 usernameProperty mgmt getPropertyKey username usernameIndex mgmt buildIndex byUsernameUnique Ver
  • 适用于 Hadoop 的 DynamoDB 输入格式

    我必须使用 Hadoop mapreduce 处理保留在 Amazon Dynamodb 中的一些数据 我在互联网上搜索 Dynamo DB 的 Hadoop InputFormat 但找不到它 我对 Dynamo DB 不熟悉 所以我猜测
  • 更新项目时,NUMBER_VALUE 无法转换为字符串

    我在 DynamoDB 上遇到了这个奇怪的问题 我似乎无法更新项目 这是我的命令 TableName UserTable Key UID S h4XJj3YRxZiF7TDcGkxAhc UpdateExpression SET numRa

随机推荐

  • 宽度为 100% 的 HTML 输入文本框溢出表格单元格

    有谁知道为什么宽度为 100 的输入元素会超出表格的单元格边框 在下面的简单示例中 输入框越过表格的单元格边框 结果非常糟糕 这已经过测试 并且在 Firefox IE7 和 Safari 上以相同的方式发生 这对你来说有意义吗 我错过了什
  • 为什么 Python 中不推荐使用 MutableString?

    为什么是可变字符串 http docs python org library userdict html UserString MutableStringPython 2 6 中已弃用的类 为什么它在 Python 3 中被删除了 The
  • 可变参数模板参数解包

    对于每个参数 我需要应用两个嵌套函数 obj apply someFilter arg arg is one argument but here should be an unpacking of args 我不知道如何为这种情况编写拆包
  • 比较两个 NSString 对象时如果“a == b”为 false

    我有一个带有可访问方法的类 该方法传回NSString当被叫时 MyClass getMyString 该类中的字符串变量实际上是在didSelectRowAtIndexPath 像这样的表的一部分 myString cell textLa
  • MySQL 将行值合并为单行

    我需要为表创建一个选择查询 该表合并 Number 列上每组的行 以获得包含所有可用但最新 按 ID 列的单行 这就是我的意思 我需要一张这样的表 ID Number Date 1 Date 2 Date 3 1 1 2011 10 01
  • VB.NET Array Contains 方法不起作用

    在 VB NET 中 我试图确定给定的字符串是否存在于字符串数组中 根据我的研究 数组有一个我可以使用的 包含 方法 因此代码如下所示 Dim fileTypesZ As String PDF TXT DOC DOCX XLS XLSX J
  • Swift 中的按钮文本下划线

    我有 UIButton 在界面生成器中 我将其标题设置为 属性 如何在 Swift 代码中使其标题带有下划线 IBOutlet weak var myBtn UIButton 我创建了一个在此按钮的 touchUpInside 事件上调用的
  • 将外部数据源与 Cucumber 功能文件集成

    我是 Cucumber 及其用于 BDD 的功能文件的新手 我想知道是否有任何方法可以直接给出外部数据文件 例如 CSV 文件 的文件路径 并获取用于创建测试脚本的参数值 您可以向功能添加带有参数的标签 data path data jso
  • Retrofit 2.0 如何解析嵌套的 JSON 对象?

    我们的团队决定使用改造2 0 http square github io retrofit 我正在对这个库进行一些初步研究 如标题所述 我想通过 Android 应用程序中的 Retrofit 2 0 解析一些嵌套的 JSON 对象 例如
  • bash + for循环+输出索引号和元素

    这是我的数组 ARRAY one two three 如何打印数组以便得到如下输出 index i element i 使用printf or for我在下面使用的循环 1 one 2 two 3 three 一些笔记供我参考 打印数组的1
  • 如何在java中读取和写入对象到文本文件?

    我有一个对象数组 我想将它们写入文本文件中 这样我以后就可以将对象读回到数组中 我该怎么做呢 使用序列化 反序列化不起作用 public static void readdata ObjectInputStream input null t
  • 如何在 Chrome 扩展中加载 Google Analytics 和 Facebook SDK?

    我正在使用 Kango 框架开发 chrome 扩展 我想同时使用 Google Analytics 和 facebook SDK 我编辑了清单文件以包含以下内容 content security policy script src sel
  • 左边补零

    我想在字符串中向左填充每个数字 必须是 8 位数字 e g asd 123 rete gt asd 00000123 rete 4444 my text gt 00004444 my text 是否可以使用正则表达式来做到这一点 尤其Reg
  • 如何使用 Twitter Bootstrap 指定多个 javascript 模式参数?

    我有一个使用 Twitter Bootstrap 创建的模式 我想用javascript打开 现在我有以下内容 但是 我还想包括背景和键盘属性 Twitter 的文档将选项显示为 my modal modal keyboard true m
  • 自定义 SAML 应用程序出现 AWS SSO“无访问错误”

    我正在尝试使用 AWS SSO 设置自定义 SAML 2 0 应用程序 但是 我从网络选项卡中收到以下错误 Status code 403 message No access type com amazonaws switchboard p
  • Spring Boot:使用不同的 Tomcat 版本

    在 Spring Boot 文档中有一个部分将 Tomcat 7 x 或 8 0 与 Gradle 结合使用 https docs spring io spring boot docs current reference html howt
  • 从 Java 类生成 XML 模式(或相反)

    我想为我的项目生成一些 XML 模式 我有一些 Java 类 例如 package com fortresswars entity import com fortresswars entity properties Armor import
  • Corona/Box2D 检测与非移动静态物体的碰撞

    出于发帖原因 这是我正在尝试做的事情的简单版本 在屏幕上我有一个简单的圆形对象 它是静态的并且不会移动 然后用户可以拖放一条直线 如果该线穿过该圆圈 我希望触发碰撞事件 看来除非其中一个物体正在移动 否则永远不会检测到碰撞 绘制线条时能否检
  • 如何在 ggplot2 中围绕轴刻度标签创建一个框?

    出于多种原因 我试图复制下面所示的怪诞情节 它违反了良好数据可视化的许多规则 因此出于培训目的 我的目标是使用ggplot2并解构它 一次删除或修改一个选择不当的功能 使用底部复制的数据和图下方的代码 我已经接近目标 但无法弄清楚如何包含一
  • 通过数据管道截断 DynamoDb 或重写数据

    可以通过数据管道转储 DynamoDb 也可以将数据导入 DynamoDb 导入进展顺利 但数据始终附加到 DynamoDb 中已存在的数据 目前 我找到了扫描 DynamoDb 并逐一或通过批量删除项目的工作示例 但无论如何 对于大量数据