Téléchargez un fichier CSV local vers Simple Log Service à l'aide du SDK Python, puis exécutez des requêtes fédérées pour joindre les données de journal d'un Logstore aux données CSV afin d'enrichir vos analyses.
Prérequis
Vous avez collecté des données de journal dans un Logstore. Pour plus d'informations, consultez la rubrique Présentation de la collecte de données.
Vous avez configuré des index pour le Logstore. Pour plus d'informations, consultez la rubrique Créer des index.
Vous avez préparé un fichier CSV local contenant les métadonnées externes à joindre à vos données de journal.
-
Vous avez installé le SDK Python de Simple Log Service. Pour plus d'informations, consultez la rubrique Installer le SDK Python de Simple Log Service.
Simple Log Service nécessite la version 0.7.3 ou ultérieure d'aliyun-log-python-sdk. Pour mettre à niveau le SDK, exécutez la commande pip install aliyun-log-python-sdk -U.
Limites
Chaque Logstore ne peut être associé qu'à un seul fichier CSV à la fois.
Le fichier CSV original ne doit pas dépasser 50 Mo. Le SDK compresse le fichier avant de le télécharger vers Simple Log Service. La taille du fichier compressé doit être inférieure à 9,9 Mo.
Exemple de données
Dans cet exemple, un Logstore enregistre les événements de connexion des utilisateurs et un fichier CSV stocke les profils utilisateur, tels que le sexe et l'âge. Après avoir associé le Logstore au fichier CSV, vous pouvez analyser l'activité des utilisateurs en fonction d'attributs démographiques.
-
Logstore
userid:100001 action:login __time__:1637737306 Fichier CSV

Procédure
-
Créez un ExternalStore à l'aide du SDK Python.
Pour plus d'informations sur le SDK Python, consultez la rubrique Présentation du SDK Python.
from aliyun.log import * # Specify the Simple Log Service endpoint for your region. endpoint='cn-shanghai.log.aliyuncs.com' # Specify the AccessKey pair for authentication. accessKeyId='test-project' accessKey='TAI****YDw' # Specify the project name and ExternalStore name. project='lr****VM' ext_logstore='user_meta' # Specify the path to the local CSV file. csv_file='./user.csv' client = LogClient(endpoint, accessKeyId, accessKey) # Create the ExternalStore by defining the table schema. res = client.create_external_store(project, ExternalStoreCsvConfig(ext_logstore, csv_file, [ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, {"name" : "age", "type" : "bigint"} ])) res.log_print()Paramètre
Description
endpoint
Endpoint de Simple Log Service dans la région où réside votre projet. Pour plus d'informations, consultez la rubrique Endpoint.
accessKeyId
ID de la paire AccessKey de votre compte Alibaba Cloud. Pour plus d'informations, consultez la rubrique Paire AccessKey.
AvertissementNous vous recommandons d'utiliser la paire AccessKey d'un utilisateur RAM afin de minimiser les risques de fuite.
accessKey
Secret AccessKey de votre compte Alibaba Cloud. Pour plus d'informations, consultez la rubrique Paire AccessKey.
project
Nom du projet contenant le Logstore de destination.
ext_logstore
Nom de l'ExternalStore, qui sert également de nom de table virtuelle pour les requêtes SQL. Le nom doit respecter les exigences suivantes :
-
Le nom ne peut contenir que des lettres minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).
-
Le nom doit commencer et se terminer par une lettre minuscule ou un chiffre.
-
La longueur du nom doit être comprise entre 3 et 63 caractères.
csv_file
Chemin d'accès au fichier CSV local que vous souhaitez télécharger.
Schéma de table
Schéma de la table virtuelle, qui définit les noms de colonne et les types de données. Modifiez les définitions de colonne en fonction de votre fichier CSV.
[ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, {"name" : "age", "type" : "bigint"} ] -
Connectez-vous à la console Simple Log Service.
-
Dans la section Projets, cliquez sur le projet souhaité.

-
Sous l'onglet , cliquez sur le Logstore souhaité.

-
Vérifiez la création de l'ExternalStore.
Exécutez l'instruction de requête suivante. Remplacez
user_metapar le nom de votre ExternalStore.* | SELECT * FROM user_metaSi la requête renvoie le contenu du fichier CSV, l'ExternalStore est créé.

-
Exécutez une requête fédérée pour joindre le Logstore au fichier CSV.
L'exemple suivant joint le champ userid du Logstore au champ userid du fichier CSV. Dans cet exemple,
website_logcorrespond au nom du Logstore etuser_metaau nom de l'ExternalStore. Remplacez ces valeurs par vos propres noms.* | SELECT * FROM website_log JOIN user_meta ON website_log.userid = user_meta.userid