このトピックでは、EventBridge が提供する SDK for Java をインストールする方法と、SDK for Java を使用してイベントを発行する方法について説明します。このトピックでは、サンプルコードも提供しています。
概要
EventBridge SDK は、管理 API SDK とデータ API SDK に分類されます。さまざまなタイプの SDK で使用されるサンプルコードと依存関係は異なります。
管理 API SDK:EventBridge コンソールで操作を実行するために使用される SDK です。
データ API SDK:イベントデータのチャネルです。このタイプの SDK では、PutEvents API オペレーションのみが呼び出されます。
始める前に
次の操作を実行します。
環境の準備
環境要件
JDK 1.8 以降がインストールされていること。詳細については、Java Downloads をご参照ください。
Maven 2.5 以降がインストールされていること。詳細については、Downloading Apache Maven をご参照ください。
Java バージョンの確認
java -versionコマンドを実行して、Java のバージョンを確認します。
管理 API SDK
依存関係の追加
pom.xml ファイルに次の依存関係を追加します。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>eventbridge20200401</artifactId>
<version>2.0.0</version>
</dependency> サンプルコード
OpenAPI Explorer の対応する操作を呼び出して、サンプルコードを自動的に生成できます。詳細については、「SDK サンプルの自動生成」をご参照ください。
データ API SDK
依存関係の追加
pom.xml ファイルに次の依存関係を追加します。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>eventbridge-client</artifactId>
<version>1.2.6</version>
</dependency>サンプルコード
データ API SDK は、PutEvents API オペレーションのみをサポートしています。 SDK for Java を使用して 1 つ以上のイベントを発行する場合は、次のサンプルコードを参照してください。
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");// ID認証のためにResource Access Management (RAM) コンソールで作成したAccessKey ID。 AccessKey IDの取得方法については、「AccessKeyペアの作成」をご参照ください。
authConfig.accessKeySecret =System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");// ID認証のためにRAMコンソールで作成したAccessKeyシークレット。 AccessKeyシークレットの取得方法については、「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();
}
}
}