amazon-web-services - AWS DMS mysql 到 DDB 阵列
问题描述
我在mysql中有一个以json列表格式存储的varchar,即:
['item1', 'item2']
我只需要通过 DMS 将数据发送到 DynamoDB 并将其存储为 DynamoDB Array,即它应该存储为:
"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",
"object-locator": {
"schema-name": "my_mysql_db",
"table-name": "my_mysql_table"
},
"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",
"attribute-type": "scalar",
"attribute-sub-type": "string",
"value": "${id}"
},
{
"target-attribute-name": "created_at",
"attribute-type": "scalar",
"attribute-sub-type": "number",
"value": "${created_at_ts}"
},
{
"target-attribute-name": "updated_at",
"attribute-type": "scalar",
"attribute-sub-type": "number",
"value": "${updated_at_ts}"
}
]
}
}
]
}
我尝试过类似的方法:
{
"rule-type": "transformation",
"rule-id": "1",
"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 数组迁移的人的反馈。
解决方案
推荐阅读
- python - 从 csv 中删除不需要的行时出现 IndexError
- laravel - Storybook.js 正在破坏通过 webpack 加载的字体
- vue.js - 内容安全策略拒绝 v-html 中的 XSS 攻击
- php - PHP - 表单提交后,电子邮件表单发送超过 50 封邮件
- mongodb - mongo inside ansible-operator image
- java - 将信息从一个班级调用到另一个班级?
- javascript - 如何允许用户滚动大文本文件?
- r - R中转换数据的SLR
- reactjs - GatsbyJS 和内容安全政策
- r - 通过 calc 函数(在 R 中)从光栅图像的线性回归中提取 p 值