使用日志监控亚马逊数据 Firehose CloudWatch - Amazon Data Firehose

将 Amazon Data Firehose 流传输到亚马逊 S3 中的 Apache Iceberg Tables 处于预览阶段,可能会发生变化。

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

使用日志监控亚马逊数据 Firehose CloudWatch

Amazon Data Firehose 与亚马逊 CloudWatch 日志集成,因此当用于数据转换或数据传输的 Lambda 调用失败时,您可以查看特定的错误日志。您可以在创建 Firehose 直播时启用 Amazon Data Firehose 错误日志记录。

如果您在亚马逊数据 Firehose 控制台中启用 Amazon Data Firehose 错误记录,则会代表您为 Firehose 流创建日志组和相应的日志流。日志组名称的格式为/aws/kinesisfirehose/delivery-stream-name,其中delivery-stream-name是相应的 Firehose 流的名称。 DestinationDelivery是创建的日志流,用于记录与传送到主要目标相关的所有错误。只有在为目标启用了 S3 备份时,才会创建另一个名为 BackupDelivery 的日志流。BackupDelivery 日志流用于记录与传输到 S3 备份相关的任何错误。

例如,如果您创建了一个以 Amazon Redshift 为目标的 Firehose 流 MyStream “”,并启用 Amazon Data Firehose 错误日志,则会代表您创建以下内容:一个名为的日志组和两个aws/kinesisfirehose/MyStream名为和的日志流。DestinationDelivery BackupDelivery在本例中,DestinationDelivery 用于记录与传输到 Amazon Redshift 目标以及中间 S3 目标相关的任何错误。如果启用了 S3 备份,BackupDelivery 用来记录与传输到 S3 备份存储桶相关的任何错误。

您可以通过 AWS CLI、或 AWS CloudFormation 使用配置启用 Amazon Data Fireh API ose 错误记录。CloudWatchLoggingOptions为此,请提前创建日志组和日志流。我们建议只为 Amazon Data Firehose 错误日志保留该日志组和日志流。还要确保关联的IAM策略具有"logs:putLogEvents"权限。有关更多信息,请参阅 使用 Amazon Data Firehose 控制访问权限

请注意,Amazon Data Firehose 不保证所有传送错误日志都会发送到 CloudWatch 日志。在交付失败率很高的情况下,Amazon Data Firehose 会先对传送错误日志进行采样,然后再将其发送到 CloudWatch 日志。

发送到 CloudWatch Logs 的错误日志会收取象征性的费用。有关更多信息,请参阅 Amazon CloudWatch 定价

数据传输错误

以下是每个 Amazon Data Firehose 目标的数据传输错误代码和消息列表。每个错误消息还描述了修复问题所应采取的适当操作。

亚马逊 S3 数据传输错误

Amazon Data Firehose 可以将以下与亚马逊 S3 相关的错误发送到日志。 CloudWatch

错误代码 错误消息和信息
S3.KMS.NotFoundException

“找不到提供的 AWS KMS 密钥。如果你使用的是你认为有效的 AWS KMS 密钥和正确的角色,请检查关联 AWS KMS 密钥的账户是否有问题。”

S3.KMS.RequestLimitExceeded

“尝试加密 S3 对象时超出了每秒KMS请求数限制。Increase the request per second limit."

有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的限制

S3.AccessDenied "Access was denied。确保所提供IAM角色的信任策略允许 Amazon Data Firehose 担任该角色,并且访问策略允许访问 S3 存储桶。”
S3.AccountProblem “您的 AWS 账户存在问题,导致操作无法成功完成。Contact AWS Support."
S3.AllAccessDisabled "Access to the account provided has been disabled。请联系 S AWS upport。”
S3.InvalidPayer "Access to the account provided has been disabled。请联系 S AWS upport。”
S3.NotSignedUp "The account is not signed up for Amazon S3. Sign the account up or use a different account."
S3.NoSuchBucket "The specified bucket does not exist。Create the bucket or use a different bucket that does exist."
S3.MethodNotAllowed "The specified method is not allowed against this resource。Modify the bucket’s policy to allow the correct Amazon S3 operation permissions."
InternalError "An internal error occurred while attempting to deliver data。将重试交付;如果错误仍然存在,则会将其报告给以 AWS 寻求解决。”
S3.KMS.KeyDisabled “提供的KMS密钥已被禁用。Enable the key or use a different key."
S3.KMS.InvalidStateException “提供的KMS密钥处于无效状态。Please use a different key."
KMS.InvalidStateException “提供的KMS密钥处于无效状态。Please use a different key."
KMS.DisabledException “提供的KMS密钥已被禁用。Please fix the key or use a different key."
S3.SlowDown "The rate of put request to the specified bucket was too high. 增加 Firehose 流缓冲区的大小或减少来自其他应用程序的 put 请求。”
S3.SubscriptionRequired "Access was denied when calling S3. 确保传入的IAM角色和KMS密钥(如果提供)已订阅 Amazon S3。”
S3.InvalidToken "The provided token is malformed or otherwise invalid. Please check the credentials provided."
S3.KMS.KeyNotConfigured “未配置KMS密钥。为您的 KMSMasterKeyID S3 存储桶配置或禁用加密。”
S3.KMS.AsymmetricCMKNotSupported “Amazon S3 仅支持对称模式CMKs。您不能使用非对称CMK加密您在 Amazon S3 中的数据。要获取你的类型CMK,请使用KMS DescribeKey 操作。”
S3.IllegalLocationConstraintException "Firehose currently uses s3 global endpoint for data delivery to the configured s3 bucket. The region of the configured s3 bucket doesn't support s3 global endpoint. 请在与 s3 存储桶相同的区域创建 Firehose 流,或者在支持全局终端节点的区域中使用 s3 存储桶。”
S3.InvalidPrefixConfigurationException "The custom s3 prefix used for the timestamp evaluation is invalid. Check your s3 prefix contains valid expressions for the current date and time of the year."
DataFormatConversion.MalformedData "Illegal character found between tokens."

Apache Iceberg Tables 数据传输错误

有关 Apache Iceberg Tables 数据传输错误,请参阅。使用 Amazon Data Firehose 将数据传输到 Apache Iceberg Tables

亚马逊 Redshift 数据传输错误

Amazon Data Firehose 可以将以下与亚马逊 Redshift 相关的错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Redshift.TableNotFound

"The table to which to load data was not found。Ensure that the specified table exists."

The destination table in Amazon Redshift to which data should be copied from S3 was not found. 请注意,如果亚马逊 Redshift 表不存在,则亚马逊 Data Firehose 不会创建该表。

Redshift.SyntaxError “该COPY命令包含语法错误。Retry the command."
Redshift.AuthenticationFailed "The provided user name and password failed authentication。Provide a valid user name and password."
Redshift.AccessDenied "Access was denied。确保所提供IAM角色的信任策略允许 Amazon Data Firehose 担任该角色。”
Redshift.S3BucketAccessDenied “该COPY命令无法访问 S3 存储桶。确保所提供IAM角色的访问策略允许访问 S3 存储桶。”
Redshift.DataLoadFailed "Loading data into the table failed。详情请查看 STL LOAD _ _ ERRORS 系统表。”
Redshift.ColumnNotFound “表中不存在COPY命令中的一列。Specify a valid column name."
Redshift.DatabaseNotFound “找不到在 Amazon Redshift 目标配置中指定的数据库。JDBC URLSpecify a valid database name."
Redshift.IncorrectCopyOptions

“提供了相互矛盾或多余的COPY选项。Some options are not compatible in certain combinations。有关更多信息,请查看COPY命令参考。”

有关更多信息,请参阅亚马逊 Redshift 数据库开发者指南中的亚马逊 Redshift COPY 命令

Redshift.MissingColumn “表架构中有一列定义为NOTNULL没有DEFAULT值且未包含在列列表中。Exclude this column, ensure that the loaded data always provides a value for this column, or add a default value to the Amazon Redshift schema for this table."
Redshift.ConnectionFailed "The connection to the specified Amazon Redshift cluster failed. 确保安全设置允许 Amazon Data Firehose 连接,Amazon Redshift 目标配置中指定的集群JDBCURL或数据库正确,并且集群可用。”
Redshift.ColumnMismatch “COPY命令中的 jsonpath 数量和目标表中的列数应该匹配。Retry the command."
Redshift.IncorrectOrMissingRegion "Amazon Redshift attempted to use the wrong region endpoint for accessing the S3 bucket. 要么在COPY命令选项中指定正确的区域值,要么确保 S3 存储桶与 Amazon Redshift 数据库位于同一区域。”
Redshift.IncorrectJsonPathsFile “所提供的 jsonpaths 文件的格式不支持JSON。Retry the command."
Redshift.MissingS3File "One or more S3 files required by Amazon Redshift have been removed from the S3 bucket. Check the S3 bucket policies to remove any automatic deletion of S3 files."
Redshift.InsufficientPrivilege "The user does not have permissions to load data into the table。请检查 Amazon Redshift 用户权限以获取该INSERT权限。”
Redshift.ReadOnlyCluster "The query cannot be executed because the system is in resize mode。Try the query again later."
Redshift.DiskFull "Data could not be loaded because the disk is full。Increase the capacity of the Amazon Redshift cluster or delete unused data to free disk space."
InternalError "An internal error occurred while attempting to deliver data。将重试交付;如果错误仍然存在,则会将其报告给以 AWS 寻求解决。”
Redshift.ArgumentNotSupported “该COPY命令包含不支持的选项。”
Redshift.AnalyzeTableAccessDenied "Access denied. Copy from S3 to Redshift is failing because analyze table can only be done by table or database owner."
Redshift.SchemaNotFound “找不到在 Amazon Redshift 目标配置中指定的架构。 DataTableName Specify a valid schema name."
Redshift.ColumnSpecifiedMoreThanOnce "There is a column specified more than once in the column list. Ensure that duplicate columns are removed."
Redshift.ColumnNotNullWithoutDefault “没有该列的非空列不DEFAULT包含在列列表中。Ensure that such columns are included in the column list."
Redshift.IncorrectBucketRegion "Redshift attempted to use a bucket in a different region from the cluster. Please specify a bucket within the same region as the cluster."
Redshift.S3SlowDown "High request rate to S3. Reduce the rate to avoid getting throttled."
Redshift.InvalidCopyOptionForJson “请为 json 使用 auto 或有效的 S3 路径copyOption。”
Redshift.InvalidCopyOptionJSONPathFormat “COPY失败,出现错误\” JSONPath 格式无效。Array index is out of range\". 请纠正这个JSONPath表达。”
Redshift.InvalidCopyOptionRBACAclNotAllowed “COPY失败,出现错误\” 未启用权限传播时无法使用 RBAC acl 框架。 \”
Redshift.DiskSpaceQuotaExceeded "Transaction aborted due to disk space quota exceed. Free up disk space or request increased quota for the schema(s)."
Redshift.ConnectionsLimitExceeded "Connection limit exceeded for user."
Redshift.SslNotSupported “由于服务器不支持,与指定的 Amazon Redshift 集群的连接失败。SSLPlease check your cluster settings."
Redshift.HoseNotFound "The hose has been deleted. Please check the status of your hose."
Redshift.Delimiter “中的 copyOptions 分隔符 copyCommand 无效。Ensure that it is a single character."
Redshift.QueryCancelled “用户已取消COPY操作。”
Redshift.CompressionMismatch “软管配置有UNCOMPRESSED,但 copyOption 包括压缩格式。”
Redshift.EncryptionCredentials “该ENCRYPTED选项需要以下格式的凭据:'aws_iam_role=... ; master_symmetric_key=... '或 'aws_access_key_id=... ; aws_secret_access_key=... [; 代币=...] ; master_symmetric_key=... '”
Redshift.InvalidCopyOptions “COPY配置选项无效。”
Redshift.InvalidMessageFormat "Copy command contains an invalid character."
Redshift.TransactionIdLimitReached "Transaction ID limit reached."
Redshift.DestinationRemoved "Please verify that the redshift destination exists and is configured correctly in the Firehose configuration."
Redshift.OutOfMemory "The Redshift cluster is running out of memory. Please ensure the cluster has sufficient capacity."
Redshift.CannotForkProcess "The Redshift cluster is running out of memory. Please ensure the cluster has sufficient capacity."
Redshift.SslFailure “握手期间SSL连接已关闭。”
Redshift.Resize "The Redshift cluster is resizing. Firehose will not be able to deliver data while the cluster is resizing."
Redshift.ImproperQualifiedName "The qualified name is improper (too many dotted names)."
Redshift.InvalidJsonPathFormat “JSONPath格式无效。”
Redshift.TooManyConnectionsException "Too many connections to Redshift."
Redshift.PSQLException “从 Redshift 中PSQlException观察到。”
Redshift.DuplicateSecondsSpecification "Duplicate seconds specification in date/time format."
Redshift.RelationCouldNotBeOpened "Encountered Redshift error, relation could not be opened. Check Redshift logs for the specified DB."
Redshift.TooManyClients "Encountered too many clients exception from Redshift. Revisit max connections to the database if there are multiple producers writing to it simultaneously."

Snowflake 数据传输错误

Firehose 可以将以下与 Snowflake 相关的错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Snowflake.InvalidUrl

“Firehose 无法连接到 Snowflake。请确保在 Snowflake 目标配置中正确指定了账户网址。”

Snowflake.InvalidUser

“Firehose 无法连接到 Snowflake。请确保在 Snowflake 目标配置中正确指定了用户。”

Snowflake.InvalidRole

“指定的雪花角色不存在或未获得授权。请确保该角色已授予指定的用户”

Snowflake.InvalidTable

“提供的表不存在或未经授权”

Snowflake.InvalidSchema

“提供的架构不存在或未经授权”

Snowflake.InvalidDatabase

“提供的数据库不存在或未经授权”

Snowflake.InvalidPrivateKeyOrPassphrase

“指定的私钥或密码无效。请注意,提供的私钥应该是有效的PEMRSA私钥”

Snowflake.MissingColumns

“由于输入有效载荷中缺少列,插入请求被拒绝。确保为所有不可为空的列都指定了值”

Snowflake.ExtraColumns

“由于列数过多,插入请求被拒绝。不应指定表中不存在的列”

Snowflake.InvalidInput

“由于输入格式无效,交付失败。确保提供的输入有效载荷格式为可接受的JSON格式”

Snowflake.IncorrectValue

“由于输入有效载荷中的数据类型不正确,交付失败。确保输入负载中指定的JSON值符合 Snowflake 表定义中声明的数据类型”

Splunk 数据传输错误

Amazon Data Firehose 可以将以下与 Splunk 相关的错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Splunk.ProxyWithoutStickySessions

“如果您在 Amazon Data Firehose 和HEC节点之间有代理(ELB或其他),则必须启用粘性会话才能支持HECACKs。”

Splunk.DisabledToken “令HEC牌已被禁用。Enable the token to allow data delivery to Splunk."
Splunk.InvalidToken “令HEC牌无效。使用有效HEC令牌更新 Amazon Data Firehose。”
Splunk.InvalidDataFormat "The data is not formatted correctly。要了解如何正确格式化原始端点或事件HEC端点的数据,请参阅 Splunk 事件数据。”
Splunk.InvalidIndex “令HEC牌或输入配置的索引无效。Check your index configuration and try again."
Splunk.ServerError “由于HEC节点出现服务器错误,向 Splunk 传输数据失败。如果您的亚马逊数据 Firehose 中的重试持续时间大于 0,Amazon Data Firehose 将重试发送数据。如果所有重试都失败,Amazon Data Firehose 会将数据备份到亚马逊 S3。”
Splunk.DisabledAck “该令牌的索引器确认已被禁用。HECEnable indexer acknowledgement and try again。For more info, see Enable indexer acknowledgement."
Splunk.AckTimeout “在确认超时到期HEC之前没有收到确HEC认。Despite the acknowledgement timeout, it's possible the data was indexed successfully in Splunk. Amazon Data Firehose 在确认超时已过期的亚马逊 S3 数据中进行备份。”
Splunk.MaxRetriesFailed

"Failed to deliver data to Splunk or to receive acknowledgment。检查你的HEC生命值,然后再试一次。”

Splunk.ConnectionTimeout "The connection to Splunk timed out。This might be a transient error and the request will be retried. 如果所有重试都失败,Amazon Data Firehose 会将数据备份到亚马逊 S3。”
Splunk.InvalidEndpoint “无法连接到HEC终端节点。确保HEC终端节点有效URL且可通过 Amazon Data Firehose 访问。”
Splunk.ConnectionClosed "Unable to send data to Splunk due to a connection failure。This might be a transient error。在您的 Amazon Data Firehose 配置中增加重试持续时间可以防止此类暂时失败。”
Splunk.SSLUnverified “无法连接到HEC终端节点。主机与对等项提供的证书不匹配。请确保证书和主机是有效的。
Splunk.SSLHandshake “无法连接到HEC终端节点。请确保证书和主机是有效的。
Splunk.URLNotFound “在 Splunk 服务器上找不到请求URL的内容。Please check the Splunk cluster and make sure it is configured correctly."
Splunk.ServerError.ContentTooLarge “由于服务器错误,向 Splunk 传输数据失败,消息为statusCode:413,消息:您的客户端发送的请求太大。See splunk docs to configure max_content_length."
Splunk.IndexerBusy “由于HEC节点出现服务器错误,向 Splunk 传输数据失败。确保HEC端点或 Elastic Load Balancer 可以访问并且运行正常。”
Splunk.ConnectionRecycled "The connection from Firehose to Splunk has been recycled. Delivery will be retried."
Splunk.AcknowledgementsDisabled “无法获得确认。POST确保在HEC端点上启用确认功能。”
Splunk.InvalidHecResponseCharacter “在HEC响应中发现无效字符,请务必检查服务和HEC配置。”

ElasticSearch 数据传输错误

Amazon Data Firehose 可能会将以下 ElasticSearch 错误发送到 CloudWatch 日志。

错误代码 错误消息和信息
ES.AccessDenied "Access was denied。确保提供的与 firehose 关联的IAM角色未被删除。”
ES.ResourceNotFound “指定的 AWS Elasticsearch 域不存在。”

HTTPS端点数据传输错误

Amazon Data Firehose 可以将以下与HTTP端点相关的错误发送到日志。 CloudWatch 如果这些错误均与您遇到的问题不匹配,则默认错误如下:"An internal error occurred while attempting to deliver data. 将重试交付;如果错误仍然存在,则会将其报告给以 AWS 寻求解决。”

错误代码 错误消息和信息
HttpEndpoint.RequestTimeout

The delivery timed out before a response was received and will be retried. If this error persists, contact the AWS Firehose service team.

HttpEndpoint.ResponseTooLarge "The response received from the endpoint is too large. Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.InvalidResponseFromDestination "The response received from the specified endpoint is invalid. Contact the owner of the endpoint to resolve the issue."
HttpEndpoint.DestinationException "The following response was received from the endpoint destination."
HttpEndpoint.ConnectionFailed "Unable to connect to the destination endpoint. Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.ConnectionReset "Unable to maintain connection with the endpoint. Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.ConnectionReset "Trouble maintaining connection with the endpoint. Please reach out to the owner of the endpoint."
HttpEndpoint.ResponseReasonPhraseExceededLimit "The response reason phrase received from the endpoint exceed the configured limit of 64 characters."
HttpEndpoint.InvalidResponseFromDestination "The response received from the endpoint is invalid. 有关更多信息,请参阅 Firehose 文档中的HTTP端点疑难解答。Reason: "
HttpEndpoint.DestinationException "Delivery to the endpoint was unsuccessful. 有关更多信息,请参阅 Firehose 文档中的HTTP端点疑难解答。Response received with status code "
HttpEndpoint.InvalidStatusCode "Received an invalid response status code."
HttpEndpoint.SSLHandshakeFailure “无法完成与终端的SSL握手。Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.SSLHandshakeFailure “无法完成与终端的SSL握手。Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.SSLFailure “无法完成与终端的TLS握手。Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.SSLHandshakeCertificatePathFailure “由于认证路径无效,无法完成与端点的SSL握手。Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.SSLHandshakeCertificatePathValidationFailure “由于认证路径验证失败,无法完成与端点的SSL握手。Contact the owner of the endpoint to resolve this issue."
HttpEndpoint.MakeRequestFailure.IllegalUriException “由于输入无效,HttpEndpoint 请求失败URI。请确保输入中的所有字符URI均有效。”
HttpEndpoint.MakeRequestFailure.IllegalCharacterInHeaderValue “由于非法响应错误,HttpEndpoint 请求失败。Illegal character '\n' in header value."
HttpEndpoint.IllegalResponseFailure “由于非法响应错误,HttpEndpoint 请求失败。HTTP消息不得包含多个内容类型标头。”
HttpEndpoint.IllegalMessageStart “由于非法响应错误,HttpEndpoint 请求失败。非法HTTP消息开始。有关更多信息,请参阅 Firehose 文档中的HTTP端点疑难解答。”

Amazon OpenSearch 服务数据传送错误

对于 OpenSearch 服务目标,Amazon Data Firehose 会在服务返回错误时向 CloudWatch 日志发送错误。 OpenSearch

除了可能从 OpenSearch 集群返回的错误外,您还可能遇到以下两个错误:

  • 尝试将数据传送到目标 OpenSearch 服务集群时发生身份验证/授权错误。这可能是由于任何权限问题和/或当您的 Amazon Data Firehose 目标 OpenSearch 服务域配置被修改时出现间歇性的。Please check the cluster policy and role permissions.

  • 由于身份验证/授权失败,无法将数据传送到目标 OpenSearch 服务集群。这可能是由于任何权限问题和/或当您的 Amazon Data Firehose 目标 OpenSearch 服务域配置被修改时出现间歇性的。Please check the cluster policy and role permissions.

错误代码 错误消息和信息
OS.AccessDenied "Access was denied。确保所提供IAM角色的信任策略允许 Firehose 担任该角色,并且访问策略允许访问亚马逊 OpenSearch 服务API。”
OS.AccessDenied "Access was denied。确保所提供IAM角色的信任策略允许 Firehose 担任该角色,并且访问策略允许访问亚马逊 OpenSearch 服务API。”
OS.AccessDenied "Access was denied。确保提供的与 firehose 关联的IAM角色未被删除。”
OS.AccessDenied "Access was denied。确保提供的与 firehose 关联的IAM角色未被删除。”
OS.ResourceNotFound “指定的亚马逊 OpenSearch 服务域不存在。”
OS.ResourceNotFound “指定的亚马逊 OpenSearch 服务域不存在。”
OS.AccessDenied "Access was denied。确保所提供IAM角色的信任策略允许 Firehose 担任该角色,并且访问策略允许访问亚马逊 OpenSearch 服务API。”
OS.RequestTimeout “对 Amazon Serv OpenSearch ice 集群或 OpenSearch 无服务器集合的请求超时。Ensure that the cluster or collection has sufficient capacity for the current workload."
OS.ClusterError “Amazon S OpenSearch ervice 集群返回了一个未指明的错误。”
OS.RequestTimeout “对 Amazon OpenSearch 服务集群的请求超时。Ensure that the cluster has sufficient capacity for the current workload."
OS.ConnectionFailed “连接到 Amazon OpenSearch 服务集群或 OpenSearch 无服务器集合时出现问题。Ensure that the cluster or collection is healthy and reachable."
OS.ConnectionReset “无法与亚马逊 OpenSearch 服务集群或 OpenSearch 无服务器集合保持连接。Contact the owner of the cluster or collection to resolve this issue."
OS.ConnectionReset “无法与 Amazon OpenSearch 服务集群或 OpenSearch 无服务器集合保持连接。Ensure that the cluster or collection is healthy and has sufficient capacity for the current workload."
OS.ConnectionReset “无法与 Amazon OpenSearch 服务集群或 OpenSearch 无服务器集合保持连接。Ensure that the cluster or collection is healthy and has sufficient capacity for the current workload."
OS.AccessDenied "Access was denied。确保 Amazon S OpenSearch ervice 集群上的访问策略授予对已配置IAM角色的访问权限。”
OS.ValidationException “集 OpenSearch 群返回了ESServiceException. 原因之一是集群已升级到操作系统 2.x 或更高版本,但软管仍配置了 TypeName 参数。通过将设置为空字符串 TypeName 来更新软管配置,或者将端点更改为支持 Type 参数的集群。”
OS.ValidationException "Member must satisfy regular expression pattern: [a-z][a-z0-9\\-]+
OS.JsonParseException “亚马逊 OpenSearch 服务集群返回了 JsonParseException. Ensure that the data being put is valid."
OS.AmazonOpenSearchServiceParseException “亚马逊 OpenSearch 服务集群返回了 AmazonOpenSearchServiceParseException. Ensure that the data being put is valid."
OS.ExplicitIndexInBulkNotAllowed “确保在亚马逊服务集群上将 rest.action.multi.allow_explicit_index 设置为 true。” OpenSearch
OS.ClusterError “Amazon Serv OpenSearch ice 集群或 OpenSearch 无服务器集合返回了一个未指明的错误。”
OS.ClusterBlockException “集群返回了 ClusterBlockException. It may be overloaded."
OS.InvalidARN “ARN提供的亚马逊 OpenSearch 服务无效。请检查您的 DeliveryStream 配置。”
OS.MalformedData "One or more records are malformed. 请确保每条记录都是单个有效JSON对象,并且不包含换行符。”
OS.InternalError "An internal error occurred when attempting to deliver data. 将重试交付;如果错误仍然存在,则会将其报告给以 AWS 寻求解决。”
OS.AliasWithMultipleIndicesNotAllowed "Alias has more than one indices associated with it. Ensure that the alias has only one index associated with it."
OS.UnsupportedVersion “亚马逊 Data Firehose 目前不支持亚马逊 OpenSearch 服务 6.0。如需更多信息,请联系 AWS Support。”
OS.CharConversionException "One or more records contained an invalid character."
OS.InvalidDomainNameLength "The domain name length is not within valid OS limits."
OS.VPCDomainNotSupported “目前不支持VPCs其中的亚马逊 OpenSearch 服务域。”
OS.ConnectionError “http 服务器意外关闭了连接,请验证亚马逊 OpenSearch 服务集群或 OpenSearch 无服务器集合的运行状况。”
OS.LargeFieldData “Amazon S OpenSearch ervice 集群中止了请求,因为它包含的字段数据大于允许值。”
OS.BadGateway “Amazon Serv OpenSearch ice 集群或 OpenSearch 无服务器集合中止了请求,结果是:502 Bad Gateway。”
OS.ServiceException “从 Amazon OpenSearch 服务集群或 OpenSearch 无服务器集合收到错误。如果集群或集合位于后面VPC,请确保网络配置允许连接。”
OS.GatewayTimeout “Firehose 在连接到亚马逊 OpenSearch 服务集群或 OpenSearch 无服务器集合时遇到了超时错误。”
OS.MalformedData “亚马逊数据 Firehose 不支持 Firehose 记录中的亚马逊 OpenSearch 服务批量API命令。”
OS.ResponseEntryCountMismatch “批量回复中API包含的条目超过了发送的记录数量。确保每条记录只包含一个JSON对象,并且没有换行符。”

Lambda 调用错误

Amazon Data Firehose 可以将以下 Lambda 调用错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Lambda.AssumeRoleAccessDenied

"Access was denied。确保所提供IAM角色的信任策略允许 Amazon Data Firehose 担任该角色。”

Lambda.InvokeAccessDenied

"Access was denied。Ensure that the access policy allows access to the Lambda function."

Lambda.JsonProcessingException

"There was an error parsing returned records from the Lambda function. 确保返回的记录符合 Amazon Data Firehose 要求的状态模型。”

有关更多信息,请参阅 数据转换所需的参数

Lambda.InvokeLimitExceeded

"The Lambda concurrent execution limit is exceeded. Increase the concurrent execution limit."

有关更多信息,请参阅《AWS Lambda 开发人员指南》中的 AWS Lambda 限制

Lambda.DuplicatedRecordId

"Multiple records were returned with the same record ID。确保 Lambda 函数IDs为每条记录返回唯一的记录。”

有关更多信息,请参阅 数据转换所需的参数

Lambda.MissingRecordId

“一条或多条记录IDs没有返回。确保 Lambda 函数返回所有收到的记录IDs。”

有关更多信息,请参阅 数据转换所需的参数

Lambda.ResourceNotFound

"The specified Lambda function does not exist. Use a different function that does exist."

Lambda.InvalidSubnetIDException

“Lambda 函数VPC配置中指定的子网 ID 无效。Ensure that the subnet ID is valid."

Lambda.InvalidSecurityGroupIDException

“Lambda 函数VPC配置中指定的安全组 ID 无效。Ensure that the security group ID is valid."

Lambda.SubnetIPAddressLimitReachedException

“AWS Lambda 无法设置 Lambda 函数的VPC访问权限,因为一个或多个已配置的子网没有可用的 IP 地址。Increase the IP address limit."

有关更多信息,请参阅《亚马逊VPC用户指南》中的 Amazon VPC 限制VPC和子网

Lambda.ENILimitReachedException

“无法AWS Lambda 在中创建弹性网络接口 (ENI)VPC,该接口在 Lambda 函数配置中指定,因为已达到网络接口的限制。Increase the network interface limit."

有关更多信息,请参阅《亚马逊VPC用户指南》中的 “亚马逊VPC限制-网络接口”。

Lambda.FunctionTimedOut

The Lambda function invocation timed out. Increase the Timeout setting in the Lambda function. 有关更多信息,请参阅配置函数超时

Lambda.FunctionError

This can be due to any of the following errors:

  • Invalid output structure. Check your function and make sure the output is in the required format. Also, make sure the processed records contain a valid result status of Dropped, Ok, or ProcessingFailed.

  • The Lambda function was successfully invoked but it returned an error result.

  • 由于KMS访问被拒绝,Lambda 无法解密环境变量。检查该功能的KMS密钥设置和密钥策略。有关更多信息,请参阅密钥访问故障排除

Lambda.FunctionRequestTimedOut

Amazon Data Firehose 在调用 Lambda 时遇到请求未完成之前出现请求超时配置错误。重新访问 Lambda 代码,检查 Lambda 代码是否打算在配置的超时后运行。If so, consider tuning Lambda configuration settings, including memory, timeout. 有关更多信息,请参阅配置 Lambda 函数选项

Lambda.TargetServerFailedToRespond

Amazon Data Firehose 遇到了错误。目标服务器在调用 AWS Lambda 服务时未能响应错误。

Lambda.InvalidZipFileException

Amazon Data Firehose InvalidZipFileException 在调用 Lambda 函数时遇到了问题。Check your Lambda function configuration settings and the Lambda code zip file.

Lambda.InternalServerError

“Firehose 在调用 Lambda 服务 InternalServerError时遇到了亚马逊 D AWS ata Firehose。Amazon Data Firehose 将按固定次数重试发送数据。您可以使用或指定或覆盖重试选项。CreateDeliveryStream UpdateDestination APIs如果错误仍然存在,请联系 AWS Lambda 支持团队。

Lambda.ServiceUnavailable

Amazon Data Firehose ServiceUnavailableException 在调用 Lambda AWS 服务时遇到了问题。Amazon Data Firehose 将按固定次数重试发送数据。您可以使用或指定或覆盖重试选项。CreateDeliveryStream UpdateDestination APIs如果错误仍然存在,请联系 AWS Lambda 支持人员。

Lambda.InvalidSecurityToken

Cannot invoke Lambda function due to invalid security token. Cross partition Lambda invocation is not supported.

Lambda.InvocationFailure

This can be due to any of the following errors:

  • Amazon Data Firehose 在调用 Lambda AWS 时遇到了错误。The operation will be retried; if the error persists, it will be reported to AWS for resolution."

  • Amazon Data Firehose 遇到了来自 KMSInvalidStateException Lambda 的。Lambda 无法解密环境变量,因为使用的密KMS钥处于解密无效状态。检查 lambda 函数的KMS密钥。

  • Amazon Data Firehose 遇到了来自 AWS LambdaException Lambda 的。Lambda was unable to initialize the provided container image. Verify the image.

  • Amazon Data Firehose 在调用 Lambda AWS 时遇到了超时错误。支持的最大函数超时为 5 分钟。有关更多信息,请参阅数据转换执行时间

Lambda.JsonMappingException

There was an error parsing returned records from the Lambda function. Ensure that data field is base-64 encoded.

Kinesis 调用错误

Amazon Data Firehose 可以将以下 Kinesis 调用错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Kinesis.AccessDenied "Access was denied when calling Kinesis. 确保所用IAM角色的访问策略允许访问相应的 Kinesis APIs。”
Kinesis.ResourceNotFound "Firehose failed to read from the stream. If the Firehose is attached with Kinesis Stream, the stream may not exist, or the shard may have been merged or split. 如果 Firehose 是 DirectPut 这种类型,那么 Firehose 可能已经不存在了。”
Kinesis.SubscriptionRequired "Access was denied when calling Kinesis. 确保传递给 Kinesis 直播访问权限的IAM角色已订阅 Kinesis AWS 。”
Kinesis.Throttling "Throttling error encountered when calling Kinesis. 这可能是由于其他应用程序调用了与 Firehose 直播APIs相同的内容,或者是因为你创建了太多 Firehose 直播与源相同的 Kinesis 流。”
Kinesis.Throttling "Throttling error encountered when calling Kinesis. 这可能是由于其他应用程序调用了与 Firehose 直播APIs相同的内容,或者是因为你创建了太多 Firehose 直播与源相同的 Kinesis 流。”
Kinesis.AccessDenied "Access was denied when calling Kinesis. 确保所用IAM角色的访问策略允许访问相应的 Kinesis APIs。”
Kinesis.AccessDenied “尝试在底层 Kinesis Strea API m 上调用操作时访问被拒绝。确保IAM角色已传播且有效。”
Kinesis.KMS.AccessDeniedException “Firehose 无法访问用于加密/解密 Kinesis Stream 的密KMS钥。Please grant the Firehose delivery role access to the key."
Kinesis.KMS.KeyDisabled “Firehose 无法从源 Kinesis Stream 读取数据,因为用于加密/解KMS密的密钥已被禁用。Enable the key so that reads can proceed."
Kinesis.KMS.InvalidStateException “Firehose 无法从源 Kinesis Stream 读取数据,因为用于对其进行加密的KMS密钥处于无效状态。”
Kinesis.KMS.NotFoundException “Firehose 无法从源 Kinesis Stream 读取数据,因为找不到用于加密的KMS密钥。”

Kinesis 调 DirectPut 用错误

Amazon Data Firehose 可以将以下 Kinesis DirectPut 调用错误发送到日志。 CloudWatch

错误代码 错误消息和信息
Firehose.KMS.AccessDeniedException “Firehose 无法访问密钥。KMSPlease check the key policy."
Firehose.KMS.InvalidStateException “Firehose 无法解密数据,因为用于加密数据的KMS密钥处于无效状态。”
Firehose.KMS.NotFoundException “Firehose 无法解密数据,因为找不到用于加密数据的KMS密钥。”
Firehose.KMS.KeyDisabled “Firehose 无法解密数据,因为用于加密数据的KMS密钥已被禁用。Enable the key so that data delivery can proceed."

AWS Glue 调用错误

Amazon Data Firehose 可以将以下 AWS Glue 调用错误发送到日志。 CloudWatch

错误代码 错误消息和信息
DataFormatConversion.InvalidSchema "The schema is invalid."
DataFormatConversion.EntityNotFound "The specified table/database could not be found. Please ensure that the table/database exists and that the values provided in the schema configuration are correct, especially with regards to casing."
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. Please make sure the specified database with the supplied catalog ID exists."
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. 请确保通过的格式ARN正确。”
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. 请确保 catalogId 提供的信息有效。”
DataFormatConversion.InvalidVersionId "Could not find a matching schema from glue. Please make sure the specified version of the table exists."
DataFormatConversion.NonExistentColumns "Could not find a matching schema from glue. Please make sure the table is configured with a non-null storage descriptor containing the target columns."
DataFormatConversion.AccessDenied "Access was denied when assuming role. Please ensure that the role specified in the data format conversion configuration has granted the Firehose service permission to assume it."
DataFormatConversion.ThrottledByGlue "Throttling error encountered when calling Glue. Either increase the request rate limit or reduce the current rate of calling glue through other applications."
DataFormatConversion.AccessDenied "Access was denied when calling Glue. Please ensure that the role specified in the data format conversion configuration has the necessary permissions."
DataFormatConversion.InvalidGlueRole "Invalid role. Please ensure that the role specified in the data format conversion configuration exists."
DataFormatConversion.InvalidGlueRole "The security token included in the request is invalid. 确保提供的与 firehose 关联的IAM角色未被删除。”
DataFormatConversion.GlueNotAvailableInRegion “AWS Glue 在您指定的区域尚不可用;请指定其他区域。”
DataFormatConversion.GlueEncryptionException "There was an error retrieving the master key. Ensure that the key exists and has the correct access permissions."
DataFormatConversion.SchemaValidationTimeout "Timed out while retrieving table from Glue. 如果您有大量 Glue 表版本,请添加 “glue:GetTableVersion” 权限(推荐)或删除未使用的表格版本。如果您在 Glue 中没有大量表格,请联系 Su AWS pport。”
DataFirehose.InternalError "Timed out while retrieving table from Glue. 如果您有大量 Glue 表版本,请添加 “glue:GetTableVersion” 权限(推荐)或删除未使用的表格版本。如果您在 Glue 中没有大量表格,请联系 Su AWS pport。”
DataFormatConversion.GlueEncryptionException "There was an error retrieving the master key. Ensure that the key exists and state is correct."

DataFormatConversion 调用错误

Amazon Data Firehose 可以将以下 DataFormatConversion 调用错误发送到日志。 CloudWatch

错误代码 错误消息和信息
DataFormatConversion.InvalidSchema "The schema is invalid."
DataFormatConversion.ValidationException "Column names and types must be non-empty strings."
DataFormatConversion.ParseError “遇到了格式错误JSON。”
DataFormatConversion.MalformedData "Data does not match the schema."
DataFormatConversion.MalformedData "Length of json key must not be greater than 262144"
DataFormatConversion.MalformedData “数据无法解码为 UTF -8。”
DataFormatConversion.MalformedData "Illegal character found between tokens."
DataFormatConversion.InvalidTypeFormat "The type format is invalid. Check the type syntax."
DataFormatConversion.InvalidSchema "Invalid Schema. 请确保列名中没有特殊字符或空格。”
DataFormatConversion.InvalidRecord "Record is not as per schema. One or more map keys were invalid for map<string,string>."
DataFormatConversion.MalformedData “输入在顶层JSON包含一个基元。The top level must be an object or array."
DataFormatConversion.MalformedData “输入在顶层JSON包含一个基元。The top level must be an object or array."
DataFormatConversion.MalformedData "The record was empty or contained only whitespace."
DataFormatConversion.MalformedData "Encountered invalid characters."
DataFormatConversion.MalformedData "Encountered invalid or unsupported timestamp format. Please see the Firehose developer guide for supported timestamp formats."
DataFormatConversion.MalformedData "A scalar type was found in the data but a complex type was specified on the schema."
DataFormatConversion.MalformedData "Data does not match the schema."
DataFormatConversion.MalformedData "A scalar type was found in the data but a complex type was specified on the schema."
DataFormatConversion.ConversionFailureException "ConversionFailureException"
DataFormatConversion.DataFormatConversionCustomerErrorException "DataFormatConversionCustomerErrorException"
DataFormatConversion.DataFormatConversionCustomerErrorException "DataFormatConversionCustomerErrorException"
DataFormatConversion.MalformedData "Data does not match the schema."
DataFormatConversion.InvalidSchema "The schema is invalid."
DataFormatConversion.MalformedData "Data does not match the schema. Invalid format for one or more dates."
DataFormatConversion.MalformedData “数据包含高度嵌套的JSON结构,不受支持。”
DataFormatConversion.EntityNotFound "The specified table/database could not be found. Please ensure that the table/database exists and that the values provided in the schema configuration are correct, especially with regards to casing."
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. Please make sure the specified database with the supplied catalog ID exists."
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. 请确保通过的格式ARN正确。”
DataFormatConversion.InvalidInput "Could not find a matching schema from glue. 请确保 catalogId 提供的信息有效。”
DataFormatConversion.InvalidVersionId "Could not find a matching schema from glue. Please make sure the specified version of the table exists."
DataFormatConversion.NonExistentColumns "Could not find a matching schema from glue. Please make sure the table is configured with a non-null storage descriptor containing the target columns."
DataFormatConversion.AccessDenied "Access was denied when assuming role. Please ensure that the role specified in the data format conversion configuration has granted the Firehose service permission to assume it."
DataFormatConversion.ThrottledByGlue "Throttling error encountered when calling Glue. Either increase the request rate limit or reduce the current rate of calling glue through other applications."
DataFormatConversion.AccessDenied "Access was denied when calling Glue. Please ensure that the role specified in the data format conversion configuration has the necessary permissions."
DataFormatConversion.InvalidGlueRole "Invalid role. Please ensure that the role specified in the data format conversion configuration exists."
DataFormatConversion.GlueNotAvailableInRegion “AWS Glue 在您指定的区域尚不可用;请指定其他区域。”
DataFormatConversion.GlueEncryptionException "There was an error retrieving the master key. Ensure that the key exists and has the correct access permissions."
DataFormatConversion.SchemaValidationTimeout "Timed out while retrieving table from Glue. 如果您有大量 Glue 表版本,请添加 “glue:GetTableVersion” 权限(推荐)或删除未使用的表格版本。如果您在 Glue 中没有大量表格,请联系 Su AWS pport。”
DataFirehose.InternalError "Timed out while retrieving table from Glue. 如果您有大量 Glue 表版本,请添加 “glue:GetTableVersion” 权限(推荐)或删除未使用的表格版本。如果您在 Glue 中没有大量表格,请联系 Su AWS pport。”
DataFormatConversion.MalformedData "One or more fields have incorrect format."