1

我想在 aws dms 中为 s3 存储桶创建一个端点,用于将数据从 s3 迁移到 redshift。在以 JSON 格式定义表结构时,我收到一个错误,即字符限制设置为 1000 个字符。有没有为此四处走走,还是我做错了什么?在 aws dms 网站上共享的 Json 模板也有超过 1000 个字符。如果表结构有超过 20 列,我正在考虑如何四处走走。

另外,如果有人为 sql server 到 s3 到 redshift 创建了一个 dms 任务。我想了解当您启用复制时在 s3 存储桶中创建的更新文件如何作为更新而不是新表或行加载到 redshift。

先感谢您。

我尝试删除空格和eol字符

{
    "TableCount": "1",
    "Tables": [
        {
            "TableName": "employee",
            "TablePath": "hr/employee/",
            "TableOwner": "hr",
            "TableColumns": [
                {
                    "ColumnName": "Id",
                    "ColumnType": "INT8",
                    "ColumnNullable": "false",
                    "ColumnIsPk": "true"
                },
                {
                    "ColumnName": "LastName",
                    "ColumnType": "STRING",
                    "ColumnLength": "20"
                },
                {
                    "ColumnName": "FirstName",
                    "ColumnType": "STRING",
                    "ColumnLength": "30"
                },
                {
                    "ColumnName": "HireDate",
                    "ColumnType": "DATETIME"
                },
                {
                    "ColumnName": "OfficeLocation",
                    "ColumnType": "STRING",
                    "ColumnLength": "20"
                }
            ],
            "TableColumnsTotal": "5"
        }
    ]
}

错误:不得超过 1000 个字符

4

1 回答 1

0

在 unix 系统(EC2,..)上使用tr -s " ". 当您的数据有选项卡时,首先使用expand -1.

echo '{
    "TableCount": "1",
    "Tables": [
        {
            "TableName": "employee",
            "TablePath": "hr/employee/",
            "TableOwner": "hr",
            "TableColumns": [
                {
                    "ColumnName": "Id",
                    "ColumnType": "INT8",
                    "ColumnNullable": "false",
                    "ColumnIsPk": "true"
                },
                {
                    "ColumnName": "LastName",
                    "ColumnType": "STRING",
                    "ColumnLength": "20"
                },
                {
                    "ColumnName": "FirstName",
                    "ColumnType": "STRING",
                    "ColumnLength": "30"
                },
                {
                    "ColumnName": "HireDate",
                    "ColumnType": "DATETIME"
                },
                {
                    "ColumnName": "OfficeLocation",
                    "ColumnType": "STRING",
                    "ColumnLength": "20"
                }
            ],
            "TableColumnsTotal": "5"
        }
    ]
}' | tr -s " "
于 2019-06-06T13:48:27.877 回答