

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Inserimento di log tramite endpoint HTTP
<a name="CWL_HTTP_Endpoints"></a>

Amazon CloudWatch Logs fornisce endpoint HTTP che consentono di inviare i log direttamente ai CloudWatch log utilizzando semplici richieste HTTP POST. Questi endpoint supportano sia l'autenticazione SigV4 che quella con token bearer.

**Importante**  
Consigliamo di utilizzare l'autenticazione SigV4 per tutti i carichi di lavoro di produzione in cui è possibile l'integrazione con SDK. AWS SigV4 utilizza credenziali a breve termine e offre la posizione di sicurezza più solida. L'autenticazione con token Bearer (chiave API) è destinata a scenari in cui SigV4 non è fattibile, come i log forwarder di terze parti che non supportano l'integrazione SDK. AWS *Per ulteriori informazioni, consulta [Alternative alle chiavi di accesso a lungo termine nella Guida per l'](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-workloads-use-roles)utente IAM.*

CloudWatch Logs supporta i seguenti endpoint di ingestione HTTP:


| Endpoint | Path | Content-Type | Formato | 
| --- | --- | --- | --- | 
| [OpenTelemetry Logs](CWL_HTTP_Endpoints_OTLP.md) | /v1/logs | application/json o application/x-protobuf | JSON OTLP o Protobuf | 
| [HLC Logs](CWL_HLC_Endpoint.md) | /services/collector/event | application/json | Formato HLC | 
| [ND-JSON Logs](CWL_HTTP_Endpoints_NDJSON.md) | /ingest/bulk | application/json o application/x-ndjson | JSON delimitato da nuove righe | 
| [Structured JSON Logs](CWL_HTTP_Endpoints_StructuredJSON.md) | /ingest/json | application/json | oggetto o array JSON | 

## Comportamento comune
<a name="CWL_HTTP_Endpoints_Common"></a>

Tutti gli endpoint di ingestione HTTP condividono il seguente comportamento:

**Autenticazione**

Tutti gli endpoint supportano sia l'autenticazione SigV4 che quella con token bearer:
+ **SigV4 (consigliato)**: firma con firma standard versione 4. AWS Usa SigV4 ogni volta che l'applicazione o l'infrastruttura supporta l' AWS SDK o può firmare richieste. SigV4 utilizza credenziali a breve termine ed è il metodo di autenticazione più sicuro.
+ **Token Bearer**: utilizza l'intestazione. `Authorization: Bearer <ACWL token>`
  + Il token deve essere un token portatore ACWL valido. Per le istruzioni di configurazione, vedere. [Configurazione dell'autenticazione con token al portatore](CWL_HTTP_Endpoints_BearerTokenAuth.md)
  + Richiede le autorizzazioni `logs:PutLogEvents` e `logs:CallWithBearerToken` IAM.

**Gruppo di log e flusso di log**
+ Fornito tramite header: `x-aws-log-group` e `x-aws-log-stream`
+ I parametri di interrogazione `?logGroup=<name>&logStream=<name>` sono supportati anche su tutti gli endpoint tranne OTLP.
+ Non è possibile utilizzare sia i parametri di query che le intestazioni per lo stesso parametro.
+ Sono obbligatori sia il gruppo di log che il flusso di log.

**Risposta**
+ Successo: `HTTP 200` con corpo `{}`
+ Errori di convalida: `HTTP 400`
+ Errori di autenticazione: `HTTP 401`

## Confronto degli endpoint di ingestione HTTP
<a name="CWL_HTTP_Endpoints_Comparison"></a>


| Funzionalità | Registri HLC | Registri ND-JSON | Registri JSON strutturati | OpenTelemetry Registri | 
| --- | --- | --- | --- | --- | 
| Path | /services/collector/event | /ingest/bulk | /ingest/json | /v1/logs | 
| Content-Type | application/json | application/json o application/x-ndjson | application/json | application/json o application/x-protobuf | 
| Campo Timestamp | "time"(secondi) | "timestamp"(millisecondi) | "timestamp"(millisecondi) | "timeUnixNano"(nanosecondi) | 
| Campi obbligatori | "event" | Nessuno | Nessuno | Struttura OTLP () "resourceLogs" | 
| Risposta parziale di successo | No | Sì | Sì | Sì | 
| Supporto per i parametri di interrogazione | Sì  | Sì | Sì | No (solo intestazioni) | 
| Metadati dell'entità | Sì  | Sì | Sì | No | 
| Accetta primitive | No | Sì | No | No | 
| Analisi basata su linee | No | Sì | No | No | 
| Supporto Protobuf | No | No | No | Sì | 
| Intestazione Retry-After | No | No | No | Sì | 

## Scelta di un endpoint
<a name="CWL_HTTP_Endpoints_Choosing"></a>
+ **Stai usando il formato HLC?** Usa i registri HLC. I tuoi payload HLC esistenti funzionano con modifiche minime.
+ **Registri di streaming line-by-line?** Usa i registri ND-JSON. Ideale per pipeline di log che emettono un evento per riga. Il più flessibile: accetta qualsiasi tipo di valore JSON.
+ **Invio di payload JSON strutturati?** Usa log JSON strutturati. Ideale per applicazioni che producono oggetti o array JSON ben formati.
+ **Lo stai già utilizzando? OpenTelemetry** Usa OpenTelemetry i registri. Accetta il formato OTLP JSON o Protobuf e supporta risposte di successo parziali con semantica dei tentativi.