AWS DMS CDC任务无法检测列名和类型的更改。
创始人
2024-11-15 09:30:42
0

在AWS DMS中,CDC(Change Data Capture)任务无法检测列名和类型的更改。这是由于CDC任务只能检测到数据的更改,而不是数据库模式的更改。

但是,您可以通过以下步骤来解决这个问题:

  1. 创建一个Lambda函数,用于在CDC任务之前执行。此函数将调用AWS Glue的“GetTable” API来获取源表的元数据(包括列名和类型)。
import boto3

def get_table_metadata(database_name, table_name):
    glue_client = boto3.client('glue')
    response = glue_client.get_table(DatabaseName=database_name, Name=table_name)
    columns = response['Table']['StorageDescriptor']['Columns']
    return columns

def lambda_handler(event, context):
    source_database_name = event['sourceDatabaseName']
    source_table_name = event['sourceTableName']
    
    columns = get_table_metadata(source_database_name, source_table_name)
    
    # 将元数据存储在S3或其他地方,以便后续使用
    # ...
  1. 在AWS DMS任务之前,您可以使用AWS Lambda来调用上述函数,并将源数据库和表名作为输入参数传递给函数。可以使用AWS CloudWatch Events或AWS Step Functions来触发Lambda函数。

  2. 在目标端,您可以创建另一个Lambda函数,用于在CDC任务之后执行。此函数将调用AWS Glue的“GetTable” API来获取目标表的元数据,并将其与之前存储的源表元数据进行比较。

import boto3

def get_table_metadata(database_name, table_name):
    glue_client = boto3.client('glue')
    response = glue_client.get_table(DatabaseName=database_name, Name=table_name)
    columns = response['Table']['StorageDescriptor']['Columns']
    return columns

def compare_metadata(source_columns, target_columns):
    # 比较源表和目标表的元数据
    # ...

def lambda_handler(event, context):
    source_database_name = event['sourceDatabaseName']
    source_table_name = event['sourceTableName']
    target_database_name = event['targetDatabaseName']
    target_table_name = event['targetTableName']
    
    source_columns = get_table_metadata(source_database_name, source_table_name)
    target_columns = get_table_metadata(target_database_name, target_table_name)
    
    compare_result = compare_metadata(source_columns, target_columns)
    
    # 处理比较结果
    # ...

您可以根据自己的需求和情况修改上述代码示例。这种方法可以通过比较源表和目标表的元数据,来检测列名和类型的更改,并采取相应的处理措施。

相关内容

热门资讯

最新研发!AAPoker外挂透... 此外,数据分析德州(pokerx机器人)辅助神器app还具备辅助透视行为开挂功能,通过对客户poke...
7分钟了解!wepoke辅助德... 7分钟了解!wepoke辅助德之星(透视)辅助透视((2021已更新))(哔哩哔哩)是一款可以让一直...
一分钟揭秘!来玩app辅助!竟... 一分钟揭秘!来玩app辅助!竟然是真的有挂((2020已更新))(哔哩哔哩);来玩app软件透明挂更...
透明黑科技!aa poker下... poker透视辅助版本稳定性对比与推荐‌:透明黑科技!aa poker下载地址!果真是真的有挂((2...
五分钟实锤!微扑克软件发牌原理... 五分钟实锤!微扑克软件发牌原理(透视)软件透明挂((2021已更新))(哔哩哔哩)1、每个玩家都可以...
透明了解!aapoker牌局软... 透明了解!aapoker牌局软件透明挂辅助挂,德州ai机器人免费测试,详细教程(有挂透视)-哔哩哔哩...
实测揭晓!微扑克有没有辅助!确... 实测揭晓!微扑克有没有辅助!确实是真的有挂((2021已更新))(哔哩哔哩);亲,其实确实真的有挂(...
3分钟攻略!德扑之星app发牌... 3分钟攻略!德扑之星app发牌规律(透视)软件透明挂((2023已更新))(哔哩哔哩)1、每个玩家都...
一分钟了解!wepoke软件透... 一分钟了解!wepoke软件透明挂检测!果真真的有挂((2022已更新))(哔哩哔哩)是一款可以让一...
玩家亲测!wpk逻辑外挂透明挂... 玩家亲测!wpk逻辑外挂透明挂辅助器安装,德州ai辅助神器app,详细教程(有挂秘籍)-哔哩哔哩;亲...