Estoy tratando de actualizar una URL de MediaLive de entrada usando boto3 en python.
La entrada es de tipo URL_PULL (HLS) y está adjunta a un canal, y creo que es la fuente de mi problema.
account = { all credentials and stuff } url = 'https://mynew/supercool/hls/playlist.m3u8' client = boto3.client("medialive", aws_access_key_id=account['access_key'], aws_secret_access_key=account['key_secret'], region_name=account['region_name']) input_id = 1234567 client.update_input(InputId=input_id, Sources=[{'Url': url}])El código funciona bien, pero aparece este error y no sé cómo manejarlo:
Ocurrió un error (BadRequestException) al llamar a la operación UpdateInput: no puede cambiar la clase de entrada de una entrada mientras está adjunta a un canal. Separe la entrada del canal para cambiar su clase.
Pregunta: ¿Qué flujo de trabajo debo usar para actualizar una entrada que ya está adjunta a un canal?
La API de AWS espera 2 URL al actualizar una entrada, principal y de respaldo.
client.update_input(InputId=input_id, Sources=[{'Url': url},{'Url': url}])
Si la clase de entrada es STANDARD_INPUT, necesitará 2 URL, pero si está utilizando una clase SINGLE_INPUT, solo necesitará 1 URL.
Si solo necesita 1 URL, puede crear las entradas como SINGLE_INPUT, pero su canal tendrá que ser único (SINGLE_PIPELINE) en lugar de STANDARD.
Además, ¡los canales individuales son más baratos que los estándar!