Tous les produits
Search
Centre de documentation

Simple Log Service:Guide de démarrage rapide du SDK Python

Dernière mise à jour :Aug 27, 2026

Créez un projet et un Logstore, écrivez des journaux et interrogez-les à l'aide du SDK Python Simple Log Service.

Prérequis

  • Un utilisateur RAM disposant des autorisations requises. Créer un utilisateur RAM et lui accorder des autorisations.

  • Les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET sont configurées. Configurer les variables d'environnement sous Linux, macOS et Windows.

    Important

    Une paire AccessKey associée à un compte Alibaba Cloud accorde des autorisations complètes pour toutes les opérations API. Utilisez la paire AccessKey d'un utilisateur RAM pour les appels API ou les tâches courantes d'exploitation et de maintenance.

    Ne codez pas en dur votre AccessKey ID et votre AccessKey Secret dans le code de votre projet. Le codage en dur des identifiants peut entraîner une exposition accidentelle, compromettant ainsi la sécurité de toutes les ressources de votre compte.

  • Le SDK Python Simple Log Service est installé. Installer le SDK Simple Log Service pour Python.

Exemples

  • Écrire du code Python pour collecter des journaux

    Créez le fichier SLSQuickStart.py. Ce script crée un projet, un Logstore et un index, écrit des journaux et exécute une requête :

    from aliyun.log import LogClient, PutLogsRequest, LogItem, GetLogsRequest, IndexConfig
    import time
    import os
    
    # This example retrieves the AccessKey ID and AccessKey Secret from environment variables.
    accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
    accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
    # The endpoint for Simple Log Service. This example uses the endpoint for the China (Hangzhou) region. Replace it with your actual endpoint.
    endpoint = "cn-hangzhou.log.aliyuncs.com" 
    
    # Create a Simple Log Service client. 
    client = LogClient(endpoint, accessKeyId, accessKey)
    
    # The name of the project.
    project_name = "aliyun-test-project"
    # The name of the Logstore.
    logstore_name = "aliyun-test-logstore"
    # The query statement.
    query = "*| select dev,id from " + logstore_name
    # The index configuration.
    logstore_index = {'line': {
        'token': [',', ' ', "'", '"', ';', '=', '(', ')', '[', ']', '{', '}', '?', '@', '&', '<', '>', '/', ':', '\n', '\t',
                  '\r'], 'caseSensitive': False, 'chn': False}, 'keys': {'dev': {'type': 'text',
                                                                                 'token': [',', ' ', "'", '"', ';', '=',
                                                                                           '(', ')', '[', ']', '{', '}',
                                                                                           '?', '@', '&', '<', '>', '/',
                                                                                           ':', '\n', '\t', '\r'],
                                                                                 'caseSensitive': False, 'alias': '',
                                                                                 'doc_value': True, 'chn': False},
                                                                         'id': {'type': 'long', 'alias': '',
                                                                                'doc_value': True}}, 'log_reduce': False,
        'max_text_len': 2048}
    
    # The from_time and to_time parameters specify the time range for the query, in Unix timestamp format.
    from_time = int(time.time()) - 3600
    to_time = time.time() + 3600
    
    # Create a project.
    def create_project():
        print("ready to create project %s" % project_name)
        client.create_project(project_name, project_des="")
        print("create project %s success " % project_name)
        time.sleep(60)
    
    # Create a Logstore.
    def create_logstore():
        print("ready to create logstore %s" % logstore_name)
        client.create_logstore(project_name, logstore_name, ttl=3, shard_count=2)
        print("create logstore %s success " % project_name)
        time.sleep(30)
    
    # Create an index.
    def create_index():
        print("ready to create index for %s" % logstore_name)
        index_config = IndexConfig()
        index_config.from_json(logstore_index)
        client.create_index(project_name, logstore_name, index_config)
        print("create index for %s success " % logstore_name)
        time.sleep(60 * 2)
    
    # Write data to the Logstore.
    def put_logs():
        print("ready to put logs for %s" % logstore_name)
        log_group = []
        for i in range(0, 100):
            log_item = LogItem()
            contents = [
                ('dev', 'test_put'),
                ('id', str(i))
            ]
            log_item.set_contents(contents)
            log_group.append(log_item)
        request = PutLogsRequest(project_name, logstore_name, "", "", log_group, compress=False)
        client.put_logs(request)
        print("put logs for %s success " % logstore_name)
        time.sleep(60)
    
    # Query logs.
    def get_logs():
        print("ready to query logs from logstore %s" % logstore_name)
        request = GetLogsRequest(project_name, logstore_name, from_time, to_time, query=query)
        response = client.get_logs(request)
        for log in response.get_logs():
            for k, v in log.contents.items():
                print("%s : %s" % (k, v))
            print("*********************")
    
    if __name__ == '__main__':
        # Create a project.
        create_project()
        # Create a Logstore.
        create_logstore()
        # Create an index.
        create_index()
        # Write data to the Logstore.
        put_logs()
        # Query logs.
        get_logs()

    Exemple de sortie :

    ready to create project aliyun-test-project
    create project aliyun-test-project success
    ready to create logstore aliyun-test-logstore
    create logstore aliyun-test-project success
    ready to create index for aliyun-test-logstore
    create index for aliyun-test-logstore success
    ready to put logs for aliyun-test-logstore
    put logs for aliyun-test-logstore success
    ready to query logs from logstore aliyun-test-logstore
    dev : test_put
    id : 0
    *********************
    dev : test_put
    id : 1
    *********************
    dev : test_put
    id : 2
    *********************
    dev : test_put
    id : 3
    *********************
    ........

    Le dépôt GitHub aliyun-log-python-sdk contient davantage d'exemples.

  • Utiliser Logtail pour collecter des journaux Python

    Collectez des journaux depuis le module de journalisation Python avec Logtail. Collecter des journaux Python.

Références