すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Simple Log Service SDK for Javaを使用したLogstoreの管理

最終更新日:Sep 04, 2024

Simple Log ServiceのLogstoreは、データの収集、保存、およびクエリに使用される単位です。 各Logstoreはプロジェクトに属します。 1つのプロジェクトに複数のLogstoreを作成できます。 このトピックでは、Simple Log Service SDK for Javaを使用してLogstoreを作成、変更、クエリ、および削除する方法について説明し、サンプルコードを提供します。

前提条件

  • RAM (Resource Access Management) ユーザーが作成され、必要な権限がRAMユーザーに付与されます。 詳細については、「RAMユーザーの作成とRAMユーザーへの権限付与」をご参照ください。

  • ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されています。 詳細については、「環境変数の設定」をご参照ください。

    重要
    • Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。

    • プロジェクトコードにAccessKey IDまたはAccessKey secretを保存しないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。

  • Simple Log Service SDK for Javaがインストールされています。 詳細については、「Simple Log Service SDK For Javaのインストール」をご参照ください。

使用上の注意

この例では、中国 (杭州) リージョンのパブリックSimple Log Serviceエンドポイントが使用されています。これは https://cn-hangzhou.log.aliyuncs.com です。 プロジェクトと同じリージョンにある他のAlibaba Cloudサービスを使用してSimple Log Serviceにアクセスする場合は、内部のSimple Log Serviceエンドポイント ( https://cn-hangzhou-intranet.log.aliyuncs.com ) を使用できます。 Simple Log Serviceのサポートされているリージョンとエンドポイントの詳細については、「エンドポイント」をご参照ください。

Logstoreの作成に使用されるサンプルコード

次のサンプルコードは、ali-test-Logstoreという名前のlogstoreを作成する方法の例を示しています。

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogStore;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.request.CreateLogStoreRequest;

public class CreateLogstore {
    public static void main(String[] args) throws LogException {
        // In this example, the AccessKey ID and AccessKey secret are obtained from environment variables. 
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // The name of the project. 
        String projectName = "ali-test-project";
        // The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // Create a Simple Log Service client. 
        Client client = new Client(host, accessId, accessKey);

        try {
            // The name of the Logstore. 
            String logstoreName = "ali-test-logstore";
            System.out.println("ready to create logstore");

            // Create a Logstore whose data retention period is 60 days and number of shards is 2, and enable the web tracking feature. 
            LogStore logStore = new LogStore(logstoreName, 60, 2, true);
            // Enable the automatic sharding feature. 
            logStore.setmAutoSplit(true);
            // Set the maximum number of shards into which existing shards can be automatically split to 64. 
            logStore.setmMaxSplitShard(64);
            // Record public IP addresses. 
            logStore.setAppendMeta(true);
            // Set the data retention period of the hot storage tier in the Logstore to 30 days. 
            logStore.setHotTTL(30);
            // Set the Logstore type to Standard. 
            logStore.setMode("standard");

            CreateLogStoreRequest request = new CreateLogStoreRequest(projectName, logStore);
            // Create a Logstore. 
            client.CreateLogStore(request);

            System.out.println(String.format("create logstore %s success", logstoreName));

        } catch (LogException e) {
            System.out.println("LogException e :" + e.toString());
            System.out.println("error code :" + e.GetErrorCode());
            System.out.println("error message :" + e.GetErrorMessage());
            throw e;
        }
    }
}

次のレスポンスは、期待される出力を示します。

ready to create logstore
create logstore ali-test-logstore success

Logstoreの変更に使用されるサンプルコード

次のサンプルコードは、ali-test-logstore Logstoreの設定を変更する方法の例を示しています。

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogStore;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.request.UpdateLogStoreRequest;

public class UpdateLogstore {
    public static void main(String[] args) throws LogException {
        // In this example, the AccessKey ID and AccessKey secret are obtained from environment variables. 
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // The name of the project. 
        String projectName = "ali-test-project";
        // The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // Create a Simple Log Service client. 
        Client client = new Client(host, accessId, accessKey);

        try {
            // The name of the Logstore. 
            String logstoreName = "ali-test-logstore";
            System.out.println("ready to update logstore");

            // Change the data retention period of the hot storage tier in the Logstore to 45 days. 
            LogStore logStore = new LogStore(logstoreName, 60, 2, true);
            logStore.setHotTTL(45);

            UpdateLogStoreRequest request = new UpdateLogStoreRequest(projectName, logStore);
            // Update the Logstore. 
            client.UpdateLogStore(request);

            System.out.println(String.format("update logstore %s success", logstoreName));

        } catch (LogException e) {
            System.out.println("LogException e :" + e.toString());
            System.out.println("error code :" + e.GetErrorCode());
            System.out.println("error message :" + e.GetErrorMessage());
            throw e;
        }
    }
}

次のレスポンスは、期待される出力を示します。

ready to update logstore
update logstore ali-test-logstore success

すべてのLogstoreのクエリに使用されるサンプルコード

次のサンプルコードは、指定したプロジェクト内のすべてのLogstoreをクエリする方法の例を示しています。

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.request.ListLogStoresRequest;
import com.aliyun.openservices.log.response.ListLogStoresResponse;

public class ListLogstore {

    public static void main(String[] args) throws LogException {
        // In this example, the AccessKey ID and AccessKey secret are obtained from environment variables. 
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // The name of the project. 
        String projectName = "ali-test-project";
        // The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // Create a Simple Log Service client. 
        Client client = new Client(host, accessId, accessKey);

        try {
            System.out.println("ready to list logstore");

            // Query 10 Logstores. 
            ListLogStoresRequest request = new ListLogStoresRequest(projectName, 0, 10, "", "None");

            ListLogStoresResponse response = client.ListLogStores(request);

            for (String logStore : response.GetLogStores()) {
                System.out.println(logStore.toString());
            }
        } catch (LogException e) {
            System.out.println("LogException e :" + e.toString());
            System.out.println("error code :" + e.GetErrorCode());
            System.out.println("error message :" + e.GetErrorMessage());
            throw e;
        }
    }
}

次のレスポンスは、期待される出力を示します。

ログストアを一覧表示する

ready to list logstore
ali-test-logstore

特定のLogstoreのクエリに使用されるサンプルコード

次のサンプルコードは、特定のLogstoreに関する情報を照会する方法の例を示しています。

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.request.GetLogStoreRequest;
import com.aliyun.openservices.log.response.GetLogStoreResponse;

public class GetLogstore {

    public static void main(String[] args) throws LogException {
        // In this example, the AccessKey ID and AccessKey secret are obtained from environment variables. 
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // The name of the project. 
        String projectName = "ali-test-project";
        // The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // Create a Simple Log Service client. 
        Client client = new Client(host, accessId, accessKey);

        try {
            // The name of the Logstore. 
            String logStoreName = "ali-test-logstore";
            System.out.println("ready to get logstore");

            // Query the specified Logstore. 
            GetLogStoreRequest request = new GetLogStoreRequest(projectName, logStoreName);

            GetLogStoreResponse response = client.GetLogStore(request);

            System.out.println("The Logstore name is : " + response.GetLogStore().GetLogStoreName());

        } catch (LogException e) {
            System.out.println("LogException e :" + e.toString());
            System.out.println("error code :" + e.GetErrorCode());
            System.out.println("error message :" + e.GetErrorMessage());
            throw e;
        }
    }
}

次のレスポンスは、期待される出力を示します。

ready to get logstore
The Logstore name is : ali-test-logstore

Logstoreの削除に使用されるサンプルコード

次のサンプルコードは、ali-test-logstore Logstoreを削除する方法の例を示しています。

重要
  • Logstoreを削除すると、Logstore内のすべてのデータが削除され、復元できなくなります。 作業は慎重に行ってください。

  • Logstoreを削除する前に、Logstoreに関連付けられているすべてのLogtail設定を削除する必要があります。

  • Logstoreでログ配布機能が有効になっている場合は、Logstoreへのデータの書き込みを停止し、Logstoreを削除する前にLogstore内のすべてのデータが配布されていることを確認することをお勧めします。

  • Alibaba CloudアカウントでLogstoreを削除する権限がない場合は、 ticket を使用してLogstoreを削除します。

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.exception.LogException;

public class DeleteLogstore {

    public static void main(String[] args) throws LogException {
        // In this example, the AccessKey ID and AccessKey secret are obtained from environment variables. 
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // The name of the project. 
        String projectName = "ali-test-project";
        // The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // Creates a Simple Log Service client. 
        Client client = new Client(host, accessId, accessKey);

        try {
            // The name of the Logstore. 
            String logStoreName = "ali-test-logstore";
            System.out.println("ready to delete logstore");

            // Delete the specified Logstore. 
            client.DeleteLogStore(projectName,logStoreName);
            System.out.println(String.format("delete logstore %s success", logStoreName));

        } catch (LogException e) {
            System.out.println("LogException e :" + e.toString());
            System.out.println("error code :" + e.GetErrorCode());
            System.out.println("error message :" + e.GetErrorMessage());
            throw e;
        }
    }
}

次のレスポンスは、期待される出力を示します。

ready to delete logstore
delete logstore ali-test-logstore success

関連ドキュメント

  • Alibaba Cloud OpenAPI Explorerは、デバッグ機能、SDK、サンプル、および関連ドキュメントを提供します。 OpenAPI Explorerを使用して、リクエストを手動でカプセル化したり署名したりすることなく、Simple Log Service API操作をデバッグできます。 詳細については、をご覧ください。 OpenAPIポータル

  • Simple Log Serviceは、Simple Log Serviceの自動設定の要件を満たすコマンドラインインターフェイス (CLI) を提供します。 詳細については、「Simple Log Service CLI」をご参照ください。

  • Logstore関連のAPI操作の詳細については、以下のトピックを参照してください。

  • サンプルコードの詳細については、GitHubの「Alibaba Cloud Simple Log Service SDK For Java」をご参照ください。