0

v2 のコードを v3 に移行しようとしていますが、この行を移行する方法を見つけるのに問題があります。

kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(DataEndpoint)

上記のコードは、getHLSStreamingSessionURL で使用されるいくつかのプロパティを持つ obj エンドポイントを作成します。

/*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)
        })
      })
    }

バージョン 3 の公式ドキュメント: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-kinesis-video-archived-media/classes/gethlsstreamingsessionurlcommand.html

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 のこのコードは正常に動作しているようで、2 つのプロパティ @mediadata と未定義の HLSStreamingSessionURL を持つ obj で 200 を返します。v3 にはこの行がないと思うので、常に未定義を返します。

kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(DataEndpoint)

前もって感謝します

4

0 に答える 0