【问题标题】:Receive massages with @aws-sdk/client-chime-sdk-messaging使用 @aws-sdk/client-chime-sdk-messaging 接收消息
【发布时间】:2022-04-21 05:03:03
【问题描述】:

我正在使用@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

【问题讨论】:

    标签: aws-sdk-js aws-sdk-js-v3


    【解决方案1】:

    同时,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);
    

    【讨论】:

      猜你喜欢
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      相关资源
      最近更新 更多