本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CloudWatch 日誌監控 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 日誌之前進行。
傳送至 CloudWatch Logs 的錯誤日誌需支付標稱費用。如需詳細資訊,請參閱 Amazon CloudWatch Pricing
目錄
資料交付錯誤
以下是每個 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 僅支援對稱 CMKs。您無法使用非對稱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 目的地組態中指定的資料庫JDBCURL或 找不到。請指定有效的資料庫名稱。」 |
Redshift.IncorrectCopyOptions |
"已提供衝突或備援COPY選項。部分選項不相容於特定組合。如需詳細資訊,請檢查COPY命令參考。" 如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南 中的 Amazon Redshift COPY命令。 |
Redshift.MissingColumn |
"資料表結構描述中有一個定義為NOTNULL沒有DEFAULT值的欄,且不包含在欄清單中。請排除此欄位、確認載入的資料一律提供此欄位的值,或新增此資料表的預設值至 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 |
「使用者不具備將資料載入表格的許可。檢查INSERT權限的 Amazon Redshift 使用者許可。" |
Redshift.ReadOnlyCluster |
「無法執行該查詢,因系統正在調整規模。請稍後再嘗試查詢。」 |
Redshift.DiskFull |
「資料無法載入,因為磁碟已滿。請增加 Amazon Redshift 叢集的容量,或刪除未使用的資料以釋放磁碟空間。」 |
InternalError |
「嘗試傳輸資料時發生內部錯誤。將重試交付;如果錯誤仍然存在,則會將其報告至 AWS 以解決問題。" |
Redshift.ArgumentNotSupported |
"COPY命令包含不支援的選項。" |
Redshift.AnalyzeTableAccessDenied |
「存取遭拒。從 S3 複製到 Redshift 失敗,因為分析資料表只能由資料表或資料庫擁有者完成。」 |
Redshift.SchemaNotFound |
Amazon DataTableName Redshift 目的地組態中指定的結構描述找不到。請指定有效的結構描述名稱。」 |
Redshift.ColumnSpecifiedMoreThanOnce |
「在列列表中指定了一個以上的列。確保刪除重複的列。」 |
Redshift.ColumnNotNullWithoutDefault |
「有一個非空資料欄,但資料欄清單中未包含DEFAULT該資料欄。請確認此類欄位包含在欄位清單中。」 |
Redshift.IncorrectBucketRegion |
「Redshift 嘗試使用與叢集不同區域的儲存貯體。請指定與叢集同一區域的儲存貯體。」 |
Redshift.S3SlowDown |
「S3 的高請求率。降低速率以避免限流。」 |
Redshift.InvalidCopyOptionForJson |
"請使用 json 的自動或有效的 S3 路徑copyOption。" |
Redshift.InvalidCopyOptionJSONPathFormat |
"COPY 失敗,錯誤為 \"無效JSONPath格式。陣列索引超出範圍\"。請修正JSONPath表達式。" |
Redshift.InvalidCopyOptionRBACAclNotAllowed |
"COPY 失敗並發生錯誤 \"在未啟用許可傳播時無法使用 RBAC acl 架構。\" |
Redshift.DiskSpaceQuotaExceeded |
「由於磁盤空間配額超出,交易中止。釋放磁碟空間或請求提升結構描述的配額。」 |
Redshift.ConnectionsLimitExceeded |
「超出使用者的連線限制。」 |
Redshift.SslNotSupported |
" 與指定 Amazon Redshift 叢集的連線失敗,因為伺服器不支援 SSL。請檢查您的叢集設定。」 |
Redshift.HoseNotFound |
「hose 已被刪除。請檢查您的 hose 狀態。」 |
Redshift.Delimiter |
" 中的 copyOptions 分隔符號 copyCommand 無效。確保它屬於單一字元。」 |
Redshift.QueryCancelled |
"使用者已取消COPY操作。" |
Redshift.CompressionMismatch |
"軟管已設定 UNCOMPRESSED,但 copyOption 包含壓縮格式。" |
Redshift.EncryptionCredentials |
"ENCRYPTED此選項需要下列格式的憑證:'aws_iam_role=...;master_symmetric_key=...' 或 '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 |
"PSQlException 從 Redshift 觀察到。" |
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 |
"指定的私有金鑰或密碼無效。請注意,提供的私有金鑰應該是有效的PEMRSA私有金鑰" |
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 |
"由於HEC節點的伺服器錯誤,傳遞資料至 Splunk 失敗。如果您的 Amazon Data Firehose 的重試持續時間大於 0,Amazon Data Firehose 將重試傳送資料。如果所有重試都失敗,Amazon Data Firehose 會將資料備份到 Amazon S3。 |
Splunk.DisabledAck |
"已停用權HEC杖的索引器確認。請啟用 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 |
「URLSplunk 伺服器上找不到請求的 。請檢查 Splunk 叢集並確認其設定正確。」 |
Splunk.ServerError.ContentTooLarge |
"由於伺服器錯誤,且 statusCode: 413,因此傳送資料至 Splunk 失敗,訊息:用戶端傳送的請求太大。請參閱 SPLUNK 文件以設定 max_content_length。」 |
Splunk.IndexerBusy |
"由於HEC節點的伺服器錯誤,傳遞資料至 Splunk 失敗。確定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 Endpoint Data 交付錯誤
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 |
"HttpEndpoint 請求失敗,因為 中的輸入無效URI。請確保輸入中的所有字元URI都有效。" |
HttpEndpoint.MakeRequestFailure.IllegalCharacterInHeaderValue |
"請求因回應錯誤無效而HttpEndpoint 失敗。標頭值中的非法字元 '\ n'。」 |
HttpEndpoint.IllegalResponseFailure |
"請求因回應錯誤無效而HttpEndpoint 失敗。HTTP 訊息不得包含一個以上的 Content-Type 標頭。" |
HttpEndpoint.IllegalMessageStart |
"請求因回應錯誤無效而HttpEndpoint 失敗。非法HTTP訊息開始。如需詳細資訊,請參閱 Firehose 文件中的HTTP端點疑難排解。" |
Amazon OpenSearch Service Data 交付錯誤
對於 OpenSearch 服務目的地,Amazon Data Firehose 會在 OpenSearch Service 傳回日誌時,將錯誤傳送至 CloudWatch Logs。
除了可能從 OpenSearch 叢集傳回的錯誤之外,您可能會遇到下列兩個錯誤:
-
Authentication/authorization error occurs during attempt to deliver data to destination OpenSearch Service cluster. This can happen due to any permission issues and/or 當您的 Amazon Data Firehose 目標 OpenSearch 服務網域組態遭到修改時,會間歇性地進行。請檢查叢集原則和角色許可。
-
修改 Amazon Data Firehose 目標 OpenSearch 服務網域組態時,由於authentication/authorization failures. This can happen due to any permission issues and/or間歇性,資料無法傳遞至目的地 OpenSearch 服務叢集。請檢查叢集原則和角色許可。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
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 或更高版本,但軟管仍設定 TypeName 參數。透過將 TypeName 設定為空字串,或將端點變更為支援 Type 參數的叢集來更新軟管組態。" |
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 |
"ARN提供的 Amazon OpenSearch Service 無效。請檢查您的 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 |
"VPCs目前不支援 中的 Amazon OpenSearch Service 網域。" |
OS.ConnectionError |
"http 伺服器意外關閉連線,請確認 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合的運作狀態。" |
OS.LargeFieldData |
"Amazon OpenSearch Service 叢集已中止請求,因為它包含大於允許的欄位資料。" |
OS.BadGateway |
"Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合已透過回應中止請求:502 Bad Gateway。" |
OS.ServiceException |
"從 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合收到錯誤。如果叢集或集合位於 之後VPC,請確保網路組態允許連線。" |
OS.GatewayTimeout |
"連線至 Amazon OpenSearch Service 叢集或 OpenSearch Serverless 集合時,Firehose 遇到逾時錯誤。" |
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 函數IDs為每個記錄傳回唯一記錄。" 如需詳細資訊,請參閱資料轉換所需的參數。 |
Lambda.MissingRecordId |
"IDs一或多個記錄未傳回。確保 Lambda 函數傳回所有收到的記錄 IDs。" 如需詳細資訊,請參閱資料轉換所需的參數。 |
Lambda.ResourceNotFound |
「指定的 Lambda 函數不存在。請使用另一現有的函數。」 |
Lambda.InvalidSubnetIDException |
"Lambda 函數VPC組態中指定的子網路 ID 無效。請確認子網路 ID 有效。」 |
Lambda.InvalidSecurityGroupIDException |
"Lambda 函數VPC組態中指定的安全群組 ID 無效。請確認安全群組 ID 有效。」 |
Lambda.SubnetIPAddressLimitReachedException |
"AWS Lambda 無法設定 Lambda 函數的VPC存取權,因為一或多個設定的子網路沒有可用的 IP 地址。請提高 IP 地址的限制。」 如需詳細資訊,請參閱 Amazon 使用者指南 中的 Amazon VPC Limits - VPC和子網路。 VPC |
Lambda.ENILimitReachedException |
"AWS Lambda 無法在 中建立彈性網路介面 (ENI)VPC,此介面指定為 Lambda 函數組態的一部分,因為已達到網路介面的限制。請提高網路介面的限制。」 如需詳細資訊,請參閱 Amazon 使用者指南 中的 Amazon VPC Limits - 網路介面。 VPC |
|
Lambda 函數調用已逾時。增加 Lambda 函數中的「逾時」設定。如需詳細資訊,請參閱設定函數逾時。 |
|
這可能是由於以下任何錯誤造成的:
|
|
叫用 Lambda 時,Amazon Data Firehose 在請求逾時組態錯誤之前遇到請求未完成。重新檢視 Lambda 程式碼,以檢查 Lambda 程式碼是否意欲在設定的逾時後執行。如果已就緒,請考慮調整 Lambda 組態設定,包括記憶體、逾時。如需詳細資訊,請參閱設定 Lambda 函數選項。 |
|
Amazon Data Firehose 遇到錯誤。呼叫 AWS Lambda 服務時,目標伺服器無法回應錯誤。 |
|
叫用 Lambda 函數時遇到 InvalidZipFileException Amazon Data Firehose。檢查您的 Lambda 函數組態設定和 Lambda 程式碼壓縮檔案。 |
|
"在呼叫 AWS Lambda 服務時遇到 InternalServerError Amazon Data Firehose。Amazon Data Firehose 將重試傳送資料固定次數。您可以使用 或 |
|
呼叫 AWS Lambda 服務 ServiceUnavailableException 時遇到 Amazon Data Firehose。Amazon Data Firehose 將重試傳送資料固定次數。您可以使用 或 |
|
由於無效的安全記號,無法調用 Lambda 函數。跨分割 Lambda 調用不支援跨分割 Lambda 調用。 |
Lambda.InvocationFailure
|
這可能是由於以下任何錯誤造成的:
|
|
Lambda 函數回傳記錄時發生錯誤剖析。確認資料欄位採用 base-64 編碼。 |
Kinesis 叫用錯誤
Amazon Data Firehose 可以將下列 Kinesis 調用錯誤傳送至 CloudWatch Logs。
錯誤程式碼 | 錯誤訊息與資訊 |
---|---|
Kinesis.AccessDenied |
「呼叫 Kinesis 時存取被拒絕。確保所使用IAM角色的存取政策允許存取適當的 Kinesis APIs。" |
Kinesis.ResourceNotFound |
「Firehose 未能從串流中讀取。如果 Firehose 與 Kinesis Stream 相連,則該串流可能不存在,或碎片可能已合併或分割。如果 Firehose 為 DirectPut 類型,則 Firehose 可能不再存在。" |
Kinesis.SubscriptionRequired |
「呼叫 Kinesis 時存取被拒絕。確保為 Kinesis 串流存取傳遞IAM的角色具有 AWS Kinesis 訂閱。" |
Kinesis.Throttling |
「呼叫 Kinesis 時遇到限流錯誤。這可能是由於呼叫與 APIs Firehose 串流相同的其他應用程式,或因為您建立過多與來源具有相同 Kinesis 串流的 Firehose 串流。" |
Kinesis.Throttling |
「呼叫 Kinesis 時遇到限流錯誤。這可能是由於呼叫與 APIs Firehose 串流相同的其他應用程式,或因為您建立過多與來源具有相同 Kinesis 串流的 Firehose 串流。" |
Kinesis.AccessDenied |
「呼叫 Kinesis 時存取被拒絕。確保所使用IAM角色的存取政策允許存取適當的 Kinesis APIs。" |
Kinesis.AccessDenied |
"嘗試呼叫基礎 Kinesis Stream 上的API操作時,存取遭拒。確保IAM角色已傳播且有效。" |
Kinesis.KMS.AccessDeniedException |
"Firehose 無法存取用來加密/解密 Kinesis Stream 的KMS金鑰。請授予 Firehose 交付角色對金鑰的存取權。」 |
Kinesis.KMS.KeyDisabled |
"Firehose 無法從來源 Kinesis Stream 讀取,因為用於加密/解密的KMS金鑰已停用。啟用金鑰,以便讀取可以繼續。」 |
Kinesis.KMS.InvalidStateException |
"Firehose 無法從來源 Kinesis Stream 讀取,因為用來加密的KMS金鑰處於無效狀態。" |
Kinesis.KMS.NotFoundException |
"Firehose 無法從來源 Kinesis Stream 讀取,因為找不到用來加密的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 |
"指定的 table/database could not be found. Please ensure that the table/database 存在,而且結構描述組態中提供的值正確,特別是在外殼方面。" |
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 支援。" |
DataFirehose.InternalError |
「從 Glue 檢索資料表時超時。如果您有大量 Glue 資料表版本,請新增「glue:GetTableVersion」許可 (建議) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量的資料表,請聯絡 AWS 支援。" |
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 |
"指定的 table/database could not be found. Please ensure that the table/database 存在,而且結構描述組態中提供的值正確,特別是在外殼方面。" |
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 支援。" |
DataFirehose.InternalError |
「從 Glue 檢索資料表時超時。如果您有大量 Glue 資料表版本,請新增「glue:GetTableVersion」許可 (建議) 或刪除未使用的資料表版本。如果您在 Glue 中沒有大量的資料表,請聯絡 AWS 支援。" |
DataFormatConversion.MalformedData |
「一個或多個欄位的格式不正確。」 |