

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Envío de registros mediante el punto final OTLP (OpenTelemetry registros)
<a name="CWL_HTTP_Endpoints_OTLP"></a>

El punto final de OpenTelemetry Logs (`/v1/logs`) acepta datos de registro OpenTelemetry del Protocolo (OTLP) codificados en JSON o Protobuf. Para obtener información detallada sobre el punto final de OTLP, incluida la configuración y el uso, consulte [Enviar métricas y](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-OTLPEndpoint.html) seguimientos a with. CloudWatch OpenTelemetry

Si utiliza la autenticación mediante token de portador, complete los pasos de configuración [Configuración de la autenticación por token de portador](CWL_HTTP_Endpoints_BearerTokenAuth.md) antes de continuar.

## Formato de las solicitudes
<a name="CWL_OTLP_Format"></a>
+ Método: `POST`
+ Tipo de contenido: o `application/json` `application/x-protobuf`
+ Grupo de registros: solo `x-aws-log-group` encabezado (no se admite el parámetro de consulta)
+ Flujo de registro: `x-aws-log-stream` encabezado

## Ejemplo de solicitud
<a name="CWL_OTLP_Example"></a>

```
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" }
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}'
```

## Respuestas
<a name="CWL_OTLP_Responses"></a>

**Éxito (se aceptan todos los eventos):**

```
HTTP 200 OK
{}
```

**Éxito parcial (algunos eventos rechazados):**

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

Cuando la solicitud es Content-Type`application/x-protobuf`, la respuesta se devuelve como un mensaje `ExportLogsServiceResponse` protobuf serializado con los mismos campos.

## Comportamientos específicos de OTLP
<a name="CWL_OTLP_Specific_Behaviors"></a>

Los siguientes comportamientos son específicos del punto final de OTLP y no están presentes en los otros puntos de enlace de ingestión de HTTP:
+ **Encabezado Retry-After**: se incluye en las respuestas 503 y 429 para indicar cuándo el cliente debe volver a intentarlo.