繁体   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