Java SDK使用手册

本文介绍了Java SDK的安装方法、示例代码以及如何使用Java SDK发布事件。

SDK简介

事件总线EventBridge的SDK分为管控API SDK和数据API SDK,示例代码和使用的依赖有所不同。

  • 管控API SDK:对控制台页面进行操作使用的SDK。

  • 数据API SDK:事件数据的通道,目前只有发送事件(PutEvents)属于此类。

前提条件

您已完成以下操作:

环境准备

  • 环境要求

    • 安装1.8或以上版本JDK。具体操作。请参见安装JDK

    • 安装2.5或以上版本Maven。具体操作,请参见安装Maven

  • 查看语言版本

    执行命令java -version查看Java语言版本。

管控API SDK

安装依赖库

在pom.xml中添加以下依赖。

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>eventbridge20200401</artifactId>
  <version>2.0.0</version>
</dependency> 

SDK示例

您可以在OpenAPI门户通过调用API接口,自动生成对应的SDK示例。具体操作,请参见如何自动生成SDK示例

数据API SDK

安装依赖库

在pom.xml中添加以下依赖。

<dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>eventbridge-client</artifactId>
      <version>1.2.6</version>
</dependency>

SDK示例

数据API SDK目前只包含发布事件(PutEvents),如需使用Java SDK发布一个或多个事件,请参考以下示例代码。

import com.aliyun.eventbridge.EventBridge;
import com.aliyun.eventbridge.EventBridgeClient;
import com.aliyun.eventbridge.models.CloudEvent;
import com.aliyun.eventbridge.models.Config;
import com.aliyun.eventbridge.models.PutEventsResponse;
import com.aliyun.eventbridge.util.EventBuilder;
import com.google.gson.Gson;

import java.net.URI;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PutEventsSample {

    private EventBridge eventBridgeClient;

    public PutEventsSample() {
        Config authConfig = new Config();
        authConfig.accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");// AccessKey ID,阿里云身份验证,在RAM控制台创建。获取方式,请参见创建AccessKey。
        authConfig.accessKeySecret =System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");// AccessKey Secret,阿里云身份验证,在RAM控制台创建。获取方式,请参见创建AccessKey。
        authConfig.endpoint = "{endpoint}";// 接入点信息。具体信息,请参见地域和接入点。
        eventBridgeClient = new EventBridgeClient(authConfig);
    }

    public void putEventsSample() {
        List<CloudEvent> cloudEventList = new ArrayList<>();
        cloudEventList.add(EventBuilder.builder()
                .withId("a5074581-7e74-4e4c-868f-47e7afdf****")
                .withSource(URI.create("acs.oss"))
                .withType("oss:ObjectCreated:PostObject")
                .withSubject("acs:oss:cn-hangzhou:{yourAccountId}:xls-papk/game_apk/123.jpg")
                .withTime(new Date())
                .withJsonStringData("{ \"E-Mail\": \"${email}\" }")
                .withAliyunEventBus("demo-bus")
                .build());
        PutEventsResponse putEventsResponse = eventBridgeClient.putEvents(cloudEventList);
        System.out.println(new Gson().toJson(putEventsResponse));
    }

    public static void main(String[] args){
        PutEventsSample sample = new PutEventsSample();
        try {
            sample.putEventsSample();
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
}