Condividi tramite


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.

Vedere anche

Channel