

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Log konsumsi melalui titik akhir HTTP
<a name="CWL_HTTP_Endpoints"></a>

Amazon CloudWatch Logs menyediakan endpoint HTTP yang memungkinkan Anda mengirim log langsung ke CloudWatch Log menggunakan permintaan HTTP POST sederhana. Titik akhir ini mendukung otentikasi token sigV4 dan pembawa.

**penting**  
Sebaiknya gunakan otentikasi SiGv4 untuk semua beban kerja produksi yang memungkinkan integrasi AWS SDK. SiGv4 menggunakan kredensil jangka pendek dan memberikan postur keamanan terkuat. Otentikasi token pembawa (kunci API) ditujukan untuk skenario di mana SigV4 tidak layak, seperti penerusan log pihak ketiga yang tidak mendukung integrasi SDK. AWS Untuk informasi selengkapnya, lihat [Alternatif untuk kunci akses jangka panjang](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-workloads-use-roles) di *Panduan Pengguna IAM*.

CloudWatch Log mendukung titik akhir konsumsi HTTP berikut:


| Titik akhir | Jalan | Content-Type | Format | 
| --- | --- | --- | --- | 
| [OpenTelemetry Logs](CWL_HTTP_Endpoints_OTLP.md) | /v1/logs | application/json atau application/x-protobuf | OTLP JSON atau Protobuf | 
| [HLC Logs](CWL_HLC_Endpoint.md) | /services/collector/event | application/json | Format HLC | 
| [ND-JSON Logs](CWL_HTTP_Endpoints_NDJSON.md) | /ingest/bulk | application/json atau application/x-ndjson | JSON yang dibatasi baris baru | 
| [Structured JSON Logs](CWL_HTTP_Endpoints_StructuredJSON.md) | /ingest/json | application/json | JSON objek atau array | 

## Perilaku umum
<a name="CWL_HTTP_Endpoints_Common"></a>

Semua titik akhir konsumsi HTTP berbagi perilaku berikut:

**Autentikasi**

Semua titik akhir mendukung otentikasi SIgV4 dan token pembawa:
+ **SiGv4 (disarankan)** - AWS Penandatanganan Versi Tanda Tangan Standar 4. Gunakan SiGv4 setiap kali aplikasi atau infrastruktur Anda mendukung AWS SDK atau dapat menandatangani permintaan. SiGv4 menggunakan kredensil jangka pendek dan merupakan metode otentikasi yang paling aman.
+ **Token pembawa** — Gunakan `Authorization: Bearer <ACWL token>` header.
  + Token harus berupa token pembawa ACWL yang valid. Untuk petunjuk penyiapan, lihat[Menyiapkan otentikasi token pembawa](CWL_HTTP_Endpoints_BearerTokenAuth.md).
  + Memerlukan izin `logs:PutLogEvents` dan `logs:CallWithBearerToken` IAM.

**Grup log dan aliran log**
+ Disediakan melalui header: `x-aws-log-group` dan `x-aws-log-stream`
+ Parameter kueri juga `?logGroup=<name>&logStream=<name>` didukung pada semua titik akhir kecuali OTLP.
+ Anda tidak dapat menggunakan parameter kueri dan header untuk parameter yang sama.
+ Baik grup log dan aliran log diperlukan.

**Respons**
+ Sukses: `HTTP 200` dengan tubuh `{}`
+ Kesalahan validasi: `HTTP 400`
+ Kegagalan autentikasi: `HTTP 401`

## Perbandingan titik akhir konsumsi HTTP
<a name="CWL_HTTP_Endpoints_Comparison"></a>


| Fitur | Log HLC | Log ND-JSON | Log JSON Terstruktur | OpenTelemetry Log | 
| --- | --- | --- | --- | --- | 
| Jalan | /services/collector/event | /ingest/bulk | /ingest/json | /v1/logs | 
| Content-Type | application/json | application/json atau application/x-ndjson | application/json | application/json atau application/x-protobuf | 
| Bidang stempel waktu | "time"(detik) | "timestamp"(milidetik) | "timestamp"(milidetik) | "timeUnixNano"(nanodetik) | 
| Bidang yang diperlukan | "event" | Tidak ada | Tidak ada | Struktur OTLP () "resourceLogs" | 
| Respon keberhasilan sebagian | Tidak | Ya | Ya | Ya | 
| Dukungan parameter kueri | Ya | Ya | Ya | Tidak (hanya header) | 
| Metadata entitas | Ya | Ya | Ya | Tidak | 
| Menerima primitif | Tidak | Ya | Tidak | Tidak | 
| Penguraian berbasis garis | Tidak | Ya | Tidak | Tidak | 
| Dukungan Protobuf | Tidak | Tidak | Tidak | Ya | 
| Retry-After header | Tidak | Tidak | Tidak | Ya | 

## Memilih titik akhir
<a name="CWL_HTTP_Endpoints_Choosing"></a>
+ **Menggunakan format HLC?** Gunakan Log HLC. Muatan HLC Anda yang ada berfungsi dengan sedikit perubahan.
+ ** line-by-lineLog streaming?** Gunakan Log ND-JSON. Terbaik untuk saluran pipa log yang memancarkan satu peristiwa per baris. Paling fleksibel - menerima jenis nilai JSON apa pun.
+ **Mengirim muatan JSON terstruktur?** Gunakan Log JSON Terstruktur. Terbaik untuk aplikasi yang menghasilkan objek atau array JSON yang terbentuk dengan baik.
+ **Sudah menggunakan OpenTelemetry?** Gunakan OpenTelemetry Log. Menerima format OTLP JSON atau Protobuf dan mendukung respons keberhasilan sebagian dengan semantik coba lagi.