

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

# 使用 OTLP 端点发送OpenTelemetry 日志（日志）
OTLP 端点

 OpenTelemetry 日志端点 (`/v1/logs`) 接受 JSON 或 Protobuf 编码的 OpenTelemetry 协议 (OTLP) 日志数据。有关 OTLP 端点的详细信息，包括配置和使用情况，请参阅使用[发送指标和 CloudWatch 跟 OpenTelemetry踪](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch-OTLPEndpoint.html)。

如果您使用的是不记名令牌身份验证，请先完成中的设置步骤，[设置不记名令牌身份验证](CWL_HTTP_Endpoints_BearerTokenAuth.md)然后再继续。

## 请求格式

+ 方法：`POST`
+ 内容类型：或 `application/json` `application/x-protobuf`
+ 日志组：仅限`x-aws-log-group`标题（不支持查询参数）
+ 日志流：`x-aws-log-stream`标头

## 示例请求


```
curl -X POST "https://logs.<region>.amazonaws.com/v1/logs" \
  -H "Authorization: Bearer ACWL<token>" \
  -H "Content-Type: application/json" \
  -H "x-aws-log-group: MyLogGroup" \
  -H "x-aws-log-stream: MyLogStream" \
  -d '{
  "resourceLogs": [
    {
      "resource": {
        "attributes": [
          {
            "key": "service.name",
            "value": { "stringValue": "my-service" }
          }
        ]
      },
      "scopeLogs": [
        {
          "scope": {
            "name": "my-library",
            "version": "1.0.0"
          },
          "logRecords": [
            {
              "timeUnixNano": "1741900000000000000",
              "severityNumber": 9,
              "severityText": "INFO",
              "body": {
                "stringValue": "User logged in successfully"
              },
              "attributes": [
                {
                  "key": "user.id",
                  "value": { "stringValue": "12345" }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}'
```

## 响应


**成功（接受所有活动）：**

```
HTTP 200 OK
{}
```

**部分成功（某些事件被拒绝）：**

```
{
  "partialSuccess": {
    "rejectedLogRecords": 5,
    "errorMessage": "{\"tooOldLogEventCount\": 3, \"tooNewLogEventCount\": 1, \"expiredLogEventCount\": 1}"
  }
}
```

当请求 Content-Type 为时`application/x-protobuf`，响应将作为具有相同字段的序列化 `ExportLogsServiceResponse` protobuf 消息返回。

## OTLP 特有的行为


以下行为特定于 OTLP 端点，不存在于其他 HTTP 摄取端点上：
+ **Retry-After 标头** — 包含在 503 和 429 响应中，用于指示客户端何时应重试。