本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudWatch Logs 監控 Amazon Data Firehose
Amazon Data Firehose 與 Amazon CloudWatch Logs 整合,以便在 Lambda 調用資料轉換或資料交付失敗時檢視特定錯誤日誌。您可以在建立 Firehose 串流時啟用 Amazon Data Firehose 錯誤記錄。
如果您在 Amazon Data Firehose 主控台中啟用 Amazon Data Firehose 錯誤記錄,則會代表您為 Firehose 串流建立日誌群組和對應的日誌串流。日誌群組名稱的格式為 /aws/kinesisfirehose/
,其中 delivery-stream-name
是對應 Firehose 串流的名稱。 delivery-stream-name
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、 API AWS CloudFormation 或使用 CloudWatchLoggingOptions
組態來啟用 Amazon Data Firehose 錯誤記錄。若要這樣做,請事先建立日誌群組和日誌資料流。我們建議僅為 Amazon Data Firehose 錯誤記錄保留該日誌群組和日誌串流。同時,請確認相關 IAM 政策具備 "logs:putLogEvents"
許可。如需詳細資訊,請參閱使用 Amazon Data Firehose 控制存取。
請注意,Amazon Data Firehose 不保證所有交付錯誤日誌都會傳送至 CloudWatch Logs。在交付失敗率很高的情況下,Amazon Data Firehose 會在將交付錯誤日誌傳送至 CloudWatch Logs 之前先取樣交付錯誤日誌。
傳送錯誤日誌至 CloudWatch Logs 將收取一筆名目費用。如需詳細資訊,請參閱 Amazon CloudWatch 定價
目錄
資料交付錯誤
以下是每個 Amazon Data Firehose 目的地的資料交付錯誤代碼和訊息清單。每個錯誤訊息亦建議修復問題應採取的適當動作。
錯誤
Amazon S3 資料交付錯誤
Amazon Data Firehose 可以將下列 S3-related錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
S3.KMS.NotFoundException |
「找不到提供的 AWS KMS 金鑰。如果您使用的是您認為具有正確角色的有效 AWS KMS 金鑰,請檢查 AWS KMS 金鑰所連接的帳戶是否有問題。」 |
S3.KMS.RequestLimitExceeded |
「在嘗試加密 S3 物件時,KMS 每秒請求超過限制。請增加每秒請求限制。」 如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的限制。 |
S3.AccessDenied |
「存取遭拒。確保所提供 IAM 角色的信任政策允許 Amazon Data Firehose 擔任該角色,且存取政策允許存取 S3 儲存貯體。」 |
S3.AccountProblem |
「 AWS 您的帳戶發生問題,導致操作無法順利完成。聯絡 AWS 支援。」 |
S3.AllAccessDisabled |
「所提供的帳戶存取已停用。聯絡 AWS 支援。」 |
S3.InvalidPayer |
「所提供的帳戶存取已停用。聯絡 AWS 支援。」 |
S3.NotSignedUp |
「帳戶未註冊 Amazon S3。請註冊帳戶或使用不同的帳戶。」 |
S3.NoSuchBucket |
「指定的儲存貯體不存在。建立儲存貯體或使用另一現有的儲存貯體。」 |
S3.MethodNotAllowed |
「指定的方法不得使用此資源。請修改儲存貯體的政策,允許正確的 Amazon S3 操作許可。」 |
InternalError |
「嘗試傳輸資料時發生內部錯誤。將重試交付;如果錯誤持續存在,則會將其報告給 AWS 以解決。」 |
S3.KMS.KeyDisabled |
「提供的 KMS 金鑰已停用。啟用金鑰或使用其他金鑰。」 |
S3.KMS.InvalidStateException |
「提供的 KMS 金鑰處於無效狀態。請使用不同的金鑰。」 |
KMS.InvalidStateException |
「提供的 KMS 金鑰處於無效狀態。請使用不同的金鑰。」 |
KMS.DisabledException |
「提供的 KMS 金鑰已停用。請啟用金鑰或使用其他金鑰。」 |
S3.SlowDown |
「指定儲存貯體的 Put 請求率太高。增加 Firehose 串流緩衝區大小或減少來自其他應用程式的放置請求。」 |
S3.SubscriptionRequired |
「呼叫 S3 時存取被拒絕。確保傳入的 IAM 角色和 KMS 金鑰 (如有提供) 具有 Amazon S3 訂閱。」 |
S3.InvalidToken |
「提供的記號格式錯誤或以其他方式無效。請檢查提供的憑證。」 |
S3.KMS.KeyNotConfigured |
「KMS 金鑰未設定。設定您的 KMSMasterkeyID,或停用 S3 儲存貯體的加密功能。」 |
S3.KMS.AsymmetricCMKNotSupported |
「Amazon S3 支援對稱 CMK。您無法使用非對稱 CMK 來加密 Amazon S3 中的資料。若要取得您的 CMK 類型,請使用 KMS DescribeKey 操作。」 |
S3.IllegalLocationConstraintException |
「Firehose 目前使用 s3 全球端點將資料交付到設定的 s3 儲存貯體。已設定 s3 儲存貯體的區域不支援 s3 全球端點。請在與 s3 儲存貯體相同的區域中建立 Firehose 串流,或在支援全域端點的區域中使用 s3 儲存貯體。」 |
S3.InvalidPrefixConfigurationException |
「用於時間戳記評估的自定義 s3 字首無效。檢查您的 s3 字首包含一年中當前日期和時間的有效運算式。」 |
DataFormatConversion.MalformedData |
「記號之間發現非法字符。」 |
Apache Iceberg 資料表資料交付錯誤
如需 Apache Iceberg 資料表資料交付錯誤,請參閱 使用 Amazon Data Firehose 將資料交付至 Apache Iceberg 資料表。
Amazon Redshift 資料交付錯誤
Amazon Data Firehose 可以將下列 Amazon Redshift 相關錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Redshift.TableNotFound |
「找不到欲載入資料的表格。請確認該表格已存在。」 找不到應從 S3 複製至 Amazon Redshift 內的資料表目的地。請注意,如果 Amazon Data Firehose 不存在,則不會建立 Amazon Redshift 資料表。 |
Redshift.SyntaxError |
「COPY 命令包含語法錯誤。請重試命令。」 |
Redshift.AuthenticationFailed |
「所提供的使用者名稱和密碼驗證失敗。請提供有效的使用者名稱和密碼。」 |
Redshift.AccessDenied |
「存取遭拒。確保所提供 IAM 角色的信任政策允許 Amazon Data Firehose 擔任該角色。」 |
Redshift.S3BucketAccessDenied |
「COPY 命令無法存取 S3 儲存貯體。請確認所提供 IAM 角色的存取政策允許存取 S3 儲存貯體。」 |
Redshift.DataLoadFailed |
「載入資料至表格失敗。請檢查 STL_LOAD_ERRORS 系統表格以了解詳細資訊。」 |
Redshift.ColumnNotFound |
「COPY 命令的欄位不存在於表格中。請指定有效的欄位名稱。」 |
Redshift.DatabaseNotFound |
「找不到 Amazon Redshift 目的地設定值中指定的資料庫或 JDBC URL。請指定有效的資料庫名稱。」 |
Redshift.IncorrectCopyOptions |
「所提供的 COPY 選項互相衝突或過多。部分選項不相容於特定組合。請查看 COPY 命令參考資料以取得詳細資訊。」 如需詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 Amazon Redshift COPY 命令。 |
Redshift.MissingColumn |
「表格結構描述將欄位定義為無預設值的非空白值,且未包含在欄位清單中。請排除此欄位、確認載入的資料一律提供此欄位的值,或新增此資料表的預設值至 Amazon Redshift 結構描述。」 |
Redshift.ConnectionFailed |
「連線至指定的 Amazon Redshift 叢集失敗。確保安全設定允許 Amazon Data Firehose 連線、Amazon Redshift 目的地組態或 JDBC URL 中指定的叢集或資料庫正確,而且叢集可用。」 |
Redshift.ColumnMismatch |
「COPY 命令的 jsonpaths 數量和目的地表格的欄位數量應相符。請重試命令。」 |
Redshift.IncorrectOrMissingRegion |
「Amazon Redshift 嘗試使用錯誤的區域的端點來存取 S3 儲存貯體。請於 COPY 命令選項中指定正確的區域值,或確認 S3 儲存貯體與 Amazon Redshift 資料庫位於相同區域。」 |
Redshift.IncorrectJsonPathsFile |
「所提供的 jsonpaths 檔案未支援 JSON 格式。請重試命令。」 |
Redshift.MissingS3File |
「Amazon Redshift 所需的一個或多個 S3 檔案已自 S3 儲存貯體移除。請檢查 S3 儲存貯體的政策來移除 S3 檔案自動刪除。」 |
Redshift.InsufficientPrivilege |
「使用者不具備將資料載入表格的許可。請檢查 Amazon Redshift INSERT 許可的使用者許可。」 |
Redshift.ReadOnlyCluster |
「無法執行該查詢,因系統正在調整規模。請稍後再嘗試查詢。」 |
Redshift.DiskFull |
「資料無法載入,因為磁碟已滿。請增加 Amazon Redshift 叢集的容量,或刪除未使用的資料以釋放磁碟空間。」 |
InternalError |
「嘗試傳輸資料時發生內部錯誤。將重試交付;如果錯誤持續存在,則會將其報告給 AWS 以解決。」 |
Redshift.ArgumentNotSupported |
「COPY 命令包含不支持的選項。」 |
Redshift.AnalyzeTableAccessDenied |
「存取遭拒。從 S3 複製到 Redshift 失敗,因為分析資料表只能由資料表或資料庫擁有者完成。」 |
Redshift.SchemaNotFound |
「找不到 Amazon Redshift 目的地組態的 DataTableName 中指定的結構描述。請指定有效的結構描述名稱。」 |
Redshift.ColumnSpecifiedMoreThanOnce |
「在列列表中指定了一個以上的列。確保刪除重複的列。」 |
Redshift.ColumnNotNullWithoutDefault |
「有一個無預設值的非空白在欄位,且未包含在欄位清單中。請確認此類欄位包含在欄位清單中。」 |
Redshift.IncorrectBucketRegion |
「Redshift 嘗試使用與叢集不同區域的儲存貯體。請指定與叢集同一區域的儲存貯體。」 |
Redshift.S3SlowDown |
「S3 的高請求率。降低速率以避免限流。」 |
Redshift.InvalidCopyOptionForJson |
「請將 auto 或有效的 S3 路徑用於 json 複製選項。」 |
Redshift.InvalidCopyOptionJSONPathFormat |
「COPY 失敗,出現錯誤 \"無效的 JSONPath 格式。陣列索引超出範圍\"。請糾正 JSONPath 運算式。」 |
Redshift.InvalidCopyOptionRBACAclNotAllowed |
「COPY 失敗,出現錯誤 \"在未啟用許可傳播時,無法使用 RBAC acl 架構。\" |
Redshift.DiskSpaceQuotaExceeded |
「由於磁盤空間配額超出,交易中止。釋放磁碟空間或請求提升結構描述的配額。」 |
Redshift.ConnectionsLimitExceeded |
「超出使用者的連線限制。」 |
Redshift.SslNotSupported |
「由於伺服器不支援 SSL,因此與指定的 Amazon Redshift 叢集的連線失敗。請檢查您的叢集設定。」 |
Redshift.HoseNotFound |
「hose 已被刪除。請檢查您的 hose 狀態。」 |
Redshift.Delimiter |
「copyCommand 中的 copyOptions 分隔符號無效。確保它屬於單一字元。」 |
Redshift.QueryCancelled |
「使用者已經取消了 COPY 操作。」 |
Redshift.CompressionMismatch |
「hose 設定為 UNCOMPRESSED,但 copyOption 包括壓縮格式。」 |
Redshift.EncryptionCredentials |
「ENCRYPTED 選項需要以下格式的憑證:'aws_iam_role=...;master_symmetric_key=...' or 'aws_access_key_id=...;aws_secret_access_key=...[;token=...];master_symmetric_key=...'" |
Redshift.InvalidCopyOptions |
「無效的 COPY 組態選項。」 |
Redshift.InvalidMessageFormat |
「COPY 命令包含無效字符。」 |
Redshift.TransactionIdLimitReached |
「已達交易 ID 限制。」 |
Redshift.DestinationRemoved |
「請確認是否存在 redshift 目的地,並且在 Firehose 組態中已正確設定。」 |
Redshift.OutOfMemory |
「Redshift 叢集的記憶體不足。請確保叢集有足夠的容量。」 |
Redshift.CannotForkProcess |
「Redshift 叢集的記憶體不足。請確保叢集有足夠的容量。」 |
Redshift.SslFailure |
「握手期間 SSL 連線已關閉。」 |
Redshift.Resize |
「Redshift 叢集正在調整大小。當叢集調整大小時,Firehose 將無法傳送資料。」 |
Redshift.ImproperQualifiedName |
「限定名稱不正確 (帶點的名稱太多)。」 |
Redshift.InvalidJsonPathFormat |
「無效的 JSONPath 格式。」 |
Redshift.TooManyConnectionsException |
「與 Redshift 的連線太多。」 |
Redshift.PSQLException |
「從 Redshift 觀測到的 PSQlException。」 |
Redshift.DuplicateSecondsSpecification |
「以日期/時間格式中的秒數規格重複。」 |
Redshift.RelationCouldNotBeOpened |
「遇到 Redshift 錯誤,無法打開關係。檢查指定資料庫的 Redshift 日誌。」 |
Redshift.TooManyClients |
「從 Redshift 遇到太多客戶端例外狀況。如果有多個生產者同時寫入資料庫,請重新檢視資料庫的連線上限。」 |
Snowflake 資料交付錯誤
Firehose 可以將下列 Snowflake 相關錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Snowflake.InvalidUrl |
「Firehose 無法連線至 Snowflake。請確定在 Snowflake 目的地組態中正確指定帳戶 URL。」 |
Snowflake.InvalidUser |
「Firehose 無法連線至 Snowflake。請確定使用者已在 Snowflake 目的地組態中正確指定。」 |
Snowflake.InvalidRole |
「指定的 snowflake 角色不存在或未經授權。請確定角色已授予指定的使用者" |
Snowflake.InvalidTable |
「提供的資料表不存在或未經授權」 |
Snowflake.InvalidSchema |
「提供的結構描述不存在或未經授權」 |
Snowflake.InvalidDatabase |
「提供的資料庫不存在或未經授權」 |
Snowflake.InvalidPrivateKeyOrPassphrase |
「指定的私有金鑰或複雜密碼無效。請注意,提供的私有金鑰應該是有效的 PEM RSA 私有金鑰" |
Snowflake.MissingColumns |
「插入請求會因為輸入承載中缺少資料欄而遭到拒絕。確定已為所有非空值的資料欄指定值" |
Snowflake.ExtraColumns |
「插入請求會因為額外的資料欄而遭到拒絕。資料表中不存在的資料欄不應指定" |
Snowflake.InvalidInput |
「由於輸入格式無效,傳遞失敗。請確定提供的輸入承載是 JSON 格式可接受的" |
Snowflake.IncorrectValue |
「由於輸入承載中的資料類型不正確,傳遞失敗。請確定輸入承載中指定的 JSON 值符合 Snowflake 資料表定義中宣告的資料類型" |
Splunk Data 交付錯誤
Amazon Data Firehose 可以將下列 Splunk 相關錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Splunk.ProxyWithoutStickySessions |
「如果您在 Amazon Data Firehose 和 HEC 節點之間有代理 (ELB 或其他),則必須啟用黏性工作階段以支援 HEC ACKs." |
Splunk.DisabledToken |
「HEC 符記未啟用。請啟用符記以將資料交付至 Splunk。」 |
Splunk.InvalidToken |
「無效的 HEC 符記。使用有效的 HEC 字符更新 Amazon Data Firehose。」 |
Splunk.InvalidDataFormat |
「資料格式化不正確。欲理解如何正確格式化原生或事件 HEC 端點的資料,請參閱 Splunk Event Data |
Splunk.InvalidIndex |
「HEC 符記或輸入的索引無效。請檢查您的索引設定並再試一次。」 |
Splunk.ServerError |
「將資料傳送至 Splunk 失敗,因為 HEC 節點的伺服器出現錯誤。如果 Amazon Data Firehose 的重試持續時間大於 0,Amazon Data Firehose 將重試傳送資料。如果所有重試都失敗,Amazon Data Firehose 會將資料備份到 Amazon S3。」 |
Splunk.DisabledAck |
「HEC 符記的 indexer 確認未啟用。請啟用 indexer 確認並再試一次。如需詳細資訊,請參閱 Enable indexer acknowledgement |
Splunk.AckTimeout |
「HEC 確認逾時過期之前,未收到 HEC 的確認。儘管確認逾時,資料仍可能已成功索引至 Splunk。Amazon Data Firehose 會在確認逾時過期的 Amazon S3 資料中備份。」 |
Splunk.MaxRetriesFailed |
「無法傳送資料至 Splunk,或無法接收確認。請檢查您的 HEC 運作狀態並再試一次。」 |
Splunk.ConnectionTimeout |
「連線至 Splunk 逾時。這可能是暫時性錯誤,請求將會重試。如果所有重試都失敗,Amazon Data Firehose 會將資料備份到 Amazon S3。」 |
Splunk.InvalidEndpoint |
「無法連線至 HEC 終端節點。請確定 HEC 端點 URL 有效,且可從 Amazon Data Firehose 連線。」 |
Splunk.ConnectionClosed |
「無法將資料傳送至 Splunk,因為連線失敗。這可能是暫時性錯誤。增加 Amazon Data Firehose 組態中的重試持續時間可能會防止此類暫時性故障。」 |
Splunk.SSLUnverified |
「無法連線至 HEC 終端節點。主機與同儕提供的憑證不符。請確認該憑證和主機有效。」 |
Splunk.SSLHandshake |
「無法連線至 HEC 終端節點。請確認該憑證和主機有效。」 |
Splunk.URLNotFound |
「在 Splunk 伺服器上找不到請求的 URL。請檢查 Splunk 叢集並確認其設定正確。」 |
Splunk.ServerError.ContentTooLarge |
「傳送至 Splunk 的資料失敗,因為伺服器錯誤顯示 statusCode:413,訊息:您的使用者端傳送的請求太大。請參閱 SPLUNK 文件以設定 max_content_length。」 |
Splunk.IndexerBusy |
「將資料傳送至 Splunk 失敗,因為 HEC 節點的伺服器出現錯誤。確保 HEC 端點或 Elastic Load Balancer 可連接並且狀態良好。」 |
Splunk.ConnectionRecycled |
「從 Firehose 與 Splunk 的連線已回收。將重試交付。」 |
Splunk.AcknowledgementsDisabled |
「無法獲得 POST 的確認。確保已在 HEC 端點上啟用了確認。」 |
Splunk.InvalidHecResponseCharacter |
「在 HEC 響應中發現無效字符,請務必檢查服務和 HEC 組態。」 |
ElasticSearch 資料交付錯誤
Amazon Data Firehose 可以將下列 ElasticSearch 錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
ES.AccessDenied |
「存取遭拒。確保提供與 Firehose 相關聯的 IAM 角色不會被刪除。」 |
ES.ResourceNotFound |
「指定的 AWS Elasticsearch 網域不存在。」 |
HTTPS 端點資料交付錯誤
Amazon Data Firehose 可以將下列 HTTP 端點相關錯誤傳送至 CloudWatch Logs。如果這些錯誤都不符合您遇到的問題,則預設錯誤如下:「嘗試傳送資料時發生內部錯誤。將重試交付;如果錯誤持續存在,則會將其報告給 AWS 以解決。」
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
HttpEndpoint.RequestTimeout |
在收到回應之前交付逾時,將會重試。如果此錯誤仍然存在,請聯絡 AWS Firehose 服務團隊。 |
HttpEndpoint.ResponseTooLarge |
「從端點收到的回應尺寸過大。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.InvalidResponseFromDestination |
「從指定端點收到的回應無效。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.DestinationException |
「從端點目的地接收到以下回應。」 |
HttpEndpoint.ConnectionFailed |
「無法連線至目的地端點。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.ConnectionReset |
「無法維持與端點的連線。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.ConnectionReset |
「難以維持與端點的連線。請聯絡端點的所有者。」 |
HttpEndpoint.ResponseReasonPhraseExceededLimit |
「從端點收到的回應原因片語超過設定的 64 個字元限制。」 |
HttpEndpoint.InvalidResponseFromDestination |
「從端點收到的回應無效。如需詳細資訊,請參閱 Firehose 文件中的 HTTP 端點疑難排解。原因:「 |
HttpEndpoint.DestinationException |
「交付至端點失敗。如需詳細資訊,請參閱 Firehose 文件中的 HTTP 端點疑難排解。收到狀態碼的回應」 |
HttpEndpoint.InvalidStatusCode |
「收到無效的回應狀態碼。」 |
HttpEndpoint.SSLHandshakeFailure |
「無法與端點完成 SSL 握手。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.SSLHandshakeFailure |
「無法與端點完成 SSL 握手。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.SSLFailure |
「無法與端點完成 TLS 握手。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.SSLHandshakeCertificatePathFailure |
「由於憑證路徑無效,無法與端點完成 SSL 交握。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.SSLHandshakeCertificatePathValidationFailure |
「由於認證路徑驗證失敗,無法與端點完成 SSL 握手。請聯絡端點的擁有者以解決此問題。」 |
HttpEndpoint.MakeRequestFailure.IllegalUriException |
「由於 URI 中輸入無效,HttpEndpoint 請求失敗。請確保輸入 URI 中的所有字符都有效。」 |
HttpEndpoint.MakeRequestFailure.IllegalCharacterInHeaderValue |
「由於非法回應錯誤,HttpEndpoint 請求失敗。標頭值中的非法字元 '\ n'。」 |
HttpEndpoint.IllegalResponseFailure |
「由於非法回應錯誤,HttpEndpoint 請求失敗。HTTP 消息不得包含多個內容類型標頭。」 |
HttpEndpoint.IllegalMessageStart |
「由於非法回應錯誤,HttpEndpoint 請求失敗。非法 HTTP 消息啟動。如需詳細資訊,請參閱 Firehose 文件中的 HTTP 端點疑難排解。」 |
Amazon OpenSearch Service Data 交付錯誤
對於 OpenSearch Service 目的地,Amazon Data Firehose 會在 OpenSearch Service 傳回錯誤時,將錯誤傳送到 CloudWatch Logs。
除了可能從 OpenSearch 叢集傳回的錯誤之外,您可能會遇到下列兩個錯誤:
-
嘗試交付資料至目的地 OpenSearch Service 叢集時,會發生驗證/授權錯誤。這可能是由於 Amazon Data Firehose 目標 OpenSearch Service 網域組態修改時,任何許可問題和/或間歇性地發生。請檢查叢集原則和角色許可。
-
由於驗證/授權失敗,資料無法交付至目的地 OpenSearch Service 叢集。這可能是由於 Amazon Data Firehose 目標 OpenSearch Service 網域組態修改時,任何許可問題和/或間歇性地發生。請檢查叢集原則和角色許可。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
OS.AccessDenied |
「存取遭拒。請確認所提供 IAM 角色的信任政策允許 Firehose 擔任此角色,並確認存取政策允許存取 Amazon OpenSearch Service API。」 |
OS.AccessDenied |
「存取遭拒。請確認所提供 IAM 角色的信任政策允許 Firehose 擔任此角色,並確認存取政策允許存取 Amazon OpenSearch Service API。」 |
OS.AccessDenied |
「存取遭拒。確保提供與 Firehose 相關聯的 IAM 角色不會被刪除。」 |
OS.AccessDenied |
「存取遭拒。確保提供與 Firehose 相關聯的 IAM 角色不會被刪除。」 |
OS.ResourceNotFound |
「指定的 Amazon OpenSearch Service 域不存在。」 |
OS.ResourceNotFound |
「指定的 Amazon OpenSearch Service 域不存在。」 |
OS.AccessDenied |
「存取遭拒。請確認所提供 IAM 角色的信任政策允許 Firehose 擔任此角色,並確認存取政策允許存取 Amazon OpenSearch Service API。」 |
OS.RequestTimeout |
「向 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合發出的請求逾時。確保叢集或集合具有足夠的容量來容納目前的工作負載。」 |
OS.ClusterError |
「Amazon OpenSearch Service 叢集返回了一個未指定的錯誤。」 |
OS.RequestTimeout |
「向 Amazon OpenSearch Service 叢集發出的請求逾時。確保叢集具有足夠的容量來容納目前的工作負載。」 |
OS.ConnectionFailed |
「無法連線至 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合。確保叢集或集合狀態良好且可存取。」 |
OS.ConnectionReset |
「無法保持與 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合的連線。請聯絡叢集或集合的擁有者以解決此問題。」 |
OS.ConnectionReset |
「無法維護與 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合的連線。確保叢集或集合狀態良好,並且具有足夠的容量來容納目前的工作負載。」 |
OS.ConnectionReset |
「無法維護與 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合的連線。確保叢集或集合狀態良好,並且具有足夠的容量來容納目前的工作負載。」 |
OS.AccessDenied |
「存取遭拒。確保 Amazon OpenSearch Service 叢集上的存取政策授予對已設定 IAM 角色的存取權。」 |
OS.ValidationException |
「OpenSearch 叢集傳回 ESServiceException。其中一個原因是叢集已升級到 OS 2.x 或更高版本,但 hose 仍然設定了 TypeName 參數。透過將 TypeName 設定為空白字串,或將端點變更為支援 Type 參數的叢集來更新 hose 組態。」 |
OS.ValidationException |
「成員必須滿足正則運算式模式:[a-z][a-z0-9\\-]+ |
OS.JsonParseException |
「Amazon OpenSearch Service 叢集返回 JsonParseException。確保放入的資料是有效的。」 |
OS.AmazonOpenSearchServiceParseException |
「Amazon OpenSearch Service 叢集返回了一個 AmazonOpenSearchServiceParseException。確保放入的資料是有效的。」 |
OS.ExplicitIndexInBulkNotAllowed |
「確保 rest.action.multi.allow_explicit_index 在 Amazon OpenSearch Service 叢集 上設定為 true。」 |
OS.ClusterError |
「Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合傳回不明錯誤。」 |
OS.ClusterBlockException |
「叢集傳回 ClusterBlockException。它可能會超載。」 |
OS.InvalidARN |
「提供的 Amazon OpenSearch Service ARN 無效。請檢查您的 DeliveryStream 組態。」 |
OS.MalformedData |
「一個或多個記錄格式錯誤。請確保每條記錄都是單個有效的 JSON 對象,並且不包含換行符。」 |
OS.InternalError |
「嘗試交付資料時發生內部錯誤。將重試交付;如果錯誤持續存在,則會向 報告 AWS 以解決問題。」 |
OS.AliasWithMultipleIndicesNotAllowed |
「別名有一個以上的索引與它相關聯。確保別名只有一個與其關聯的索引。」 |
OS.UnsupportedVersion |
Amazon Data Firehose 目前不支援 Amazon OpenSearch Service 6.0。如需詳細資訊,請聯絡 AWS 支援。」 |
OS.CharConversionException |
「一個或多個記錄包含無效字符。」 |
OS.InvalidDomainNameLength |
「域名稱長度不在有效的作業系統限制範圍內。」 |
OS.VPCDomainNotSupported |
「目前不支援虛擬 VPC 內的 Amazon OpenSearch Service 域。」 |
OS.ConnectionError |
「http 伺服器意外關閉了連線,請確認 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合的運作狀態。」 |
OS.LargeFieldData |
「Amazon OpenSearch Service 叢集中止了請求,因為它包含的欄位資料大於允許的資料。」 |
OS.BadGateway |
「Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合中止請求,並回應:502 錯誤的閘道。」 |
OS.ServiceException |
「從 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合收到錯誤。如果叢集或集合位於 VPC 後面,請確保網路組態允許連線。」 |
OS.GatewayTimeout |
「Firehose 在連線至 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合時遇到逾時錯誤。」 |
OS.MalformedData |
「Amazon Data Firehose 不支援 Firehose 記錄內的 Amazon OpenSearch Service Bulk API 命令。」 |
OS.ResponseEntryCountMismatch |
「來自批量 API 的響應包含的條目多於傳送的記錄數目。確保每條記錄只包含一個 JSON 對象,並且沒有換行符。」 |
Lambda 調用錯誤
Amazon Data Firehose 可以將下列 Lambda 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Lambda.AssumeRoleAccessDenied |
「存取遭拒。確保所提供 IAM 角色的信任政策允許 Amazon Data Firehose 擔任該角色。」 |
Lambda.InvokeAccessDenied |
「存取遭拒。請確認存取政策允許存取 Lambda 函數。」 |
Lambda.JsonProcessingException |
「Lambda 函數回傳記錄時發生錯誤剖析。確保傳回的記錄遵循 Amazon Data Firehose 所需的狀態模型。」 如需詳細資訊,請參閱資料轉換的必要參數。 |
Lambda.InvokeLimitExceeded |
「Lambda 並行執行超過限制。請增加並行執行的限制。」 如需詳細資訊,請參閱《AWS Lambda 開發人員指南》中的 AWS Lambda 限制。 |
Lambda.DuplicatedRecordId |
「多個回傳記錄具有相同的記錄 ID。請確認 Lambda 函數回傳的每一記錄均有獨特記錄 ID。」 如需詳細資訊,請參閱資料轉換的必要參數。 |
Lambda.MissingRecordId |
「一個或多個記錄 ID 未回傳。請確認 Lambda 函數會回傳所有接收到的記錄 ID。」 如需詳細資訊,請參閱資料轉換的必要參數。 |
Lambda.ResourceNotFound |
「指定的 Lambda 函數不存在。請使用另一現有的函數。」 |
Lambda.InvalidSubnetIDException |
「Lambda 函數 VPC 設定指定的子網路 ID 無效。請確認子網路 ID 有效。」 |
Lambda.InvalidSecurityGroupIDException |
「Lambda 函數 VPC 設定指定的安全群組 ID 無效。請確認安全群組 ID 有效。」 |
Lambda.SubnetIPAddressLimitReachedException |
「AWS Lambda 無法設定 Lambda 函數的 VPC 存取,因為一或多個設定的子網路沒有可用的 IP 地址。請提高 IP 地址的限制。」 如需有關 Amazon VPC 配額的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 Amazon VPC 限制 - VPC 和子網路。 |
Lambda.ENILimitReachedException |
「無法在 VPC 中建立彈性網路介面AWS Lambda (ENI),指定為 Lambda 函數組態的一部分,因為已達到網路介面的限制。請提高網路介面的限制。」 如需詳細資訊,請參閱《Amazon VPC 使用者指南》https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Appendix_Limits.html#vpc-limits-enis的 Amazon VPC 限制 - 網路介面。 |
|
Lambda 函數調用已逾時。增加 Lambda 函數中的「逾時」設定。如需詳細資訊,請參閱設定函數逾時。 |
|
這可能是由於以下任何錯誤造成的:
|
|
Amazon Data Firehose 調用 Lambda 時,在請求逾時組態錯誤之前遇到請求未完成。重新檢視 Lambda 程式碼,以檢查 Lambda 程式碼是否預期在設定的逾時後執行。如果已就緒,請考慮調整 Lambda 組態設定,包括記憶體、逾時。如需詳細資訊,請參閱設定 Lambda 函數選項。 |
|
Amazon Data Firehose 發生錯誤。呼叫 AWS Lambda 服務時,目標伺服器無法回應錯誤。 |
|
叫用 Lambda 函數時,Amazon Data Firehose 遇到 InvalidZipFileException。檢查您的 Lambda 函數組態設定和 Lambda 程式碼壓縮檔案。 |
|
「Amazon Data Firehose 在呼叫 AWS Lambda 服務時遇到 InternalServerError。Amazon Data Firehose 將重試傳送資料固定次數。您可以使用 |
|
Amazon Data Firehose 在呼叫 AWS Lambda 服務時遇到 ServiceUnavailableException。Amazon Data Firehose 將重試傳送資料固定次數。您可以使用 |
|
由於無效的安全記號,無法調用 Lambda 函數。跨分割 Lambda 調用不支援跨分割 Lambda 調用。 |
Lambda.InvocationFailure
|
這可能是由於以下任何錯誤造成的:
|
|
Lambda 函數回傳記錄時發生錯誤剖析。確認資料欄位採用 base-64 編碼。 |
Kinesis 調用錯誤
Amazon Data Firehose 可以將下列 Kinesis 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Kinesis.AccessDenied |
「呼叫 Kinesis 時存取被拒絕。確保所使用 IAM 角色上的存取政策允許存取適當的 Kinesis API。」 |
Kinesis.ResourceNotFound |
「Firehose 未能從串流中讀取。如果 Firehose 與 Kinesis Stream 相連,則該串流可能不存在,或碎片可能已合併或分割。如果 Firehose 屬於 DirectPut 類型,則 Firehose 可能已經不存在。」 |
Kinesis.SubscriptionRequired |
「呼叫 Kinesis 時存取被拒絕。確保為 Kinesis 串流存取傳遞的 IAM 角色具有 AWS Kinesis 訂閱。」 |
Kinesis.Throttling |
「呼叫 Kinesis 時遇到限流錯誤。這可能是由於其他應用程式呼叫與 Firehose 串流相同的 APIs,或因為您建立太多與來源具有相同 Kinesis 串流的 Firehose 串流。」 |
Kinesis.Throttling |
「呼叫 Kinesis 時遇到限流錯誤。這可能是由於其他應用程式呼叫與 Firehose 串流相同的 APIs,或因為您建立太多與來源具有相同 Kinesis 串流的 Firehose 串流。」 |
Kinesis.AccessDenied |
「呼叫 Kinesis 時存取被拒絕。確保所使用 IAM 角色上的存取政策允許存取適當的 Kinesis API。」 |
Kinesis.AccessDenied |
「嘗試呼叫基礎 Kinesis Stream 上的 API 操作時,存取遭拒。確保 IAM 角色已傳播且有效。」 |
Kinesis.KMS.AccessDeniedException |
「Firehose 無法存取用於加密/解密 Kinesis 串流的 KMS 金鑰。請授予 Firehose 交付角色對金鑰的存取權。」 |
Kinesis.KMS.KeyDisabled |
「Firehose 無法從來源 Kinesis 串流讀取,因為用於加密/解密的 KMS 金鑰已停用。啟用金鑰,以便讀取可以繼續。」 |
Kinesis.KMS.InvalidStateException |
Firehose 無法從來源 Kinesis Streams 讀取,因為用來加密 Kinesis Streams 的 KMS 金鑰處於無效狀態。」 |
Kinesis.KMS.NotFoundException |
「Firehose 無法從來源 Kinesis 串流讀取,因為找不到用來加密的 KMS 金鑰。」 |
Kinesis DirectPut 調用錯誤
Amazon Data Firehose 可以將下列 Kinesis DirectPut 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Firehose.KMS.AccessDeniedException |
「Firehose 無法存取 KMS 金鑰。請檢查金鑰政策。」 |
Firehose.KMS.InvalidStateException |
「Firehose 無法解密資料,因為用於加密資料的 KMS 金鑰處於無效狀態。」 |
Firehose.KMS.NotFoundException |
「Firehose 無法解密資料,因為找不到用於加密資料的 KMS 金鑰。」 |
Firehose.KMS.KeyDisabled |
「Firehose 無法解密資料,因為用於加密資料的 KMS 金鑰已停用。啟用金鑰,以便可以繼續進行交付。」 |
AWS Glue 調用錯誤
Amazon Data Firehose 可以將下列 AWS Glue 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
DataFormatConversion.InvalidSchema |
「結構描述無效。」 |
DataFormatConversion.EntityNotFound |
「找不到指定的資料表/資料庫。請確保資料表/資料庫存在,並且結構描述組態中提供的值是正確的,尤其是在大小寫方面。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保具有提供的目錄 ID 的指定資料庫存在。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保傳遞的 ARN 格式正確。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保提供的 catalogId 有效。」 |
DataFormatConversion.InvalidVersionId |
「無法從 glue 中找到匹配的模式。請確保資料表的指定版本存在。」 |
DataFormatConversion.NonExistentColumns |
「無法從 glue 中找到匹配的模式。請確保資料表設定了包含目標列的非空儲存描述符。」 |
DataFormatConversion.AccessDenied |
「假設角色時拒絕存取。請確保在資料格式轉換組態中指定的角色已授予 Firehose 服務承擔該角色的許可。」 |
DataFormatConversion.ThrottledByGlue |
「呼叫 Glue 時遇到限流錯誤。可以提高請求速率限制,或降低透過其他應用程式呼叫 Glue 的當前速率。」 |
DataFormatConversion.AccessDenied |
「呼叫 Glue 時存取被拒絕。請確保在資料格式轉換設定中指定的角色具有必要的許可。」 |
DataFormatConversion.InvalidGlueRole |
「無效的角色。請確保在資料格式轉換組態中指定的角色存在。」 |
DataFormatConversion.InvalidGlueRole |
「包含在請求中的安全性記號無效。確保提供與 Firehose 相關聯的 IAM 角色不會被刪除。」 |
DataFormatConversion.GlueNotAvailableInRegion |
「AWS Glue 尚未在您指定的區域中提供;請指定不同的區域。」 |
DataFormatConversion.GlueEncryptionException |
「擷取主金鑰時發生錯誤。確保金鑰存在並具有正確的存取許可。」 |
DataFormatConversion.SchemaValidationTimeout |
「從 Glue 檢索資料表時超時。如果您有大量的 Glue 資料表版本,請新增 'glue:GetTableVersion' 許可 (建議使用) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量資料表,請聯絡 AWS Support。」 |
DataFirehose.InternalError |
「從 Glue 檢索資料表時超時。如果您有大量的 Glue 資料表版本,請新增 'glue:GetTableVersion' 許可 (建議使用) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量資料表,請聯絡 AWS Support。」 |
DataFormatConversion.GlueEncryptionException |
「擷取主金鑰時發生錯誤。確保金鑰存在且狀態正確。」 |
DataFormatConversion 調用錯誤
Amazon Data Firehose 可以將下列 DataFormatConversion 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
DataFormatConversion.InvalidSchema |
「結構描述無效。」 |
DataFormatConversion.ValidationException |
「欄位名稱和類型必須是非空字符串。」 |
DataFormatConversion.ParseError |
「遇到格式錯誤的 JSON。」 |
DataFormatConversion.MalformedData |
「資料與結構描述不相符。」 |
DataFormatConversion.MalformedData |
「JSON 金鑰的長度不得大於 262144」 |
DataFormatConversion.MalformedData |
「資料無法解碼為 UTF-8。」 |
DataFormatConversion.MalformedData |
「記號之間發現非法字符。」 |
DataFormatConversion.InvalidTypeFormat |
「類型格式無效。檢查類型語法。」 |
DataFormatConversion.InvalidSchema |
「無效的結構描述。請確保資料欄名稱中沒有特殊字元或空格。」 |
DataFormatConversion.InvalidRecord |
「記錄不符合結構描述。一個或多個映射鍵對於映射無效<string, string>。」 |
DataFormatConversion.MalformedData |
「輸入 JSON 在頂層包含一個基本類型。頂層必須是物件或陣列。」 |
DataFormatConversion.MalformedData |
「輸入 JSON 在頂層包含一個基本類型。頂層必須是物件或陣列。」 |
DataFormatConversion.MalformedData |
「記錄為空或僅包含空格。」 |
DataFormatConversion.MalformedData |
「遇到無效字元。」 |
DataFormatConversion.MalformedData |
「遇到無效或不支持的時間戳格式。如需支援的時間戳記格式,請參閱《Firehose 開發人員指南》。」 |
DataFormatConversion.MalformedData |
「在資料中找到了一個標量類型,但在結構描述上指定了一個複雜的類型。」 |
DataFormatConversion.MalformedData |
「資料與結構描述不相符。」 |
DataFormatConversion.MalformedData |
「在資料中找到了一個標量類型,但在結構描述上指定了一個複雜的類型。」 |
DataFormatConversion.ConversionFailureException |
"ConversionFailureException" |
DataFormatConversion.DataFormatConversionCustomerErrorException |
"DataFormatConversionCustomerErrorException" |
DataFormatConversion.DataFormatConversionCustomerErrorException |
"DataFormatConversionCustomerErrorException" |
DataFormatConversion.MalformedData |
「資料與結構描述不相符。」 |
DataFormatConversion.InvalidSchema |
「結構描述無效。」 |
DataFormatConversion.MalformedData |
「資料與結構描述不相符。一個或多個日期的格式無效。」 |
DataFormatConversion.MalformedData |
「資料包含不支援的高度巢狀 JSON 結構。」 |
DataFormatConversion.EntityNotFound |
「找不到指定的資料表/資料庫。請確保資料表/資料庫存在,並且結構描述組態中提供的值是正確的,尤其是在大小寫方面。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保具有提供的目錄 ID 的指定資料庫存在。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保傳遞的 ARN 格式正確。」 |
DataFormatConversion.InvalidInput |
「無法從 glue 中找到匹配的模式。請確保提供的 catalogId 有效。」 |
DataFormatConversion.InvalidVersionId |
「無法從 glue 中找到匹配的模式。請確保資料表的指定版本存在。」 |
DataFormatConversion.NonExistentColumns |
「無法從 glue 中找到匹配的模式。請確保資料表設定了包含目標列的非空儲存描述符。」 |
DataFormatConversion.AccessDenied |
「假設角色時拒絕存取。請確保在資料格式轉換組態中指定的角色已授予 Firehose 服務承擔該角色的許可。」 |
DataFormatConversion.ThrottledByGlue |
「呼叫 Glue 時遇到限流錯誤。可以提高請求速率限制,或降低透過其他應用程式呼叫 Glue 的當前速率。」 |
DataFormatConversion.AccessDenied |
「呼叫 Glue 時存取被拒絕。請確保在資料格式轉換設定中指定的角色具有必要的許可。」 |
DataFormatConversion.InvalidGlueRole |
「無效的角色。請確保在資料格式轉換組態中指定的角色存在。」 |
DataFormatConversion.GlueNotAvailableInRegion |
「AWS Glue 尚未在您指定的區域中提供;請指定不同的區域。」 |
DataFormatConversion.GlueEncryptionException |
「擷取主金鑰時發生錯誤。確保金鑰存在並具有正確的存取許可。」 |
DataFormatConversion.SchemaValidationTimeout |
「從 Glue 檢索資料表時超時。如果您有大量的 Glue 資料表版本,請新增 'glue:GetTableVersion' 許可 (建議使用) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量資料表,請聯絡 AWS Support。」 |
DataFirehose.InternalError |
「從 Glue 檢索資料表時超時。如果您有大量的 Glue 資料表版本,請新增 'glue:GetTableVersion' 許可 (建議使用) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量資料表,請聯絡 AWS Support。」 |
DataFormatConversion.MalformedData |
「一個或多個欄位的格式不正確。」 |