Écrit des données de journal dans un logstore spécifié.
Description de l'opération
Le SDK OpenAPI ne prend pas en charge cette opération. Utilisez plutôt le SDK Simple Log Service (SLS).
-
Le service vérifie le format des données de journal pour chaque requête PutLogs. Si une entrée de journal est invalide, l'ensemble de la requête échoue et aucun journal n'est écrit.
-
Cette opération prend uniquement en charge les données de journal au format protobuf. Les données de journal sont structurées sous forme de LogGroup.
-
Les journaux peuvent être écrits selon deux modes :
-
Mode LoadBalance : les données sont automatiquement écrites dans tous les fragments accessibles en écriture d'un logstore. Cette méthode offre une haute disponibilité et convient aux scénarios de consommation de données qui ne nécessitent pas d'ordre spécifique. Syntaxe de la requête :
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 : ajoutez un paramètre de clé à l'URL pour déterminer quel fragment reçoit les données. Ce paramètre est facultatif. Si vous ne définissez pas ce paramètre, le système bascule automatiquement en mode d'équilibrage de charge. Par exemple, épinglez un producteur, tel qu'une instance, à un fragment spécifique en fonction du hachage de son nom. Cela garantit que les données écrites et consommées à partir du fragment sont strictement ordonnées. Lors des opérations de fusion et de division, une clé n'est associée qu'à un seul fragment à un moment donné. Syntaxe de la requête :
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>
-
-
La taille maximale des journaux bruts pour chaque requête PutLogs est de 10 Mo. La valeur de chaque journal dans un groupe de journaux ne doit pas dépasser 1 Mo. Les versions antérieures du SDK peuvent avoir des limites différentes. Mettez à niveau vers la dernière version du SDK.
-
SLS fournit des exemples d'utilisation de PutLogs avec les SDK Java et Python.
Données Protobuf
Cette section décrit les champs pour les données de journal compressées au format protobuf. Pour plus d'informations, consultez Modèle de données et Encodage des données.
Log
| Paramètre | Type de données | Obligatoire | Description |
| Time | Integer | Oui | L'heure du journal. La valeur est un horodatage UNIX qui représente le nombre de secondes écoulées depuis 1970-1-1 00:00:00 UTC. |
| Contents | List | Oui | Une liste de champs de journal. La liste doit contenir au moins un élément. Pour le type d'élément, consultez le tableau Content ci-dessous. |
Content
| Paramètre | Type de données | Obligatoire | Description |
| Key | String | Oui | Le nom de clé personnalisé. |
| Value | String | Oui | La valeur correspondant à la clé personnalisée. |
LogTag
| Paramètre | Type de données | Obligatoire | Description |
| Key | String | Oui | Le nom de clé personnalisé. |
| Value | String | Oui | La valeur correspondant à la clé personnalisée. |
LogGroup
| Paramètre | Type de données | Obligatoire | Description |
| Logs | List | Oui | Une liste de journaux. Pour chaque élément, consultez le tableau Log. |
| Topic | String | Non | Le sujet des journaux. Utilisez ce champ personnalisé pour distinguer les données de journal présentant différentes caractéristiques. |
| Source | String | Non | La source des journaux, telle que l'adresse IP de la machine qui a généré les journaux. |
| LogTags | List | Oui | Une liste de balises de journal. Pour chaque élément, consultez le tableau LogTag. |
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
Syntaxe de la requête
POST /logstores/{logstore}/shards/lb HTTP/1.1
Paramètres de chemin
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| logstore |
string |
Oui |
Le nom du logstore. |
ali-test-logstore |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| project |
string |
Oui |
Le nom du projet. |
ali-test-project |
| x-log-compresstype |
string |
Oui |
Le type de compression des journaux. Valeurs valides : lz4 et gzip. |
lz4 |
| body | LogGroup |
Non |
Les données de journal compressées au format protobuf. |
En-têtes de requête
Pour plus d'informations sur les en-têtes de requête communs des API SLS, consultez En-têtes de requête communs.
Exemple de requête
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>
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
En-têtes de réponse
L'opération PutLogs ne possède pas d'en-têtes de réponse spécifiques. Pour plus d'informations sur les en-têtes de réponse communs des API SLS, consultez En-têtes de réponse communs.
Éléments de réponse
Un code d'état HTTP 200 indique que la requête a réussi. Aucun élément de réponse n'est renvoyé.
Exemples
JSON format
{}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.