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

亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose

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

雪花疑难解答

本节介绍使用 Snowflake 作为目的地时的常见故障排除步骤

Firehose 传送流创建失败

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

  • VPCE-ID 不正确。确认没有排版错误。

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

  • 确认 Firehose 传输流是在与雪花 Amazon 区域相同的区域中创建的。

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

配送失败

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

  • 错误代码:Snowflake。 DefaultRoleMissing:表示创建传送流时未配置 snowflake 角色。如果未配置 Snowflake 角色,请确保将默认角色设置为指定的 Snowflake 用户。

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

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

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

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

  • 错误代码:Snowflake。 InvalidTableType:表示不支持在交付流中配置的表类型。有关支持的表、列和数据类型,请参阅 Snowpipe 流媒体的限制)。

注意

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