def __init__(self, role_session_name, role_arn, policy, duration, external_id): self.session_name = role_session_name self.arn = role_arn self.policy = policy now = datetime.datetime.utcnow() self.expiration = now + datetime.timedelta(seconds=duration) self.external_id = external_id self.access_key_id = "ASIA" + random_access_key_id() self.secret_access_key = random_secret_access_key() self.session_token = random_session_token()
def _get_streaming_url(self, stream_name, stream_arn, api_name): stream = kinesisvideo_backends[self.region_name]._get_stream( stream_name, stream_arn ) data_endpoint = stream.get_data_endpoint(api_name) session_token = random_session_token() api_to_relative_path = { "GET_HLS_STREAMING_SESSION_URL": "/hls/v1/getHLSMasterPlaylist.m3u8", "GET_DASH_STREAMING_SESSION_URL": "/dash/v1/getDASHManifest.mpd", } relative_path = api_to_relative_path[api_name] url = "{}{}?SessionToken={}".format(data_endpoint, relative_path, session_token) return url