微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS DMS mysql 到 DDB 数组

如何解决AWS DMS mysql 到 DDB 数组

我在 MysqL 中有一个 varchar 以 json 列表格式存储,即:

['item1','item2']

我只需要通过 DMS 将数据发送到 DynamoDB 并将其存储为 DynamoDB 数组,即它应该像这样存储:

"my_column": {
  "L": [
    {
      "S": "item_1"
    },{
      "S": "item_2"
    }
  ]
}

我已经有了一些快速映射规则转换时间戳并告诉主键和排序键属性

{
  "rules": [
    {
      "rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {
        "schema-name": "my_MysqL_db","table-name": "my_MysqL_table"
      },"rule-action": "include"
    },{
      "rule-type": "object-mapping","rule-id": "2","rule-name": "2","rule-action": "map-record-to-record","target-table-name": "my_ddb_target","mapping-parameters": {
        "partition-key-name": "account_id","sort-key-name": "id","exclude-columns": [
          "created_at","updated_at","created_at_ts","updated_at_ts"
        ],"attribute-mappings": [
          {
            "target-attribute-name": "account_id","attribute-type": "scalar","attribute-sub-type": "string","value": "${account_id}"
          },{
            "target-attribute-name": "id","value": "${id}"
          },{
            "target-attribute-name": "created_at","attribute-sub-type": "number","value": "${created_at_ts}"
          },{
            "target-attribute-name": "updated_at","value": "${updated_at_ts}"
          }
        ]
      }
    }
  ]
}

我尝试过类似的东西:

{
  "rule-type": "transformation","rule-name": "RuleName 1","rule-action": "change-data-type","rule-target": "column","object-locator": {
    "schema-name": "my_MysqL_db","table-name": "my_MysqL_table","column-name": "list_items","data-type": "string"
  },"data-type": {
    "type": "list"
  }
}

但是它出错了,并且不允许我将它与其他规则一起保存,此外,我尝试按照文档重命名该列,例如 array_my_column 并且也不起作用。

我希望得到一些已经从 sql 到 ddb 数组迁移的人的反馈。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。