

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 從 CloudWatch Logs 或 Amazon S3 儲存貯體自訂日誌資料
<a name="ingestion-custom-data-sources"></a>

您可以使用下列方法建立自訂資料來源的管道：

1. **CloudWatch 自訂日誌** – 透過提供下列項目，在現有的 CloudWatch 自訂日誌群組上定義管道：
   + 資料來源名稱
   + 資料來源類型

   如需資料來源名稱和類型的詳細資訊，請參閱 [CloudWatch Logs 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/data-source-discovery-management.html#how-to-get-started-data-sources)。

1. **S3 自訂來源** – 透過設定管道的來源，處理存放在 S3 儲存貯體中的任意日誌：

   ```
   source:
     s3:
       aws:
         region: "us-east-1"
         sts_role_arn: "arn:aws:iam::<account>:role/<role-name>"
       compression: "gzip"
       codec:
         ndjson:
       data_source_name: "my_custom_logs"
       default_bucket_owner: "123456789012"
       bucket_owners:
         my-bucket: "123456789012"
       disable_bucket_ownership_validation: false
       notification_type: "sqs"
       sqs:
         queue_url: "https://sqs.region.amazonaws.com/<account>/<queue-name>"
       on_error: "retain_messages"
   ```
**注意**  
CSV 處理器無法與 S3 自訂來源搭配使用。反之，請在 S3 來源中使用 CSV 轉碼器。

**Parameters**  
`notification_type` (必要)  
指定通知機制。必須是「sqs」才能使用 SQS for S3 事件通知。  
`data_source_name`  
識別資料來源。這可以是代表您資料來源的任何字串值。範例：「my\_custom\_logs」。  
`aws.region` (必要)  
S3 儲存貯體和 SQS 佇列所在的 AWS 區域。  
`aws.sts_role_arn` (必要)  
用於存取 S3 和 SQS 資源的 IAM 角色 ARN。  
`codec` (必要)  
用於剖析 S3 物件的轉碼器組態。支援 `csv`、`json`、 `ndjson`轉碼器。  
`compression` (選用)  
S3 物件的壓縮類型。有效值為「無」、「gzip」、「自動」。預設為「無」。  
`sqs.queue_url` (SQS 需要）  
建立新物件時接收 S3 儲存貯體通知的完整 SQS 佇列 URL。  
`on_error` (選用)  
決定如何處理 Amazon SQS 中的錯誤。可以是 `retain_messages` 或 `delete_messages`。預設值為 `retain_messages`。

**自訂來源組態**

為自訂來源建立管道時：
+ 如果資料來源是 CloudWatch Logs，剖析器必須是管道中的第一個處理器
+ 您可以為自訂日誌管道指定任何支援的處理器