Programma
Il programma consente di controllare la pubblicazione e l'archiviazione di segmenti in un flusso live. I programmi possono essere eseguiti contemporaneamente. Questo consente di pubblicare e archiviare parti diverse dell'evento a seconda delle necessità.
È possibile specificare il numero di ore che si desidera conservare il contenuto registrato per il programma impostando la ArchiveWindowLength
proprietà (fino a 25 ore). I client possono eseguire ricerche nel contenuto archiviato per il numero di ore specificato. Se il programma resta in esecuzione più a lungo rispetto a quanto specificato in ArchiveWindowLength, il contenuto meno recente viene eliminato. Per altre informazioni, vedere la documentazione relativa a ArchiveWindowLength
riportata di seguito.
Questo argomento presenta informazioni generali sull'entità Program
e mostra come eseguire varie operazioni con l'API REST di Servizi multimediali.
Importante
Quando si accede alle entità in Servizi multimediali, è necessario impostare valori e campi di intestazione specifici nelle richieste HTTP.
Per altre informazioni, vedere Configurare lo sviluppo di API REST di Servizi multimediali e connettersi a Servizi multimediali con l'API REST di Servizi multimediali.
Proprietà dell'entità Program
L'entità Program contiene le proprietà seguenti.
Proprietà | Type | Descrizione |
---|---|---|
Id Di sola lettura. Impostata da Servizi multimediali. |
Edm.String | ID dell'entità Program assegnato al momento della creazione. Il formato è nb:pgid:UUID:<GUID>. |
Name |
Edm.String | Nome dell'entità Program. Può essere composto da un massimo di 256 caratteri e può contenere qualsiasi carattere e numero dell'alfabeto latino, inclusi "-" e " " purché inizi e finisca con un carattere alfanumerico. |
AssetId |
Edm.String | ID dell'asset da usare per l'elaborazione di Program. La proprietà può essere aggiornata solo quando si trova nello stato Arrestato. Non è possibile eliminare un asset se è usato da un programma. È possibile eliminare un asset dopo avere eliminato il programma che lo usa. |
Created Di sola lettura. Impostata da Servizi multimediali. |
Edm.DateTime | Data e ora UTC che indica il momento della creazione. |
Description |
Edm.String | Descrizione fornita dall'utente. La lunghezza massima è 256 caratteri. |
ArchiveWindowLength Obbligatorio. |
Edm.Time | Numero di ore per cui si vuole mantenere il contenuto registrato per il programma. Il valore impostato può essere compreso tra 5 minuti e 25 ore. Determina anche il limite di tempo per cui i client possono eseguire ricerche a ritroso nel tempo dalla posizione live corrente. I programmi possono essere eseguiti per la quantità di tempo specificata, ma il contenuto che va oltre la durata prevista viene scartato in modo continuo. Il valore della proprietà determina anche il tempo per cui i manifesti client possono crescere. Per eliminare il contenuto archiviato, interrompere ed eliminare il programma, quindi eliminare gli asset associati al programma. |
LastModified Di sola lettura. Impostata da Servizi multimediali. |
Edm.DateTime | Data e ora dell'ultima modifica. |
ManifestName |
Edm.String | Nome del file manifesto, senza estensione. Questa proprietà può essere aggiornata solo quando il programma si trova nello stato Arrestato. |
State Di sola lettura. Impostata da Servizi multimediali. |
Edm.String | Ottiene lo stato corrente. I valori possibili sono: - Arrestato. Un programma appena creato si trova nello stato Interrotto. In questo stato è possibile aggiornare le proprietà Program me non è consentito lo streaming. Il programma può essere avviato, aggiornata o eliminato da questo stato. - Avvio in corso. È in corso l'avvio del programma. In questo stato non è consentito alcun aggiornamento o streaming. - In esecuzione. L'entità Program è in grado di elaborare e archiviare flussi live. - Arresto in corso. È in corso l'arresto del programma. In questo stato non è consentito alcun aggiornamento o streaming. |
ChannelId Di sola lettura. Impostata da Servizi multimediali. |
Edm.String | ID dell'entità Channel padre dell'entità Program. |
Channel |
Channel | Canale padre del programma specificato da IDCanale. |
Creare un'entità Program
Creare una nuova entità Program.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
POST | <https:// accountname.restv2>.<location.media.azure.net/api/Programs> | HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
POST https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Corpo della richiesta:
{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":null}
Se l'esito è positivo, nel corpo della risposta viene restituito un codice di stato 202 Accettato insieme a una rappresentazione dell'entità creata.
{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}
Nota
L'operazione viene completata in modo sincrono, per cui non vi sono ID operazione di cui tenere traccia.
Avviare programmi
Avviare un programma. Un programma può essere avviato solo quando si trova nello stato Arrestato e il canale si trova nello stato In esecuzione.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
Avvio | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Start | HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Start HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Se l'esito è positivo, viene restituito un codice di stato 202 Accettato. Il codice di stato 202 Accettato indica un'operazione asincrona, nel qual caso viene fornito anche il valore dell'intestazione operation-id che viene usato per il polling e per il rilevamento dello stato delle operazioni di lunga esecuzione, ad esempio l'avvio o l'arresto di un'entità Program. Passare il valore dell'intestazione operation-id nell'entità Operation per recuperare lo stato. Per altre informazioni, vedere Polling manuale delle operazioni Long-Running.
Arrestare programmi
Arrestare un programma. Un'entità Program può essere arrestata solo quando si trova nello stato In esecuzione. Si tratta di un'operazione asincrona,
Metodo | URI richiesta | Versione HTTP |
---|---|---|
Stop | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Stop | HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
POST https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/Stop HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Se l'esito è positivo, viene restituito un codice di stato 202 Accettato. Il codice di stato 202 Accettato indica un'operazione asincrona, nel qual caso viene fornito anche il valore dell'intestazione operation-id che viene usato per il polling e per il rilevamento dello stato delle operazioni di lunga esecuzione, ad esempio l'avvio o l'arresto di un'entità Program. Passare il valore dell'intestazione operation-id nell'entità Operation per recuperare lo stato. Per altre informazioni, vedere Polling manuale delle operazioni Long-Running.
Elencare le entità Program
Le entità Program possono essere recuperate tramite una richiesta HTTP GET.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
GET | Ottenere tutte le entità Program nell'account di Servizi multimediali: <https:// accountname.restv2>.<location.media.azure.net/api/Programs> Ottenere una determinata entità Program nell'account di Servizi multimediali: <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') Ottenere tutte le entità Program associate a un'entità Channel specificata: <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Programmi |
HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
GET https://testrest.cloudapp.net/api/Programs HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
In caso di esito positivo, questa operazione restituisce un codice di stato 200 OK e un elenco di tutti i programmi creati nell'account di Servizi multimediali.
Aggiornare le entità Program
Aggiornare l'entità Program. L'entità Program deve trovarsi nello stato Arrestato.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
PATCH/PUT/MERGE Per altre informazioni su queste operazioni, vedere PATCH/PUT/MERGE. |
<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
PATCH https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Corpo della richiesta:
{"ArchiveWindowLength":"PT3H"}
Se l'aggiornamento viene completato in modo sincrono, restituisce un codice di stato 204 Nessun contenuto. In caso contrario, restituisce un codice di stato 202 Accettato. Il codice di stato 202 Accettato indica un'operazione asincrona, nel qual caso viene fornito anche il valore dell'intestazione operation-id che viene usato per il polling e per il rilevamento dello stato delle operazioni di lunga esecuzione, ad esempio l'avvio o l'arresto di un'entità Program. Passare il valore dell'intestazione operation-id nell'entità Operation per recuperare lo stato. Per altre informazioni, vedere Polling manuale delle operazioni Long-Running.
Eliminare entità Program
Eliminare un'entità Program. Un'entità Program può essere eliminata solo quando si trova nello stato Arrestato.
Metodo | URI richiesta | Versione HTTP |
---|---|---|
DELETE | <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') | HTTP/1.1 |
Richiesta di esempio
È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.
Per ottenere la versione più recente x-ms-version:
, vedere Servizi multimediali REST.
Intestazioni della richiesta:
DELETE https://testrest.cloudapp.net/api/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
x-ms-version: 2.19
Content-Type: application/json;odata=minimalmetadata
Host: <host URI>
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
Se l'esito è positivo, viene restituito un codice di stato 204 No Content.
Nota
L'operazione viene completata in modo sincrono, per cui non vi sono ID operazione di cui tenere traccia.