All Products
Search
Document Center

ActionTrail:SDK for Java

Last Updated:Jun 09, 2023

This topic shows you how to use ActionTrail SDK for Java.

Preparations

  1. Configure your AccessKey ID and AccessKey secret.

    In this example, Alibaba Cloud Credentials is used to manage the AccessKey pair to authenticate API access. For more information, see Example of using ActionTrail SDK for Java.

    Important

    The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in ActionTrail is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. Do not save your AccessKey pair in your project code. Otherwise, the AccessKey pair may be leaked and the security of all resources within your account may be compromised.

  2. Add aliyun-java-sdk-core, aliyun-java-sdk-actiontrail, and credentials-java to the pom.xml file in the project as dependencies to install Alibaba Cloud SDK for Java, ActionTrail SDK for Java, and Credentials for Java.

    <dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.20</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-actiontrail</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>credentials-java</artifactId>
            <version>0.2.11</version>
        </dependency>
    </dependencies>
    Note

    For more information, see SDK overview.

Query events

Example 1: Query events

import com.aliyun.credentials.Client;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.actiontrail.model.v20200706.LookupEventsRequest;
import com.aliyuncs.actiontrail.model.v20200706.LookupEventsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class DemoLookupEvents {
    public static void main(String[] args) {

        // Use the default credential to initialize the Credentials client. 
        Client credentialClient = new Client();

        // Create and initialize a DefaultAcsClient instance. 
        DefaultProfile profile = DefaultProfile.getProfile(
                "<your-region-id>",  // The ID of the region. 
                credentialClient.getAccessKeyId(),
                credentialClient.getAccessKeySecret());

        IAcsClient client = new DefaultAcsClient(profile);
        // Create a LookupEvents request. 
        LookupEventsRequest request = new LookupEventsRequest();
        // Specify request parameters. 
        List<LookupEventsRequest.LookupAttribute> lookupAttributes = new ArrayList<>();
        LookupEventsRequest.LookupAttribute lookupAttribute = new LookupEventsRequest.LookupAttribute();
        lookupAttribute.setKey("EventRW");
        lookupAttribute.setValue("Write");
        lookupAttributes.add(lookupAttribute);
        request.setLookupAttributes(lookupAttributes);

        // Send the request and handle the response or exception. 
        LookupEventsResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("-------------------------------");
            System.out.println("eventTime, eventId, serviceName, eventName");
            for (Map<Object, Object> event : response.getEvents()) {
                System.out.println(event.get("eventTime") + ", " + event.get("eventId") + ", " + event.get("serviceName") + ", " + event.get("eventName"));
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

Example 2: Query trails

import com.aliyun.credentials.Client;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.actiontrail.model.v20200706.DescribeTrailsRequest;
import com.aliyuncs.actiontrail.model.v20200706.DescribeTrailsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;

public class DemoDescribeTrails {
    public static void main(String[] args) {
        // Use the default credential to initialize the Credentials client. 
        Client credentialClient = new Client();

        // Create and initialize a DefaultAcsClient instance. 
        DefaultProfile profile = DefaultProfile.getProfile(
                "<your-region-id>",          // The ID of the region. 
                credentialClient.getAccessKeyId(),
                credentialClient.getAccessKeySecret());

        IAcsClient client = new DefaultAcsClient(profile);
        // Create a DescribeTrails request and configure request parameters. 
        DescribeTrailsRequest request = new DescribeTrailsRequest();
        // Send the request and handle the response or exception. 
        DescribeTrailsResponse response;
        try {
            response = client.getAcsResponse(request);
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("-------------------------------");
            System.out.println("name, trailRegion");
            for (DescribeTrailsResponse.Trail trail : response.getTrailList()) {
                System.out.println(trail.getName() + ", " + trail.getTrailRegion());
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}