TypeScript SDK使用手冊(cè)
更新時(shí)間:
本文介紹了TypeScript SDK的安裝方法、示例代碼以及如何使用TypeScript SDK發(fā)布事件。
SDK簡介
事件總線EventBridge的SDK分為管控API SDK和數(shù)據(jù)API SDK,示例代碼有所不同。
管控API SDK:對(duì)控制臺(tái)頁面進(jìn)行操作使用的SDK。
數(shù)據(jù)API SDK:事件數(shù)據(jù)的通道,目前只有發(fā)送事件(PutEvents)屬于此類。
前提條件
您已完成以下操作:
環(huán)境準(zhǔn)備
安裝Node.js 8.0或以上的版本。更多信息,請(qǐng)參見安裝Node.js。
執(zhí)行命令
node -v
查看Node.js版本。執(zhí)行以下命令全局安裝TypeScript。
npm install -g typescript
管控API SDK
安裝SDK
執(zhí)行以下命令安裝TypeScript SDK。
npm install --save @alicloud/eventbridge20200401@1.0.1
SDK示例
您可以在OpenAPI門戶通過調(diào)用API接口,自動(dòng)生成對(duì)應(yīng)的SDK示例。具體操作,請(qǐng)參見如何自動(dòng)生成SDK示例。
數(shù)據(jù)API SDK
安裝SDK
執(zhí)行以下命令安裝TypeScript SDK。
npm install @alicloud/eventbridge -S
執(zhí)行以下命令安裝打印端口。
npm install @alicloud/tea-console -S
SDK示例
數(shù)據(jù)API SDK目前只包含發(fā)布事件(PutEvents),如需使用TypeScript SDK發(fā)布一個(gè)或多個(gè)事件,請(qǐng)參考以下示例代碼。
import EventBridge, * as $EventBridge from '@alicloud/eventbridge';
import Util from '@alicloud/tea-util';
import Console from '@alicloud/tea-console';
import * as $tea from '@alicloud/tea-typescript';
export default class Client {
/**
* Create client初始化公共請(qǐng)求參數(shù)。
*/
static async createClient(): Promise<EventBridge> {
let config = new $EventBridge.Config({ });
SetAccessKeyId(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")).
SetAccessKeySecret(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).
SetEndpoint("<endpoint>")
return new EventBridge(config);
}
/**
* PutEvents
*/
static async PutEvents(client: EventBridge): Promise<void> {
let event = new $EventBridge.CloudEvent({ });
event.datacontenttype = "application/json";
event.data = Util.toBytes("test");
event.id = "a5074581-7e74-4e4c-868f-47e7afdf8445";
event.source = "acs.oss";
event.specversion = "1.0";
event.type = "oss:ObjectCreated:PostObject";
event.time = "2020-08-24T13:54:05.965Asia/Shanghai";
event.subject = "1.0";
event.type = "acs:oss:cn-hangzhou:1234567:xls-papk/game_apk/123.jpg";
event.extensions = {
aliyuneventbusname: "demo-bus",
};
try {
let resp = await client.putEvents([
event
]);
Console.log("--------------------Publish event to the aliyun EventBus--------------------");
Console.log(Util.toJSONString($tea.toMap(resp)));
} catch (error) {
Console.log(error.message);
}
}
static async main(args: string[]): Promise<void> {
let client = await Client.createClient();
await Client.PutEvents(client);
}
}
Client.main(process.argv.slice(2));
文檔內(nèi)容是否對(duì)您有幫助?