Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 当下沉到Kinesis时,带有自定义规则的Amazon DMS任务失败_Amazon Web Services_Aws Dms_Amazon Dms - Fatal编程技术网

Amazon web services 当下沉到Kinesis时,带有自定义规则的Amazon DMS任务失败

Amazon web services 当下沉到Kinesis时,带有自定义规则的Amazon DMS任务失败,amazon-web-services,aws-dms,amazon-dms,Amazon Web Services,Aws Dms,Amazon Dms,我正在尝试使用AmazonDMS监听AuroraDB的更改,并将更改推送到一个Kinesis流,在这个流中,监听该流的Lambda函数将进行处理 我参考了下面的文档来编写我的规则 下面是我对DMS持续复制(CDC)任务的规则映射 { “规则”:[ { “规则类型”:“选择”, “规则id”:“1”, “规则名称”:“1”, “对象定位器”:{ “架构名称”:“我的数据库”, “表名”:“我的表” }, “规则操作”:“包括” }, { “规则类型”:“对象映射”, “规则id”:“2”, “

我正在尝试使用AmazonDMS监听AuroraDB的更改,并将更改推送到一个Kinesis流,在这个流中,监听该流的Lambda函数将进行处理

我参考了下面的文档来编写我的规则

下面是我对DMS持续复制(CDC)任务的规则映射

{
“规则”:[
{
“规则类型”:“选择”,
“规则id”:“1”,
“规则名称”:“1”,
“对象定位器”:{
“架构名称”:“我的数据库”,
“表名”:“我的表”
},
“规则操作”:“包括”
},
{
“规则类型”:“对象映射”,
“规则id”:“2”,
“规则名称”:“2”,
“规则操作”:“将记录映射到记录”,
“对象定位器”:{
“架构名称”:“我的数据库”,
“表名”:“我的表”
},
“映射参数”:{
“分区键”:{
“属性名称”:“我的id”,
“值”:“${my_id}”
}
}
}
]
}
但是,当我在源表中进行更改时,DMS任务失败,出现以下错误

当我尝试不使用
对象映射
规则时,Kinesis将获得一条带有
“partitionKey”的记录:“my_db.my_table”
,并具有正确的值,这是表到表接收器的默认行为,但我们需要表到Kinesis接收器

为什么我这么关心分区键?因为我需要利用我的运动流中的所有碎片

有人能帮我吗

更新:

当我将
“分区键类型”:“架构表”
添加到
“映射参数”
中时,它不会失败,任务不会失败,但会忽略
“分区键”
属性,并像以前一样具有
“分区键”:“my_db.my_table”

不确定点:

  • 在表到表的下沉中,它使用
    “分区键类型”:
    “schema table”
    ,但从未提及表对动觉的值
  • 文档中的示例和解释非常有限,甚至有错误(即一些规则JSON无效)

  • 所以,我在这里回答我自己的问题

    我们联系了AWS支持团队,他们说这是他们方面的一个问题,文档也没有反映确切的功能。他们还从内部筹集了一张罚单,并在将来将其修复

    目前,由于DMS无法满足我们的期望,我们决定采用另一种解决方案

    2019-02-05T10:36:55 [TARGET_APPLY ]E: Error allocating memory for Json document [1020100] (field_mapping_utils.c:382)
    2019-02-05T10:36:55 [TARGET_APPLY ]E: Failed while looking for object mapping for table my_table [1020100] (kinesis_utils.c:258)
    2019-02-05T10:36:55 [TARGET_APPLY ]E: Error executing data handler [1020100] (streamcomponent.c:1778)
    2019-02-05T10:36:55 [TASK_MANAGER ]E: Stream component failed at subtask 0, component st_0_some_random_id [1020100] (subtask.c:1366)
    2019-02-05T10:36:55 [TASK_MANAGER ]E: Task error notification received from subtask 0, thread 1 [1020100] (replicationtask.c:2661)
    2019-02-05T10:36:55 [TASK_MANAGER ]W: Task 'some_random_task_id' encountered a fatal error (repository.c:4704)