javascript - 将 aws-sdk js v2 迁移到 v3 getHLSStreamingSessionURLCommand 的问题
问题描述
我正在尝试将 v2 的代码迁移到 v3,但我无法找到如何迁移这一行:
kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(DataEndpoint)
上面的代码创建了一个 obj 端点,其中包含一些要在 getHLSStreamingSessionURL 中使用的属性:
/*First you have to get de data endpoint calling getDataEndpoint*/
export const getEndPoint = (streamNme) => {
return new Promise((resolve, reject) => {
kinesisVideo.getDataEndpoint({
StreamName: streamName,
APIName: "GET_HLS_STREAMING_SESSION_URL"
}, function (err, response) {
if ( err ) {
return console.error(err);
}
// console.log('Data endpoint: ' + response.DataEndpoint);
resolve(response.DataEndpoint)
});
})
export const getStream = (StreamName, DataEndpoint) => {
return new Promise((resolve, reject) => {
kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(DataEndpoint)
const PlaybackMode = 'LIVE'
const FragmentSelectorType = 'SERVER_TIMESTAMP'
const SESSION_EXPIRATION_SECONDS = 60 * 60
const params = {
StreamName,
PlaybackMode,
HLSFragmentSelector: {
FragmentSelectorType,
},
Expires: parseInt(SESSION_EXPIRATION_SECONDS),
}
kinesisVideoArchivedContent.getHLSStreamingSessionURL(params, (err, response) => {
if (err) {
reject(StreamName)
return
}
resolve(response.HLSStreamingSessionURL)
})
})
}
import { KinesisVideoArchivedMediaClient, GetHLSStreamingSessionURLCommand } from "@aws-sdk/client-kinesis-video-archived-media"; // ES Modules import
/*before the code below you have to call getDataEndpointCommand */
const client = new KinesisVideoArchivedMediaClient(config);
const command = new GetHLSStreamingSessionURLCommand(input);
const response = await client.send(command);
此版本 3 的代码似乎工作正常,并返回一个 200 和一个带有两个属性 @mediadata 和 HLSStreamingSessionURL 的未定义的 obj,总是返回未定义,因为我认为 v3 缺少这一行:
kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(DataEndpoint)
先感谢您
解决方案
推荐阅读
- sas - 使用ods excel输出数据,只接收excel文件中的空白
- build-error - 设置 NO_SYS=1 时,LWIP 库文件未在 Atmel 7.0 上构建
- python - 如何在文件 JSON 中查找数字并使用 python-docx 放置换行符
- javascript - “JQuery DataTables”合并同一行数据“rowspan”
- css - 如何删除大写文本的第一个单词
- react-native - 如何在反应导航 v5 中将抽屉放在标题上?
- unpivot - 如何在 DolphinDB 中将多列数据转换为一列?
- c++ - 将字符串存储在变量中时如何将字符串转换为 wchar_t?
- java - 添加遇到的警告数量作为 Maven“占位符”
- javascript - Array for-loop: temp 保存 Array[i] 还是继续调用 Array[i] ?哪个更好/更快?