详情页标题前

阿里云日志服务SLS使用Java SDK管理日志库Logstore-云淘科技

详情页1

日志库(Logstore)是日志服务中数据的采集、存储和查询单元。每个Logstore隶属于一个Project,每个Project中可创建多个Logstore。本文通过代码示例介绍如何创建、修改、查询、删除Logstore等。

前提条件

  • 已创建RAM用户并完成授权。具体操作,请参见创建RAM用户并完成授权。

  • 已配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET。具体操作,请参见配置环境变量。

    重要

    • 阿里云账号的AccessKey拥有所有API的访问权限,建议您使用RAM用户的AccessKey进行API访问或日常运维。

    • 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  • 已安装日志服务Java SDK。具体操作,请参见安装Java SDK。

注意事项

本示例以华东1(杭州)的公网Endpoint为例,其公网Endpoint为https://cn-hangzhou.log.aliyuncs.com。如果您通过与Project同地域的其他阿里云产品访问日志服务,请使用内网Endpointhttps://cn-hangzhou-intranet.log.aliyuncs.com。关于日志服务支持的地域与Endpoint的对应关系,请参见服务入口。

创建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 {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 输入Project名称。
        String projectName = "ali-test-project";
        // 设置日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // 创建日志服务Client。
        Client client = new Client(host, accessId, accessKey);

        try {
            // 输入Logstore名称。
            String logstoreName = "ali-test-logstore";
            System.out.println("ready to create logstore");

            // 创建Logstore,数据保存时间为60天,2个Shard,开启WebTracking功能。
            LogStore logStore = new LogStore(logstoreName, 60, 2, true);
            // 开启Shard自动分裂。
            logStore.setmAutoSplit(true);
            // 设置Shard自动分裂最大数为64。
            logStore.setmMaxSplitShard(64);
            // 开启记录外网IP地址功能。
            logStore.setAppendMeta(true);
            // 设置数据在Logstore热存储层中的存储时间为30天。
            logStore.setHotTTL(30);
            // 设置Logstore类型为standard。
            logStore.setMode("standard");

            CreateLogStoreRequest request = new CreateLogStoreRequest(projectName, logStore);
            // 创建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 {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 输入Project名称。
        String projectName = "ali-test-project";
        // 设置日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // 创建日志服务Client。
        Client client = new Client(host, accessId, accessKey);

        try {
            // 输入Logstore名称。
            String logstoreName = "ali-test-logstore";
            System.out.println("ready to update logstore");

            // 更新数据在Logstore热存储层中的存储时间为45天。
            LogStore logStore = new LogStore(logstoreName, 60, 2, true);
            logStore.setHotTTL(45);

            UpdateLogStoreRequest request = new UpdateLogStoreRequest(projectName, logStore);
            // 更新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示例代码

以下代码用于查询目标Project下的所有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 {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 输入Project名称。
        String projectName = "ali-test-project";
        // 设置日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // 创建日志服务Client。
        Client client = new Client(host, accessId, accessKey);

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

            // 查询10个Logstore。
            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 {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 输入Project名称。
        String projectName = "ali-test-project";
        // 设置日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        // 创建日志服务Client。
        Client client = new Client(host, accessId, accessKey);

        try {
            // 输入Logstore名称。
            String logStoreName = "ali-test-logstore";
            System.out.println("ready to get logstore");

            // 查询指定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前需先删除其对应的所有Logtail配置。

  • 如果该Logstore上还启用了日志投递,建议删除前停止向该Logstore写入新数据,并确认Logstore中已有的数据已经全部投递成功。

  • 如果您使用阿里云账号删除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 {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 输入Project名称。
        String projectName = "ali-test-project";
        // 设置日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
        String host = "https://cn-hangzhou.log.aliyuncs.com";

        //创建日志服务Client。
        Client client = new Client(host, accessId, accessKey);

        try {
            // 输入Logstore名称。
            String logStoreName = "ali-test-logstore";
            System.out.println("ready to delete logstore");

            // 删除指定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

相关文档

  • 阿里云OpenAPI开发者门户提供调试、SDK、示例和配套文档。通过OpenAPI,您无需手动封装请求和签名操作,就可以快速对日志服务API进行调试。更多信息,请参见OpenAPI开发者门户。

  • 为满足越来越多的自动化日志服务配置需求,日志服务提供命令行工具CLI(Command Line Interface)。更多信息,请参见日志服务命令行工具CLI。

  • 关于Logstore API接口说明,请参见如下:

    • CreateLogStore

    • DeleteLogStore

    • GetLogStore

    • ListLogStores

    • UpdateLogStore

  • 更多示例代码,请参见Aliyun Log Java SDK on GitHub。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/166074.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS支持地域-云淘科技

    本文介绍日志服务数据加工支持的地域信息。 以下地域支持使用日志服务的数据加工功能。 地域 华东1(杭州) 中国(香港) 华东1 金融云 日本(东京) 华东2(上海) 韩国(首尔) 华东2 金融云 新加坡 华北1(青岛) 澳大利亚(悉尼) 华北2(北京) 马来西亚(吉隆坡) 华北2 金融云(邀测) 印度尼西亚(雅加达) 华北2 阿里政务云1 菲律宾(马尼拉) …

    阿里云日志服务SLS 2023年12月10日
  • 阿里云ECS云服务器批量创建ECS实例-云淘科技

    RunInstances批量创建实例接口可以帮助您一次创建多台ECS按量付费或包年包月实例来完成应用的开发和部署,方便实现弹性的资源创建。 前提条件 调用API前,您需要先创建AccessKey。具体操作,请参见创建AccessKey。 重要 禁止使用阿里云账号AccessKey,因为阿里云账号AccessKey泄露会威胁您所有资源的安全。请使用RAM用户A…

    阿里云服务器 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器CreateDisk-云淘科技

    调用CreateDisk创建一块按量付费或包年包月数据盘。 接口说明 创建云盘时支持开启多重挂载特性(MultiAttach)。建议您先了解该特性及使用限制,更多信息,请参见ESSD云盘支持NVMe以及使用多重挂载功能。 支持创建的云盘类型:普通云盘、高效云盘、SSD云盘、ESSD云盘和ESSD AutoPL云盘。 创建云盘需要通过实名认证。请前往会员信息中…

    阿里云服务器 2023年12月9日
  • 阿里云日志服务SLS自定义函数开发指南-云淘科技

    当您通过函数计算消费日志数据时,在不同场景您可以选择使用日志服务提供的函数模板或自定义函数。本文介绍如何构建一个自定义函数。 函数Event 函数Event即运行函数计算的入口参数,格式为一个JSON Object序列化后字符串。 参数说明 参数 说明 jobName 日志服务ETL Job名称。函数计算服务上的日志服务触发器对应一个日志服务的ETL Job…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云负载均衡SetLoadBalancerName – 修改负载均衡实例的名称-云淘科技

    修改负载均衡实例的名称。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下: 操作:是指具…

    阿里云负载均衡 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。