

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

# 亚马逊 EventBridge 事件总线日志架构
<a name="eb-event-logs-schema"></a>

以下参考详细说明了 EventBridge 事件总线日志记录的架构。每条记录代表处理特定事件所 EventBridge 执行的步骤。

有关更多信息，请参阅 [记录事件总线 ](eb-event-bus-logs.md)。

```
{    
    "resource\_arn": "arn:aws:events:{{region}}:{{account}}:event-bus/{{bus-name}}",
    "request\_id": "{{guid}}", 
    "event\_id": "{{guid}}", 
    "invocation\_id": "{{guid}}",
    "message\_timestamp\_ms": "{{date_time}}",    
    "message\_type": "{{step}}",  
    "log\_level": "{{TRACE}} | {{INFO}} | {{ERROR}}",
    "details": {
      },
    "error": {  
        "http\_status\_code": {{code}},  
        "error\_message": "{{error_message}}",  
        "aws\_service": "{{service_name}}",  
        "request\_id": "{{service_request_id}}"  
    }  
}
```

**resource\_arn**  <a name="event-log-schema-resource-arn"></a>
事件总线对应的 Amazon 资源名称（ARN）。

**request\_id**  <a name="event-log-schema-request-id"></a>
请求的 ID。

**event\_id**  <a name="event-log-schema-event-id"></a>
正在处理的事件的 ID。

**invocation\_id**  <a name="event-log-schema-invocation-id"></a>
事件调用的 ID。

**message\_timestamp\_ms**  <a name="event-log-schema-timestamp"></a>
发出日志事件的日期和时间。  
单位：毫秒

**message\_type**  <a name="event-log-schema-message-type"></a>
生成日志记录的事件处理步骤。  
有关处理事件时 EventBridge 执行的步骤的更多信息，请参阅[亚马逊为事件总线 EventBridge 记录了什么](eb-event-logs-execution-steps.md)。  
*有效值：*  
+ `EVENT_INGEST_FAILURE`
+ `EVENT_INGEST_SUCCESS`
+ `EVENT_RECEIPT`
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_START`
+ `INVOCATION_ATTEMPT_SUCCESS`
+ `INVOCATION_ATTEMPT_THROTTLE`
+ `INVOCATION_DLQ`
+ `INVOCATION_FAILURE`
+ `INVOCATION_START`
+ `INVOCATION_SUCCESS`
+ `INVOCATION_THROTTLE_START`
+ `NO_STANDARD_RULES_MATCHED`
+ `RULE_MATCH`
+ `RULE_MATCH_START`

**log\_level**  <a name="event-log-schema-loglevel"></a>
为事件总线日志指定的详细级别。  
*有效值*：`ERROR` \| `INFO` \| `TRACE`  
有关更多信息，请参阅 [指定事件总线日志级别](eb-event-bus-logs.md#eb-event-bus-logs-level)。

**details**  <a name="event-log-schema-details"></a>
包含基于步骤详细信息类型的步骤详细信息。  
以下消息类型会返回下面列出的字段：  
+ `EVENT_INGEST_SUCCESS`
+ `EVENT_INGEST_FAILURE`
+ `EVENT_RECEIPT`
+ `RULE_MATCH_START`

```
{
  "caller_account_id": "{{account_id}}",
  "source_time_ms": {{date_time}},
  "source": "{{source}}",
  "detail_type": " {{type}}",
  "resources": [],
  "event_detail": "{}"
}
```
以下消息类型会返回下面列出的字段：  
+ `RULE_MATCH`

```
{
  "rule_arn": "{{ARN}}",
  "target_arns": [
    "{{ARN}}"
  ],
  "invocation_ids": [
    "{{guid}}"
  ]
}
```
以下消息类型会返回下面列出的字段：  
+ `INVOCATION_ATTEMPT_START`
+ `INVOCATION_START`
+ `INVOCATION_THROTTLE_START`

```
{
  "rule_arn": "{{ARN}}",
  "role_arn": "{{ARN}}",
  "target_arn": "{{ARN}}",
  "attempt_count": {{Integer}},
  "target_input": "{{string}}",
  "target_properties": "{{string}}"
}
```
以下消息类型会返回下面列出的字段：  
+ `INVOCATION_DLQ`
+ `INVOCATION_FAILURE`
+ `INVOCATION_SUCCESS`

```
{
  "rule_arn": "{{ARN}}",
  "role_arn": "{{ARN}}",
  "target_arn": "{{ARN}}",
  "target_input": "{{string}}",
  "target_properties": "{{string}}",
  "total_attempts": {{Integer}},
  "final_invocation_status": "{{status}}",
  "ingestion_to_start_latency_ms": {{Integer}},
  "ingestion_to_complete_latency_ms": {{Integer}},
  "ingestion_to_success_latency_ms": {{Integer}},
  "target_duration_ms": {{Integer}},
  "target_response_body": "{{string}}"
}
```
`ingestion_to_start_latency_ms` 和 `ingestion_to_complete_latency_ms` 仅包含在首次调用尝试中。仅在成功调用时包含 `ingestion_to_success_latency_ms` 字段。  
以下消息类型会返回下面列出的字段：  
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_SUCCESS`
+ `INVOCATION_ATTEMPT_THROTTLE`

```
{
  "rule_arn": "{{ARN}}",
  "role_arn": "{{ARN}}",
  "target_arn": "{{ARN}}",
  "attempt_type": "{{FIRST}} | {{THROTTLE}} | {{RETRY}}",
  "attempt_count": {{Integer}},
  "invocation_status": "{{status}}",
  "target_duration_ms": {{Integer}},
  "target_response_body": "{{string}}"
}
```

**dropped\_fields**  <a name="event-log-schema-dropped_fields"></a>
所有数据字段的列表均 EventBridge 已截断，以使记录保持在 1 MB 大小限制以下。  
EventBridge 如果它截断了任何详细信息字段，则不包括此字段。  
有关更多信息，请参阅 [截断事件总线日志中的数据](eb-event-bus-logs.md#eb-event-logs-data-truncation)。

**错误**  <a name="event-log-schema-error"></a>
包含在此步骤中生成的任何错误的相关信息。对于错误，EV 始终包含以下字段：  
+ `error_message`
+ `aws_service`
以及以下字段（如果有）：  
+ `request_id`
+ `http_status_code`
如果在此步骤中未生成错误，则 EventBridge 不在日志记录中包含此字段。    
**http\_status\_code**  <a name="event-log-schema-http-status-code"></a>
调用的服务返回的 HTTP 状态代码。  
**错误消息 **  <a name="event-log-schema-message"></a>
调用的服务返回的错误消息。  
**aws\_service**  <a name="event-log-schema-aws-service"></a>
被调用服务的名称。  
**request\_id **  <a name="event-log-schema-error-request-id"></a>
来自被调用服务的此请求的 ID。