Tous les produits
Search
Centre de documentation

Simple Log Service:Configuration de sortie des résultats de transformation de données

Dernière mise à jour :Aug 18, 2026

Configurez les destinations de sortie pour les ensembles de données produits par une tâche de transformation de données (nouvelle version), y compris le routage dynamique vers des projets ou des Logstores et l'attribution de clés de hachage au niveau des shards.

Présentation des ensembles de données

Une tâche de transformation de données (nouvelle version) référence les ensembles de données définis dans les règles SPL et les écrit dans une ou plusieurs cibles de sortie. Les ensembles de données nommés sont référencés par leur nom, tandis que les ensembles de données non nommés utilisent l'identifiant __UNNAMED__. Pour plus d'informations sur la définition des ensembles de données dans la syntaxe SPL de Simple Log Service, consultez la rubrique Référence générale.

Exemple

Dans cet exemple, la tâche de transformation de données produit deux ensembles de données : valid et __UNNAMED__.

-- Output unnamed dataset __UNNAMED__
*
| where mode is null;

-- Define named dataset src, do not output
.let src = *
| where mode is not null;

-- Define dataset valid, do not output
.let valid = $src
| where mode = 'a'
| parse-regexp content, '(\S+)\s+(\S+)\s+(\S+)' as x, y, z
| project x, y, z;

-- Output named dataset valid
$valid;

-- Output unnamed dataset __UNNAMED__
$src
| where mode = 'b'
| parse-csv content as u, v
| project u, v;

Sortie dynamique vers un projet ou un Logstore

Utilisez des règles SPL pour router dynamiquement la sortie vers un projet ou un Logstore spécifique. Les champs réservés suivants contrôlent le routage dynamique :

Champ réservé

Description

__tag__:__sls_etl_output_project__

Spécifie le projet de destination pour la sortie dynamique.

__tag__:__sls_etl_output_logstore__

Spécifie le Logstore de destination pour la sortie dynamique.

Avertissement

Ne configurez pas le magasin de destination comme étant le même que le magasin source actuel (configuration same-source). Sinon, les journaux risquent d'être écrits en boucle, ce qui entraîne des coûts de stockage et de trafic supplémentaires. Vous êtes responsable de la consommation des ressources et des coûts encourus.

Exemples

  • Exemple 1 : Spécifiez le projet de destination pour le résultat de la transformation de données comme valeur du champ dst_project.

    | extend "__tag__:__sls_etl_output_project__"=dst_project

  • Exemple 2 : Spécifiez le Logstore de destination pour le résultat de la transformation de données sous forme de chaîne concaténée.

    | extend "__tag__:__sls_etl_output_logstore__"=concat('log-', cast(status as VARCHAR))

Spécification d'une clé de hachage pour la sortie

Utilisez des règles SPL pour spécifier une clé de hachage qui route les résultats de la transformation de données vers un shard spécifique dans un Logstore. Pour plus d'informations sur le routage des shards avec des clés de hachage, consultez la rubrique Écriture de journaux.

__tag__:__sls_etl_output_hash_key__ : Clé de hachage utilisée pour router la sortie vers un shard spécifique dans le Logstore de destination.

Exemple : Restriction de la plage de hachage (recommandé pour la production)

Dans les environnements de production, afin de s'adapter à un nombre fixe de partitions de consommation en aval (telles que 256 ou 1 024), nous vous recommandons de tronquer la valeur de hachage et de la compléter avec un suffixe fixe pour converger les clés de hachage vers une plage spécifique.

Scénario : Convergence vers 256 points d'ancrage de shards fixes

Tronquez le hachage MD5 aux deux premiers caractères et complétez les 30 caractères restants par des zéros. Cela garantit que les données sont toujours écrites sur 256 limites de hachage fixes, quel que soit le volume de données, ce qui facilite le traitement agrégé lors de la transformation des données et améliore l'efficacité du traitement des données.

| extend "__tag__:__sls_etl_output_hash_key__" = concat(substring(to_hex(md5(to_utf8(field))), 1, 2), '000000000000000000000000000000')