排查 Snowflake 问题 - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

排查 Snowflake 问题

本节介绍了使用 Snowflake 作为目的地时常见的问题排查步骤

Firehose 流创建失败

如果将数据传送到 PrivateLink启用了 Snowflake 集群的流创建 Firehose 流失败,则表示 Firehose 无法访问 VPCE-ID。这可能是由以下原因之一导致的:

  • VPCE-ID 不正确。确认没有印刷错误。

  • Firehose 在预览版中不支持无区域的 Snowflake。 URLs 使用 Snowflake 账户定位器提供 URL。请参阅 Snowflake 文档了解更多详细信息。

  • 确认 Firehose 直播是在与雪花 Amazon 区域相同的区域中创建的。

  • 如果问题仍然存在,请联系 Amazon 支持人员。

传输失败

如果数据未传输到您的 Snowflake 表,请检查以下各项。Snowflake 传输失败的数据将连同与有效载荷对应的错误代码和错误消息一起传输到 S3 错误存储桶。以下是一些常见的错误场景。有关错误代码的完整列表,请参阅 Snowflake 数据传输错误

  • 错误代码:Snowflake。 DefaultRoleMissing: 表示在创建 Firehose 直播时未配置雪花角色。如果未配置 Snowflake 角色,则请确保将默认角色设置为指定的 Snowflake 用户。

  • 错误代码:Snowflake。 ExtraColumns: 表示由于输入负载中有多列而拒绝插入 Snowflake。不应指定表中不存在的列。请注意,Snowflake 列名称是区分大小写的。如果尽管表中存在列,但传输仍因此错误而失败,则请确保输入有效载荷中列名的大小写与表定义中声明的列名相匹配。

  • 错误代码:Snowflake。 MissingColumns: 表示由于输入有效载荷中缺少列,对 Snowflake 的插入被拒绝。确保为所有非空列指定值。

  • 错误代码:Snowflake。 InvalidInput:当 Firehose 无法将提供的输入有效负载解析为有效的 JSON 格式时,可能会发生这种情况。请确保 json 有效载荷格式正确,没有多余的双引号、引号、转义字符等。Firehose 目前仅支持将单个 JSON 项目作为记录有效载荷,并且不支持 JSON 数组。

  • 错误代码:Snowflake。 InvalidValue:表示由于输入有效载荷中的数据类型不正确,传送失败。确保输入有效载荷中指定的 JSON 值符合 Snowflake 表定义中声明的数据类型。

  • 错误代码:Snowflake。 InvalidTableType:表示不支持在 Firehose 直播中配置的表类型。有关支持的表、列和数据类型,请参阅 snowpipe 流的限制中提供的限制。

注意

无论出于何种原因,如果在创建 Firehose 流后更改了 Snowflake 目的地上的表定义或角色权限,则 Firehose 可能需要几分钟才能检测到这些更改。如果您因此而看到传输错误,则请尝试删除并重新创建 Firehose 流。