Menulis data log ke logstore yang ditentukan.
Deskripsi operasi
OpenAPI SDK tidak mendukung operasi ini. Gunakan Simple Log Service (SLS) SDK sebagai gantinya.
Layanan memeriksa format data log untuk setiap permintaan PutLogs. Jika terdapat entri log yang tidak valid, seluruh permintaan akan gagal dan tidak ada log yang ditulis.
Operasi ini hanya mendukung data log dalam format protobuf. Data log tersebut disusun sebagai LogGroup.
Log dapat ditulis dalam dua mode:
Mode LoadBalance: Data secara otomatis ditulis ke semua shard yang dapat ditulis dalam logstore. Metode ini menyediakan ketersediaan tinggi dan cocok untuk skenario konsumsi data yang tidak memerlukan urutan tertentu. Sintaks permintaan:
POST /logstores/logstoreName/shards/lb HTTP/1.1 Authorization: LOG yourAccessKeyId:yourSignature Content-Type: application/x-protobuf Content-Length: Content Length Content-MD5: Content MD5 Date: GMT Date Host: ProjectName.Endpoint x-log-apiversion: 0.6.0 x-log-bodyrawsize: BodyRawSize x-log-compresstype: lz4 x-log-signaturemethod: hmac-sha1 <Compressed log data in protobuf format>Mode KeyHash: Tambahkan parameter key ke URL untuk menentukan shard mana yang menerima data. Parameter ini bersifat opsional. Jika tidak ditentukan, sistem secara otomatis beralih ke mode load balancing. Misalnya, produsen seperti instans dapat dipetakan ke shard tertentu berdasarkan hash namanya, sehingga memastikan urutan ketat pada data yang ditulis dan dikonsumsi dari shard tersebut. Selama operasi merge dan split, satu key hanya terkait dengan satu shard pada waktu tertentu. Sintaks permintaan:
POST /logstores/logstoreName/shards/route?key=14d2f850ad6ea48e46e4547edbbb27e0 Authorization: LOG yourAccessKeyId:yourSignature Content-Type: application/x-protobuf Content-Length: Content Length Content-MD5: Content MD5 Date: GMT Date Host: ProjectName.Endpoint x-log-apiversion: 0.6.0 x-log-bodyrawsize: BodyRawSize x-log-compresstype: lz4 x-log-signaturemethod: hmac-sha1 <Compressed log data in protobuf format>
Ukuran maksimum log mentah untuk setiap permintaan PutLogs adalah 10 MB. Nilai setiap log dalam kelompok log tidak boleh melebihi 1 MB. Versi SDK lama mungkin memiliki batas yang berbeda; disarankan untuk meningkatkan ke versi SDK terbaru.
SLS menyediakan contoh penggunaan PutLogs dengan SDK Java dan Python.
Data protobuf
Bagian ini menjelaskan bidang-bidang untuk data log terkompresi dalam format protobuf. Untuk informasi lebih lanjut, lihat Data model dan Data encoding.
Log
Parameter | Tipe data | Wajib | Deskripsi |
Time | Integer | Ya | Waktu log. Nilainya merupakan Stempel waktu UNIX yang merepresentasikan jumlah detik sejak 1970-1-1 00:00:00 UTC. |
Contents | List | Ya | Daftar field log. Daftar ini harus berisi setidaknya satu elemen. Untuk tipe elemennya, lihat tabel Content di bawah. |
Content
Parameter | Tipe data | Wajib | Deskripsi |
Key | String | Ya | Nama kunci kustom. |
Value | String | Ya | Nilai yang sesuai dengan kunci kustom tersebut. |
LogTag
Parameter | Tipe data | Wajib | Deskripsi |
Key | String | Ya | Nama kunci kustom. |
Value | String | Ya | Nilai yang sesuai dengan kunci kustom tersebut. |
LogGroup
Parameter | Tipe data | Wajib | Deskripsi |
Logs | List | Ya | Daftar log. Untuk setiap elemen, lihat tabel Log. |
Topic | String | Tidak | Topik log. Gunakan bidang kustom ini untuk membedakan data log dengan fitur yang berbeda. |
Source | String | Tidak | Sumber log, seperti alamat IP mesin yang menghasilkan log tersebut. |
LogTags | List | Ya | Daftar tag log. Untuk setiap elemen, lihat tabel LogTag. |
Coba sekarang
Test
RAM authorization
Sintaks permintaan
POST /logstores/{logstore}/shards/lb HTTP/1.1
Path Parameters
|
Parameter |
Type |
Required |
Description |
Example |
| logstore |
string |
Yes |
Nama logstore. |
ali-test-logstore |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| project |
string |
Yes |
Nama proyek. |
ali-test-project |
| x-log-compresstype |
string |
Yes |
Jenis kompresi log. Nilai yang valid: lz4 dan gzip. |
lz4 |
| body | LogGroup |
No |
Data log terkompresi dalam format protobuf. |
Header permintaan
Untuk informasi mengenai header permintaan umum API SLS, lihat Common request headers.
Contoh permintaan
POST /logstores/sls-test-logstore/shards/lb
{
"Content-Length": 118,
"Content-Type":"application/x-protobuf",
"x-log-bodyrawsize":1356,
"Host": "ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com",
"Content-MD5":"6554BD042149C844761C2C094A8FECCE",
"Date":"Thu, 12 Nov 2015 06:54:26 GMT",
"x-log-apiversion": "0.6.0",
"x-log-compresstype":"lz4"
"x-log-signaturemethod": "hmac-sha1",
"Authorization":"LOG yourAccessKeyId:yourSignature"
}
<Binary data of logs in protobuf format compressed using lz4>
Elemen respons
|
Element |
Type |
Description |
Example |
Tidak ada yang didefinisikan.
Header respons
Operasi PutLogs tidak memiliki header respons khusus. Untuk informasi mengenai header respons umum API SLS, lihat Common response headers.
Elemen respons
Kode status HTTP 200 menunjukkan bahwa permintaan berhasil. Tidak ada elemen respons yang dikembalikan.
Contoh
Respons sukses
JSONformat
{}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.