初始化日志服务Java SDK

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

Client是日志服务Java SDK的客户端,它为调用者提供了一系列的方法,可以用来创建Project和Logstore、写入日志、读取日志等。使用Java SDK发起请求,您需要初始化一个Client实例,并根据需要修改默认配置项。

前提条件

  • 安装Java SDK

  • 配置访问凭证

  • 获取Endpoint

    服务接入点(Endpoint)是访问阿里云服务的入口点,通常是一个URL,它指定了服务的访问协议、主机名、端口和路径等信息,客户端可以使用这些信息与服务进行通信。日志服务的Endpoint分为:

    • 公网服务地址:从日志服务公网域名所在接口拉取数据时,会产生外网读取流量,计费信息请参见按写入数据量计费模式计费项按使用功能计费模式计费项。具体列表,请参见服务接入点

    • VPC服务地址:ECS实例和日志服务Project属于同一地域,建议使用VPC服务地址,请参见服务接入点

    • 传输加速域名:业务服务器、日志服务Project分别属于国内地域和国外地域,使用公网传输数据可能会出现网络延迟高、传输不稳定等问题,可以选择传输加速域名,请参见管理传输加速

初始化Client

 public Client(String endpoint, String  accessKeyId, String accessKeySecret)

请求参数

变量

类型

是否必填

说明

示例值

endpoint

String

服务接入点,具体参见获取Endpoint

cn-hangzhou.log.aliyuncs.com

accessKeyId

String

  • 如果使用AK配置访问凭证,则为阿里云账号(主账号)和RAM用户(子账号)的AccessKey ID,用于标识用户。具体参见配置访问凭证

    警告

    阿里云主账号拥有资源的全部权限,如果主账号的AK泄露,会给系统带来巨大风险,不建议使用。推荐使用最小化授权的RAM用户的AK。

  • 如果使用STS配置访问凭证,则为AssumeRole接口返回参数Credentials中的AccessKeyId。

LTAI5tQisap3nb5aDQ******

accessKeySecret

String

  • 如果使用AK配置访问凭证,则为阿里云账号(主账号)和RAM用户(子账号)的AccessKey Secret,用于验证您拥有该AccessKey ID的密码。具体参见配置访问凭证

  • 如果使用STS配置访问凭证,则为AssumeRole接口返回参数Credentials中的AccessKeySecret。

8IK3wR4CLBWVnhgY1DB1vttQ******

示例

使用AK初始化(V4签名)

package com.test.controller;

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.http.client.ClientConfiguration;
import com.aliyun.openservices.log.http.signer.SignVersion;

public class Sample {

    public static void main(String[] args) throws Exception {
        // 日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写
        String endpoint = "cn-beijing.log.aliyuncs.com";
        // 本示例从环境变量中获取 AccessKey ID 和 AccessKey Secret。
        String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        ClientConfiguration clientConfiguration = new ClientConfiguration();
        clientConfiguration.setRegion("cn-beijing");
        clientConfiguration.setSignatureVersion(SignVersion.V4);
        Client client = new Client(endpoint,
                accessKeyId,
                accessKeySecret,
                clientConfiguration);
    }
}

使用AK初始化(V1签名)

package com.test.controller;

import com.aliyun.openservices.log.Client;

public class Sample {

    public static void main(String[] args) throws Exception {
        // 日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写
        String endpoint = "cn-beijing.log.aliyuncs.com";
        // 本示例从环境变量中获取 AccessKey ID 和 AccessKey Secret。
        String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        Client client = new Client(endpoint, accessKeyId, accessKeySecret);
    }
}

使用STS初始化

package com.test.controller;

import com.aliyun.openservices.log.Client;

public class Sample {

    public static void main(String[] args) throws Exception {
        // 日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写
        String endpoint = "cn-beijing.log.aliyuncs.com";
        // 本示例从环境变量中获取AssumeRole接口返回参数Credentials中的AccessKeyId。
        String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        // 本示例从环境变量中获取AssumeRole接口返回参数Credentials中的AccessKeySecret。
        String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        // 本示例从环境变量中获取AssumeRole接口返回参数Credentials中的SecurityToken。
        String securityToken = System.getenv("ALIBABA_CLOUD_STS_TOKEN");
        Client client = new Client(endpoint, accessKeyId, accessKeySecret);
        client.setSecurityToken(securityToken);
    }
}

相关文档

  • 初始化Client后,您可以调用接口实现创建Project、写入日志等操作,请参见Java SDK快速入门