问题标签 [aws-dms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
796 浏览

amazon-web-services - AWS 中的“CharacterSetSettings”

我正在使用 AWS Database Migration Service (DMS) 创建复制任务。我注意到在 TaskSettings JSON 中有一个名为CharacterSetSettings. 但是,似乎没有此属性的文档。

我尝试在文档和谷歌中搜索此属性,但没有出现。

任务设置 JSON:

应该有关于CharacterSetSettings. 我希望该文档列在为 AWS Database Migration Service 任务指定任务设置 - AWS Database Migration Service上。

0 投票
1 回答
2857 浏览

amazon-ec2 - 我可以暂停 AWS DMS 复制实例吗?

我每天都在使用 AWS DMS 来移动数据。

我的复制实例不是 24/24 小时使用的。我可以暂停它们以节省成本吗?

如果我不能暂停它们,每天创建和销毁它们会不会很糟糕?会不会因为储蓄太少而工作太多?

0 投票
1 回答
2125 浏览

amazon-web-services - AWS DMS:如何处理 Presto/Athena 中的 TIMESTAMP_MICROS parquet 字段

目前,我们有一个 DMS 任务,它将获取 MySQL DB 的内容并将文件以 parquet 格式转储到 S3。

parquet 中时间戳的格式最终为 TIMESTAMP_MICROS。

这是一个问题,因为 Presto(Athena 的底层实现)不支持微秒精度的时间戳,并假设所有时间戳都是毫秒精度。

这不会直接导致任何错误,但会使时间显示为某个极端的未来日期,因为它将微秒数解释为毫秒数。

我们目前正在通过在获取这些时间戳的 Athena 表之上创建 Athena 视图来解决此问题,将它们转换为 unix 时间戳(即数字),除以 1000 以转换为毫秒分辨率,然后再转换回时间戳。

这对于概念验证和识别问题来说很好,但这对我们不起作用,因为我们有很多带有很多时间戳列的表,并且不想在顶部引入这个脆弱的视图层。

为 Athena 和 DMS 团队创建了支持票证,双方都确认了问题并在他们的末端创建了功能请求,以便为这种不兼容的问题创建本机解决方案,但两位支持工程师都无法提供内置的解决方法。DMS 似乎不支持将列类型更改为毫秒精度或 varchar 字符串。对于 Athena,这只是一个记录在案的 Presto 限制。

有没有人遇到过这个问题并找到了解决方案?

更改 MySQL 数据库中的精度并不是一个真正的选择,因为它被许多客户使用,我们不想冒险破坏界面。

我正在考虑创建一个作业,该作业将在创建新镶木地板时运行以查找 TIMESTAMP_MICRO 字段并将它们列到 TIMESTAMP_MILLIS。不完全确定最好的方法(胶水/火花工作?)

DMS 很棒,让转储到镶木地板变得超级简单,可能还有其他方法可以从 MySQL 中提取数据。有没有其他工具可以在没有太多定制开发的情况下做到这一点?

0 投票
0 回答
30 浏览

json - 如何将在 AWS EC2 中运行的 MySQL 5.7 迁移到带有 MySql 8.0 的 RDS?

我有一个在 AWS EC2 机器中运行的 MySQL,我想将它迁移到 AWS RDS 中的 MySql 8.0。

为了实现这一点,我使用 MySQL 8.0 启动了一个 RDS 并在那里创建了所需的模式,之后我创建了一个 DMS 任务,目标为 RDS,源为 MySQL,在 EC2 机器上运行。

使用上述方法 DMS 在 JSON 类型的列中插入空值。

0 投票
1 回答
122 浏览

amazon-web-services - 在 AWS 数据迁移服务中为 S3 创建源端点时,是否设置了 1000 个字符的限制来定义表结构

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

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

先感谢您。

我尝试删除空格和eol字符

错误:不得超过 1000 个字符

0 投票
1 回答
310 浏览

sql-server - 使用 AWS DMS 将 SQL Server 迁移到 AWS S3 时如何捕获 CDC 操作时间?

我想使用 AWS DMS 将本地 SQL Server CDC 迁移到 S3 文件。一切正常,但目标中的 CDC 操作时间。我有:

列目标中的数据,但与时间无关。我怎样才能在目标中有操作时间?

我知道如果有办法在目标中返回 SQL 函数的结果,我可以调用sys.fn_cdc_map_lsn_to_time(x.__$start_lsn)函数,但不知道该怎么做。

本地 SQL Server 版本为:

Microsoft SQL Server 2014 (SP1-CU4)- 12.0.4436.0 (X64) 企业版:Windows NT 6.1(内部版本 7601:Service Pack 1)(管理程序)上基于内核的许可(64 位)

0 投票
3 回答
5328 浏览

postgresql - 如何解决错误:无法访问文件“pglogical”:没有这样的文件或目录

错误:

我们每 3 个月左右收到一次此错误。重新启动任务解决了问题,但恢复不起作用。

复制槽存在,但似乎处于非活动状态:

0 投票
1 回答
512 浏览

amazon-ec2 - 能够通过 VPN 从本地 ping EC2。但是,无法 ping DMS 复制实例

我已经设置了一个 VPN,并且能够从本地 ping EC2 实例的私有 IP,反之亦然。但是,我无法 ping DMS 复制实例的私有 IP。

我在 EC2 中创建了一个端点指向数据库。端点测试连接成功。但是,本地数据库的端点测试连接失败。

EC2 和 DMS 复制实例使用相同的子网、安全组等,详细信息如下图所示。

在此处输入图像描述

我可否知道

1) 为什么 DMS 实例不与本地通信(反之亦然)

2) 为什么 EC2 在 VPN 中运行良好但在 DMS 实例中运行良好?

编辑:

与 DMS 实例关联的安全组的详细信息:

  • vpc - EC2 使用的相同默认 vpc
  • 入站规则 - 所有流量、所有协议、所有端口范围、源 = 192.168.0.0/24
  • 出站规则 - 所有流量、所有协议、所有端口范围、源 = 0.0.0.0/0

路由表:

  • 目的地 - 10.0.0.0/16,目标 = 本地
  • 目的地 - 0.0.0.0/0,目标 = 互联网网关
  • 目的地 - 192.168.0.0/24,目标 = VPN 中使用的虚拟专用网关

这是我在尝试测试 DMS DB 端点连接时收到的错误消息:

测试端点失败:应用程序状态:1020912,应用程序消息:连接失败发生网络错误,应用程序详细消息:RetCode:SQL_ERROR SqlState:HYT00 NativeError:0 消息:[unixODBC][Microsoft][ODBC Driver 13 for SQL Server]登录超时过期 ODBC 一般错误。

0 投票
0 回答
352 浏览

parallel-processing - 将 DMS 与并行加载到 Redshift 目标一起使用时出错

我们正在使用AWS DMS

复制源是一个包含大表的 Aurara MySQL 集群。

复制目标是一个 Redshift 集群。

满载和 CDC 任务在没有并行加载的情况下成功运行。

使用 parallel-load 参数时,任务失败并出现以下错误:

我想问题来自 DMS 向 Redshift 发送锁定表的查询。

我在网上找不到信息(stackoverflow、AWS 论坛、AWS Doc)

我能做些什么来解决这个问题?Redshift 和 DMS 并行加载是否存在已知错误?

并行加载是相当新的,并在此处进行了描述: https ://aws.amazon.com/fr/blogs/database/introducing-aws-dms-replication-engine-version-3-1-2/ 和 AWS DOC

0 投票
1 回答
2058 浏览

amazon-s3 - AWS DMS CDC 到 S3 目标

因此,我正在研究使用 Data Migration Service Chance Data Capture 可以实现什么,将数据从 MSSQL 转移到 S3 以及 Redshift。

红移测试很好,如果我删除源数据库中的记录,一两秒后该记录从红移中消失。与插入/更新等相同..

但是S3 ...您从第一次满载中获得原始记录。然后,如果您更新源中的记录,S3 会收到该记录的新副本,并标有“I”。
如果我删除一条记录,我会得到另一份标有“D”的记录副本。

所以我的问题是——我该怎么处理这一切?如何查询我的 S3 存储桶以查看我的数据集的“当前”状态以反映源数据库?

我是否必须自己编写一些代码来获取所有这些文件并处理它们,执行插入/更新和删除,直到我最终解析回“正常”数据集?

欢迎任何见解!