Tous les produits
Search
Centre de documentation

Simple Log Service:Extraire des données d'un Logstore pour enrichir les journaux d'un autre Logstore

Dernière mise à jour :Sep 11, 2026

Cette rubrique explique comment utiliser les fonctions de ressource pour récupérer des données depuis un autre Logstore afin d'enrichir vos journaux.

Informations générales

Un hôtel stocke les informations personnelles de ses clients dans un Logstore nommé user_logstore et les informations d'enregistrement dans un Logstore nommé check-in_logstore. L'hôtel souhaite extraire certains champs du check-in_logstore et les joindre aux données du user_logstore. À cette fin, Simple Log Service met à disposition la fonction res_log_logstore_pull pour récupérer les données du check-in_logstore, ainsi que la fonction e_table_map pour enrichir les données.

Joindre les journaux de différents Logstores

  • Données brutes

    • Logstore contenant les informations personnelles (user_logstore)

      topic:xxx
      city:xxx
      cid:12345
      name:maki
      
      topic:xxx
      city:xxx
      cid:12346
      name:vicky
      
      topic:xxx
      city:xxx
      cid:12347
      name:mary
    • Logstore contenant les informations d'enregistrement (check-in_logstore)

      time:1567038284
      status:check in
      cid:12345
      name:maki
      room_number:1111
      
      time:1567038284
      status:check in
      cid:12346
      name:vicky
      room_number:2222
      
      time:1567038500
      status:check in
      cid:12347
      name:mary
      room_number:3333
      
      time:1567038500
      status:leave
      cid:12345
      name:maki
      room_number:1111
  • Règle de transformation

    Remarque

    La fonction res_log_logstore_pull permet de définir une plage horaire. Vous pouvez spécifier un intervalle de temps ou uniquement une heure de début.

    • Dans la règle de transformation, le paramétrage from_time=1567038284,to_time=1567038500 récupère uniquement les données du Logstore comprises dans cette plage horaire.

    • Dans la règle de transformation, le paramétrage from_time="begin" récupère en continu les données du Logstore.

    Pour plus d'informations sur les paramètres de la fonction res_log_logstore_pull, consultez la documentation relative à res_log_logstore_pull.

    • Fonction e_table_map

      Cette fonction fait correspondre les journaux en se basant sur le champ commun cid présent dans les deux Logstores. La correspondance aboutit uniquement si les valeurs du champ cid sont identiques. En cas de succès, le champ room_number et sa valeur sont renvoyés depuis le check-in_logstore et joints aux données du user_logstore pour générer de nouvelles données.

      e_table_map(res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, 
              fields=["cid","room_number"],
              from_time="begin",
              ), "cid","room_number")
  • Résultat de la transformation

    • Fonction e_table_map

      topic:xxx
      city:xxx
      cid:12345
      name:maki
      room_nuber:1111
      
      topic:xxx
      city:xxx
      cid:12346
      name:vicky
      room_number:2222
      
      topic:xxx
      city:xxx
      cid:12347
      name:mary
      room_number:3333

Filtrer les données à l'aide de listes d'autorisation et de listes de blocage

Configurer une liste d'autorisation

  • Règle de transformation

    Utilisez le paramètre fetch_include_data pour configurer une liste d'autorisation. Par exemple, fetch_include_data="room_number:1111" récupère uniquement les données dont la valeur du champ room_number est 1111.

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_include_data="room_number:1111")
  • Données récupérées

    status: check in
    cid:12345
    name:maki
    room_number:1111
    
    status:leave
    cid:12345
    name:maki
    room_number:1111

Configurer une liste de blocage

  • Règle de transformation

    Utilisez le paramètre fetch_exclude_data pour configurer une liste de blocage. Par exemple, fetch_exclude_data="room_number:1111" exclut les données dont la valeur du champ room_number est 1111.

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_exclude_data="room_number:1111")
  • Données récupérées

    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    status:check in
    cid:12347
    name:mary
    room_number:3333

Configurer simultanément une liste de blocage et une liste d'autorisation

  • Règle de transformation

    Lorsque vous configurez à la fois une liste de blocage et une liste d'autorisation, la liste de blocage s'applique en premier, suivie de la liste d'autorisation. Par exemple, fetch_exclude_data="time:1567038285",fetch_include_data="status:check in" exclut d'abord les données dont la valeur time est 1567038285. Ensuite, elle récupère les données dont la valeur du statut est 'check in'.

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_exclude_data="time:1567038285",fetch_include_data="status:check in")
  • Données récupérées

    status:check in
    cid:12345
    name:maki
    room_number:1111
    
    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    status:check in
    cid:12347
    name:mary
    room_number:3333

Activer la gestion des clés primaires pour récupérer des données depuis le Logstore de destination

Si vous souhaitez supprimer les données récupérées avant leur transformation, activez la fonctionnalité de gestion des clés primaires. Par exemple, vous pouvez vouloir récupérer les informations d'enregistrement des clients qui se sont enregistrés mais n'ont pas encore effectué leur départ depuis le check-in_logstore. Si les données récupérées contiennent status:leave, cela indique que le client a effectué son départ. Définissez le paramètre primary_keys de la fonction res_log_logstore_pull pour spécifier une clé primaire et empêcher la transformation de ces données.

Remarque
  • Le paramètre primary_keys accepte uniquement une chaîne unique, laquelle doit également être spécifiée dans le paramètre fields.

  • Lorsque vous activez la gestion des clés primaires, le Logstore depuis lequel les données sont extraites ne doit comporter qu'un seul shard.

  • Lorsque vous activez la gestion des clés primaires, le paramètre delete_data ne peut pas être défini sur None.

  • Règle de transformation

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status","time"],from_time=1567038284,to_time=None,primary_keys="cid",delete_data="status:leave")
  • Données récupérées

    Pour le client dont le name est maki, le statut final est status:leave. Cela indique que le client a effectué son départ. Par conséquent, les données relatives à ce client ne sont pas transformées.

    time:1567038284
    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    time:1567038500
    status:check in
    cid:12347
    name:mary
    room_number:3333