簡體   English   中英

使用@aws-sdk/client-chime-sdk-messaging 接收消息

[英]Receive massages with @aws-sdk/client-chime-sdk-messaging

我正在使用@aws-sdk/client-chime-sdk-messaging來請求獲取/發送/刪除頻道消息

import { ChimeSDKMessagingClient, ListChannelMessagesCommand } from "@aws-sdk/client-chime-sdk-messaging";

const credentials = {
    accessKeyId: "accessKeyId",
    secretAccessKey: "secretAccessKey",
    sessionToken: "sessionToken"
};

const ChannelArn = "arn:aws:chime:us-east-1:ChannelArn";

const userArn = "arn:aws:chime:us-east-1:userArn";

const chimeClient = new ChimeSDKMessagingClient({
    region: "us-east-1",
    credentials
});

const params = {
    ChannelArn,
    MaxResults: 50,
    NextToken: null,
    ChimeBearer: userArn
};

const command = new ListChannelMessagesCommand(params);

try {
    const data = await chimeClient.send(command);
    console.log("listChannelMessages DATA ->", data);
} catch (error) {
    console.error("listChannelMessages ERROR ->", error);
}

問題:如何接收消息,或者訂閱事件監聽器來處理收到的消息。

我使用amazon-chime-sdk-js通過aws-sdk/clients/chimeaws-sdk而不是@aws-sdk/client-chime-sdk-messaging來完成這部分工作,它是這樣工作的:

const sessionConfig = new MessagingSessionConfiguration(
  memberArm,
  null,
  endpoint,
  chime,
  AWS
);

this._session = new DefaultMessagingSession(sessionConfig, this._logger);

this._session.addObserver(this.messageObserver);
this._session.start();

我正在嘗試減少 aws-sdk 庫的大小,我認為對於新的 was-sdk-js-v3 客戶端,它的工作方式應該與以前的版本不同。

我用於聊天連接的連接示例來自amazon-chime-sdk-js

同時,github 上提供的示例包含 V3 的更新庫。

因此,您可以更新您的代碼,您必須使用它,如此處所示 ( https://github.com/aws/amazon-chime-sdk-js#messaging-session ):

import { ChimeSDKMessagingClient, GetMessagingSessionEndpointCommand } from '@aws-sdk/client-chime-sdk-messaging';

import {
  ConsoleLogger,
  DefaultMessagingSession,
  LogLevel,
  MessagingSessionConfiguration,
} from 'amazon-chime-sdk-js';

const logger = new ConsoleLogger('SDK', LogLevel.INFO);

// You will need AWS credentials configured before calling AWS or Amazon Chime APIs.
const chime = new ChimeSDKMessagingClient({ region: 'us-east-1'});
const endpoint = await chime.send(new GetMessagingSessionEndpointCommand());

const userArn = /* The userArn */;
const sessionId = /* The sessionId */;
const configuration = new MessagingSessionConfiguration(userArn, sessionId, endpoint.Endpoint.Url, chime);
const messagingSession = new DefaultMessagingSession(configuration, logger);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM