

Avviso di fine del supporto: il 13 novembre 2025, il supporto per Amazon Elastic Transcoder AWS verrà interrotto. Dopo il 13 novembre 2025, non potrai più accedere alla console Elastic Transcoder o alle risorse Elastic Transcoder.

[Per ulteriori informazioni sulla transizione a, consulta questo post del blog AWS Elemental MediaConvert.](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Codice di esempio SDK AWS
<a name="sample-code"></a>

Questa sezione contiene codice di esempio che mostra come usare AWS SDKs per Java, Ruby, PHP e Python per eseguire le seguenti operazioni:
+ Crea una playlist HLS in Amazon Elastic Transcoder
+ Crea un lavoro in Elastic Transcoder
+ Esegui il polling di una coda di Amazon Simple Queue Service (Amazon SQS)
+ Analizza una notifica da Amazon Simple Notification Service (Amazon SNS)
+ Gestisci la notifica da Amazon SNS

Queste operazioni rappresentano le best practice di Elastic Transcoder. Il polling di una coda Amazon SQS consente un polling lungo, con una scalabilità più efficiente rispetto al normale polling, e la configurazione delle notifiche Amazon SNS consente a Elastic Transcoder di recapitare messaggi alla coda Amazon SQS.

Il codice di esempio mostra come effettuare la transcodifica per HLS (HTTP Live Streaming) e come gestire la notifica Amazon SNS una volta rimossa dalla coda Amazon SQS.

Se utilizzi un linguaggio per cui esiste un SDK, ti consigliamo di utilizzare l'SDK anziché provare a utilizzare il. APIs Scoprirai che l'utilizzo di SDKs semplifica l'autenticazione, si integra facilmente con il tuo ambiente di sviluppo e fornisce un facile accesso ai comandi correlati.

**Topics**
+ [Background per il codice di esempio di SDK AWS](#sample-intro)
+ [Configurazione dell'ambiente](#env-setup)
+ [Esempi Java](#java-sample)
+ [Esempi di Ruby](#ruby-sample)
+ [Esempi PHP](#php-sample)
+ [Esempi Python](#python-sample)

## Background per il codice di esempio di SDK AWS
<a name="sample-intro"></a>

### HTTP Live Streaming (HLS)
<a name="hls-intro"></a>

Utilizzate gli output HTTP Live Streaming (HLS) per fornire contenuti con bitrate adattivo ai lettori che utilizzano HLS. Esempi di dispositivi compatibili con HLS sono i dispositivi Android 4\$1, i dispositivi iOS, i lettori multimediali desktop come QuickTime o VLC e i lettori browser come jwplayer. La velocità di trasmissione adattiva consente di regolare automaticamente la qualità dei contenuti forniti in base alla qualità della connessione client.

### Notifications
<a name="notification-intro"></a>

Se esegui un sondaggio nell'`ReadJob`API di Elastic Transcoder per monitorare lo stato del lavoro, devi consultare continuamente ogni lavoro inviato`ReadJob`. Questa metodologia non può essere scalata all'aumentare del numero di lavori di transcodifica. Per risolvere questo problema, Elastic Transcoder può pubblicare notifiche su Amazon SNS, che fornisce un meccanismo basato sugli eventi per il monitoraggio dello stato dei lavori.

Ogni notifica Elastic Transcoder viene inviata come oggetto JSON nel campo. `Message` Poiché le notifiche vengono inviate a loro volta in formato JSON, è necessario evitare la notifica Elastic Transcoder nella stringa del messaggio. [Per informazioni sul formato e il contenuto delle notifiche di Elastic Transcoder, consulta la sezione Notifiche.](https://docs.aws.amazon.com/elastictranscoder/latest/developerguide/notifications.html)

Quando scrivi codice personalizzato per gestire le notifiche sullo stato del lavoro, segui queste best practice:
+ **I gestori devono essere idempotenti.** È possibile che una notifica venga recapitata più di una volta.
+ **I gestori devono supportare le notifiche di mancata esecuzione dell'ordine.** È possibile che le notifiche vengano recapitate fuori ordine.
+ **I gestori devono essere in grado di elaborare una notifica per qualsiasi lavoro.** Non è possibile garantire che una notifica per un determinato lavoro venga recapitata a un determinato lavoratore.
+ **I gestori devono svolgere attività di breve durata.** Tutti i messaggi devono essere gestiti ed eliminati prima del timeout di visibilità. Se il timeout di visibilità è di 15 secondi e verranno restituiti un massimo di 5 messaggi da Amazon SQS, ogni messaggio deve essere gestito ed eliminato dalla coda in meno di 3 secondi. Se la gestione richiede più tempo, i messaggi non elaborati scadranno e verranno consegnati a un altro lavoratore.

Per Java, Python e Ruby, ti consigliamo di utilizzare le notifiche eseguendo il polling di una coda Amazon SQS associata all'argomento di notifica. Poiché Amazon SQS utilizza un meccanismo di sondaggio a lungo termine, il polling della coda di Amazon SQS offre un metodo scalabile per l'utilizzo delle notifiche di lavoro. Amazon SQS semplifica inoltre la disponibilità e la scalabilità in caso di guasto degli host o in periodi di carico elevato e in genere non richiede alcuna configurazione ACL speciale.

Per PHP in esecuzione in Apache, ti consigliamo di sottoscrivere il tuo endpoint direttamente all'argomento Amazon SNS. Ciò richiede che il tuo endpoint sia disponibile pubblicamente poiché Amazon SNS dovrà essere in grado di inviare notifiche inviate direttamente a te.

## Configurazione dell'ambiente
<a name="env-setup"></a>

Per eseguire il codice di esempio, è necessario disporre di un ambiente AWS configurato. Questa sezione illustra il processo di configurazione e mostra come creare le risorse AWS di cui Elastic Transcoder ha bisogno per funzionare in modo ottimale.

**Topics**
+ [Configurazione dell'ambiente Java](#env-java)
+ [Configurazione dell'ambiente Ruby](#env-ruby)
+ [Configurazione dell'ambiente PHP](#env-php)
+ [Configurazione dell'ambiente Python](#env-python)

### Configurazione dell'ambiente Java
<a name="env-java"></a>

Questa sezione guida nella configurazione dell'ambiente Java.

**Topics**
+ [Configurazione del kit SDK AWS per Java](#java-sdk)
+ [Creazione di bucket di input e output Amazon S3](#java-s3)
+ [Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro](#java-sns)
+ [Creazione di una coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori](#java-sqs)
+ [Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS](#java-sqs-subscribe)
+ [Creazione di una pipeline Elastic Transcoder](#java-pipeline)
+ [Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile](#java-cloudfront)
+ [Modifica della policy sui bucket di Amazon S3](#java-s3-policy)

Il codice di esempio prevede due presupposti fondamentali:
+ Gli esempi sono scritti in modo da funzionare con Java versione 1.6 o superiore.
+ Gli esempi sono eseguiti con Eclipse e il Toolkit for Eclipse di AWS.

#### Configurazione del kit SDK AWS per Java
<a name="java-sdk"></a>

Gli esempi presumono che l'utente utilizzi il Toolkit for Eclipse di AWS. Sono necessari sia il kit [SDK AWS per Java](https://aws.amazon.com/sdkforjava/), sia i seguenti file JAR del processore JSON Jackson:
+ Jackson Core
+ Jackson Databind
+ Jackson Annotations

Il processore JSON Jackson gestisce le notifiche di stato di un processo.

In alternativa, se si utilizza Maven per gestire le dipendenze, è possibile aggiungere i seguenti snippet al file `pom.xml`:

Proprietà della versione: 

```
    <jackson-2-version>2.2.3</jackson-2-version>
```

Dipendenze:

```
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>LATEST</version>
    </dependency>
                
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
```

Per ulteriori informazioni, consultare la pagina relativa alla [documentazione sul kit SDK AWS per Java](https://aws.amazon.com/documentation/sdkforjava/).

#### Creazione di bucket di input e output Amazon S3
<a name="java-s3"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Nella console, fai clic su **Create** Bucket.

1. Nel campo **Bucket Name**, inserisci il nome desiderato per il bucket di input.

1. Sempre nella console Amazon S3, fai nuovamente clic su **Crea bucket**.

1. Nel campo **Bucket Name, inserisci il nome** desiderato per il tuo bucket di output.

#### Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro
<a name="java-sns"></a>

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Nella console, fai clic su **Crea e aggiungi** e seleziona **Crea nuovo argomento**.

1. Nel campo **Nome argomento**, inserisci **ets-sample-topic** e quindi fai clic su **Crea argomento**.

1. Registra l'ARN di. `ets-sample-topic`

#### Creazione di una coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori
<a name="java-sqs"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, fai clic su **Crea** nuova coda.

1. Nel campo **Nome coda**, inserisci **ets-sample-queue** e quindi fai clic su **Crea** coda.

1. Registra l'URL della coda Amazon SQS.

#### Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS
<a name="java-sqs-subscribe"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, seleziona **ets-sample-queue**dall'elenco delle code.

1. In **Queue Actions**, seleziona l'argomento **Subscribe Queue to Amazon SNS**.

1. **In **Scegli un argomento**, seleziona **ets-sample-topic**e quindi fai clic su Iscriviti.**

Dovresti vedere una conferma che la tua coda è stata sottoscritta correttamente al tuo argomento.

#### Creazione di una pipeline Elastic Transcoder
<a name="java-pipeline"></a>

1. Apri la console [Amazon Elastic Transcoder](https://console.aws.amazon.com/elastictranscoder/home).

1. Nella console, fai clic su **Crea nuova pipeline**.

1. Nel campo **Pipeline Name**, immettete. **ets-sample-pipeline**

1. Nel campo **Bucket di input, inserisci il nome del tuo bucket** di input.

1. Lascia **IAM Role** come. **Console Default Role**

1. In **Configura il bucket Amazon S3 per file e playlist transcodificati**, inserisci il nome del bucket di output.

1. **Sempre in **Configura Amazon S3 Bucket per file e playlist transcodificati**, seleziona la classe di storage standard.**

1. **Espandi il menu a discesa Notifiche.**

1. Per tutti e quattro i tipi di eventi, seleziona **Usa un argomento SNS esistente** e in **Seleziona un argomento, seleziona**. **ets-sample-topic**

1. Fare clic su **Create Pipeline (Crea pipeline)**.

1. Registra l'ID della pipeline Elastic Transcoder.

#### Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile
<a name="java-cloudfront"></a>

1. Apri la [ CloudFront console Amazon](https://console.aws.amazon.com/cloudfront/home).

1. Nel pannello di navigazione della console, espandi **Private Content**, quindi fai clic su **Origin Access Identity**.

1. Fai clic su **Crea identità Origin Access**.

1. Fai clic su **Create (Crea)**.

1. Registra l'ID utente canonico di Amazon S3 generato quando crei la tua identità di accesso di origine.

1. **Nel riquadro di navigazione, fai clic su Distribuzione.**

1. Fai clic su **Create Distribution (Crea distribuzione)**.

1. Seleziona **Web**, quindi fai clic su **Continua**.

1. In **Impostazioni Origin**, inserisci il tuo bucket di output Amazon S3 come nome di dominio di **origine**.

1. Nel campo **Origin ID**, inserisci. **S3-transcoder-sample-output**

1. Per **Restrict Bucket Access**, seleziona **Sì**.

1. Fai clic su **Crea distribuzione** e registra il nome di dominio della distribuzione.

#### Modifica della policy sui bucket di Amazon S3
<a name="java-s3-policy"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Accanto al bucket di output, fai clic sull'**icona della lente di ingrandimento per visualizzare** le proprietà del bucket.

1. **Espandi **Autorizzazioni** e fai clic su Aggiungi politica del bucket.**

1. **Inserisci la seguente dichiarazione sulla politica, sostituendo **CloudFront-oai-s3- con e s3** - con. canonical-user-id **your recorded Amazon S3 canonical user ID** output-bucket-name** **the name of your output bucket**

1. Fai clic su **Salva**.

```
{
  "Version":"2012-10-17",		 	 	 
  "Id":"PolicyForCloudFrontPrivateContent",
  "Statement":[{
     "Sid":" Granting CloudFront OAI access to private content",
     "Effect":"Allow",
     "Principal":{ "CanonicalUser":"<CloudFront-oai-s3-canonical-user-id>" },
     "Action":"s3:GetObject",
     "Resource":"arn:aws:s3:::<s3-output-bucket-name>/*"
   }]
}
```

Passare a [Esempi Java](#java-sample).

### Configurazione dell'ambiente Ruby
<a name="env-ruby"></a>

Questa sezione guida nella configurazione dell'ambiente Ruby.

**Topics**
+ [Configurazione del kit SDK AWS per Ruby](#ruby-sdk)
+ [Creazione di bucket di input e output Amazon S3](#ruby-s3)
+ [Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro](#ruby-sns)
+ [Creazione di una coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori](#ruby-sqs)
+ [Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS](#ruby-sqs-subscribe)
+ [Creazione di una pipeline Elastic Transcoder](#ruby-pipeline)
+ [Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile](#ruby-cloudfront)
+ [Modifica della policy sui bucket di Amazon S3](#ruby-s3-policy)

Il codice di esempio prevede un presupposto fondamentale:
+ Gli esempi sono scritti per essere compatibili con Ruby versione 1.9.

#### Configurazione del kit SDK AWS per Ruby
<a name="ruby-sdk"></a>

Il kit SDK AWS per Ruby è disponibile [qui](https://aws.amazon.com/sdkforruby/). Si installa facilmente utilizzando Ruby gems con il seguente comando: 

```
gem install aws-sdk
```

Per ulteriori informazioni, consultare la pagina relativa alla [documentazione sul kit SDK AWS per Ruby](https://aws.amazon.com/documentation/sdkforruby/).

#### Creazione di bucket di input e output Amazon S3
<a name="ruby-s3"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Nella console, fai clic su **Create** Bucket.

1. Nel campo **Bucket Name**, inserisci il nome desiderato per il bucket di input.

1. Sempre nella console Amazon S3, fai nuovamente clic su **Crea bucket**.

1. Nel campo **Bucket Name, inserisci il nome** desiderato per il tuo bucket di output.

#### Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro
<a name="ruby-sns"></a>

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Nella console, fai clic su **Crea e aggiungi** e seleziona **Crea nuovo argomento**.

1. Nel campo **Nome argomento**, inserisci **ets-sample-topic** e quindi fai clic su **Crea argomento**.

1. Registra l'ARN di. `ets-sample-topic`

#### Creazione di una coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori
<a name="ruby-sqs"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, fai clic su **Crea** nuova coda.

1. Nel campo **Nome coda**, inserisci **ets-sample-queue** e quindi fai clic su **Crea** coda.

1. Registra l'URL della coda Amazon SQS.

#### Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS
<a name="ruby-sqs-subscribe"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, seleziona **ets-sample-queue**dall'elenco delle code.

1. In **Queue Actions**, seleziona l'argomento **Subscribe Queue to Amazon SNS**.

1. **In **Scegli un argomento**, seleziona **ets-sample-topic**e quindi fai clic su Iscriviti.**

Dovresti vedere una conferma che la tua coda è stata sottoscritta correttamente al tuo argomento.

#### Creazione di una pipeline Elastic Transcoder
<a name="ruby-pipeline"></a>

1. Apri la console [Amazon Elastic Transcoder](https://console.aws.amazon.com/elastictranscoder/home).

1. Nella console, fai clic su **Crea nuova pipeline**.

1. Nel campo **Pipeline Name**, immettete. **ets-sample-pipeline**

1. Nel campo **Bucket di input, inserisci il nome del tuo bucket** di input.

1. Lascia **IAM Role** come. **Console Default Role**

1. In **Configura il bucket Amazon S3 per file e playlist transcodificati**, inserisci il nome del bucket di output.

1. **Sempre in **Configura Amazon S3 Bucket per file e playlist transcodificati**, seleziona la classe di storage standard.**

1. **Espandi il menu a discesa Notifiche.**

1. Per tutti e quattro i tipi di eventi, seleziona **Usa un argomento SNS esistente** e in **Seleziona un argomento, seleziona**. **ets-sample-topic**

1. Fare clic su **Create Pipeline (Crea pipeline)**.

1. Registra l'ID della pipeline Elastic Transcoder.

#### Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile
<a name="ruby-cloudfront"></a>

1. Apri la [ CloudFront console Amazon](https://console.aws.amazon.com/cloudfront/home).

1. Nel pannello di navigazione della console, espandi **Private Content**, quindi fai clic su **Origin Access Identity**.

1. Fai clic su **Crea identità Origin Access**.

1. Fai clic su **Create (Crea)**.

1. Registra l'ID utente canonico di Amazon S3 generato quando crei la tua identità di accesso di origine.

1. **Nel riquadro di navigazione, fai clic su Distribuzione.**

1. Fai clic su **Create Distribution (Crea distribuzione)**.

1. Seleziona **Web**, quindi fai clic su **Continua**.

1. In **Impostazioni Origin**, inserisci il tuo bucket di output Amazon S3 come nome di dominio di **origine**.

1. Nel campo **Origin ID**, inserisci. **S3-transcoder-sample-output**

1. Per **Restrict Bucket Access**, seleziona **Sì**.

1. Fai clic su **Crea distribuzione** e registra il nome di dominio della distribuzione.

#### Modifica della policy sui bucket di Amazon S3
<a name="ruby-s3-policy"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Accanto al bucket di output, fai clic sull'**icona della lente di ingrandimento per visualizzare** le proprietà del bucket.

1. **Espandi **Autorizzazioni** e fai clic su Aggiungi politica del bucket.**

1. **Inserisci la seguente dichiarazione sulla politica, sostituendo **CloudFront-oai-s3- con e s3** - con. canonical-user-id **your recorded Amazon S3 canonical user ID** output-bucket-name** **the name of your output bucket**

1. Fai clic su **Salva**.

```
{
  "Version":"2012-10-17",		 	 	 
  "Id":"PolicyForCloudFrontPrivateContent",
  "Statement":[{
     "Sid":" Granting CloudFront OAI access to private content",
     "Effect":"Allow",
     "Principal":{ "CanonicalUser":"<CloudFront-oai-s3-canonical-user-id>" },
     "Action":"s3:GetObject",
     "Resource":"arn:aws:s3:::<s3-output-bucket-name>/*"
   }]
}
```

Passare a [Esempi di Ruby](#ruby-sample).

### Configurazione dell'ambiente PHP
<a name="env-php"></a>

Questa sezione guida nella configurazione dell'ambiente PHP.

**Topics**
+ [Installazione del codice di esempio](#php-install)
+ [Configurazione del kit SDK AWS per PHP](#php-sdk)
+ [Creazione di bucket di input e output Amazon S3](#php-s3)
+ [Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro](#php-sns)
+ [Iscrizione del tuo server ad Amazon SNS](#php-sns-sub)
+ [Creazione di una pipeline Elastic Transcoder](#php-pipeline)
+ [Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile](#php-cloudfront)
+ [Modifica della policy sui bucket di Amazon S3](#php-s3-policy)

Il codice di esempio prevede tre presupposti fondamentali:
+ Gli esempi di PHP sono eseguiti all'interno di un server Apache.
+ Il server Apache deve essere in grado di ricevere input da Internet per ricevere notifiche Amazon SNS.
+ Gli esempi sono scritti per funzionare con PHP versione 5.4 o superiore.

#### Installazione del codice di esempio
<a name="php-install"></a>

Per utilizzare il codice di esempio PHP, prima occorre scaricarlo e installarlo. 
+ Scaricare il codice di esempio:
  + [Codice di esempio HLS](samples/phphls.zip).
  + [Codice di esempio di notifica](samples/phpnotification.zip).
+ Decomprimere il codice di esempio.
+ Inserisci il codice sotto quello del tuo server Apache. DocumentRoot
+ Rimuovere il file .zip del codice di esempio scaricato. 
+ Aggiornare il percorso per l'installazione del kit SDK AWS.

**Nota**  
Nei file `HlsJobCreationSample.php` e `JobStatusNotificationsSample.php`, aggiornare il percorso per il file `autoload.php`. Se si utilizza l'installazione phar, è possibile usare il percorso per il file `aws.phar` scaricato, che include tutte le dipendenze necessarie. 

#### Configurazione del kit SDK AWS per PHP
<a name="php-sdk"></a>

Il kit SDK AWS per PHP si trova [qui](https://aws.amazon.com/sdkforphp/). Per questo tutorial, consigliamo l'installazione phar, anche se i progetti a lungo termine sono gestiti in modo migliore con composer. 

Per ulteriori informazioni, consulta la [documentazione relativa al kit SDK AWS per PHP](https://aws.amazon.com/documentation/sdkforphp/).

#### Creazione di bucket di input e output Amazon S3
<a name="php-s3"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Nella console, fai clic su **Create** Bucket.

1. Nel campo **Bucket Name**, inserisci il nome desiderato per il bucket di input.

1. Sempre nella console Amazon S3, fai nuovamente clic su **Crea bucket**.

1. Nel campo **Bucket Name, inserisci il nome** desiderato per il tuo bucket di output.

#### Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro
<a name="php-sns"></a>

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Nella console, fai clic su **Crea e aggiungi** e seleziona **Crea nuovo argomento**.

1. Nel campo **Nome argomento**, inserisci **ets-sample-topic** e quindi fai clic su **Crea argomento**.

1. Registra l'ARN di. `ets-sample-topic`

#### Iscrizione del tuo server ad Amazon SNS
<a name="php-sns-sub"></a>

1. Verificare che il codice di esempio PHP sia installato.

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. In **AdditionalActions**, fai clic su **Crea** abbonamento.

1. Selezionare HTTP o HTTPS in base alla configurazione del server.

1. In **Endpoint (Endpoint)**, immettere l'endpoint del server. Il percorso dell'endpoint deve puntare a `JobStatusNotificationsSampleNotificationHandler.php`. 

1. Fai clic su **Subscribe (Esegui sottoscrizione)**. L'operazione invia una richiesta di sottoscrizione all'endpoint PHP.

Il codice di esempio PHP gestisce automaticamente la richiesta di sottoscrizione e conferma una sottoscrizione. La richiesta e la risposta di sottoscrizione sono scritte sul file `/tmp/subscribe_requests.txt`.

#### Creazione di una pipeline Elastic Transcoder
<a name="php-pipeline"></a>

1. Apri la console [Amazon Elastic Transcoder](https://console.aws.amazon.com/elastictranscoder/home).

1. Nella console, fai clic su **Crea nuova pipeline**.

1. Nel campo **Pipeline Name**, immettete. **ets-sample-pipeline**

1. Nel campo **Bucket di input, inserisci il nome del tuo bucket** di input.

1. Lascia **IAM Role** come. **Console Default Role**

1. In **Configura il bucket Amazon S3 per file e playlist transcodificati**, inserisci il nome del bucket di output.

1. **Sempre in **Configura Amazon S3 Bucket per file e playlist transcodificati**, seleziona la classe di storage standard.**

1. **Espandi il menu a discesa Notifiche.**

1. Per tutti e quattro i tipi di eventi, seleziona **Usa un argomento SNS esistente** e in **Seleziona un argomento, seleziona**. **ets-sample-topic**

1. Fare clic su **Create Pipeline (Crea pipeline)**.

1. Registra l'ID della pipeline Elastic Transcoder.

#### Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile
<a name="php-cloudfront"></a>

1. Apri la [ CloudFront console Amazon](https://console.aws.amazon.com/cloudfront/home).

1. Nel pannello di navigazione della console, espandi **Private Content**, quindi fai clic su **Origin Access Identity**.

1. Fai clic su **Crea identità Origin Access**.

1. Fai clic su **Create (Crea)**.

1. Registra l'ID utente canonico di Amazon S3 generato quando crei la tua identità di accesso di origine.

1. **Nel riquadro di navigazione, fai clic su Distribuzione.**

1. Fai clic su **Create Distribution (Crea distribuzione)**.

1. Seleziona **Web**, quindi fai clic su **Continua**.

1. In **Impostazioni Origin**, inserisci il tuo bucket di output Amazon S3 come nome di dominio di **origine**.

1. Nel campo **Origin ID**, inserisci. **S3-transcoder-sample-output**

1. Per **Restrict Bucket Access**, seleziona **Sì**.

1. Fai clic su **Crea distribuzione** e registra il nome di dominio della distribuzione.

#### Modifica della policy sui bucket di Amazon S3
<a name="php-s3-policy"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Accanto al bucket di output, fai clic sull'**icona della lente di ingrandimento per visualizzare** le proprietà del bucket.

1. **Espandi **Autorizzazioni** e fai clic su Aggiungi politica del bucket.**

1. **Inserisci la seguente dichiarazione sulla politica, sostituendo **CloudFront-oai-s3- con e s3** - con. canonical-user-id **your recorded Amazon S3 canonical user ID** output-bucket-name** **the name of your output bucket**

1. Fai clic su **Salva**.

```
{
  "Version":"2012-10-17",		 	 	 
  "Id":"PolicyForCloudFrontPrivateContent",
  "Statement":[{
     "Sid":" Granting CloudFront OAI access to private content",
     "Effect":"Allow",
     "Principal":{ "CanonicalUser":"<CloudFront-oai-s3-canonical-user-id>" },
     "Action":"s3:GetObject",
     "Resource":"arn:aws:s3:::<s3-output-bucket-name>/*"
   }]
}
```

Passare a [Esempi PHP](#php-sample).

### Configurazione dell'ambiente Python
<a name="env-python"></a>

Questa sezione guida nella configurazione dell'ambiente Python.

**Topics**
+ [Configurazione del kit SDK AWS per Python](#python-sdk)
+ [Creazione di bucket di input e output Amazon S3](#python-s3)
+ [Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro](#python-sns)
+ [Creazione della coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori](#python-sqs)
+ [Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS](#python-sqs-subscribe)
+ [Creazione di una pipeline Elastic Transcoder](#python-pipeline)
+ [Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile](#python-cloudfront)
+ [Modifica della policy sui bucket di Amazon S3](#python-s3-policy)

Prevede un presupposto fondamentale:
+ Gli esempi sono scritti per essere compatibili con Python versione 2.7.

#### Configurazione del kit SDK AWS per Python
<a name="python-sdk"></a>

Il kit SDK AWS per Python si trova [qui](https://aws.amazon.com/sdkforpython/). È anche facilmente installabile utilizzando PIP tramite il comando seguente: 

```
pip-2.7 install boto
```

Per ulteriori informazioni, consultare la pagina relativa alla [documentazione sul kit SDK AWS per Python](http://docs.pythonboto.org/en/latest/).

#### Creazione di bucket di input e output Amazon S3
<a name="python-s3"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Nella console, fai clic su **Create** Bucket.

1. Nel campo **Bucket Name**, inserisci il nome desiderato per il bucket di input.

1. Sempre nella console Amazon S3, fai nuovamente clic su **Crea bucket**.

1. Nel campo **Bucket Name, inserisci il nome** desiderato per il tuo bucket di output.

#### Creazione di un argomento Amazon SNS per ricevere notifiche sullo stato del lavoro
<a name="python-sns"></a>

1. Apri la [console Amazon SNS](https://console.aws.amazon.com/sns/home).

1. Nella console, fai clic su **Crea e aggiungi** e seleziona **Crea nuovo argomento**.

1. Nel campo **Nome argomento**, inserisci **ets-sample-topic** e quindi fai clic su **Crea argomento**.

1. Registra l'ARN di. `ets-sample-topic`

#### Creazione della coda Amazon SQS per il sondaggio delle notifiche sullo stato dei lavori
<a name="python-sqs"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, fai clic su **Crea** nuova coda.

1. Nel campo **Nome coda**, inserisci **ets-sample-queue** e quindi fai clic su **Crea** coda.

1. Registra l'URL della coda Amazon SQS.

#### Sottoscrizione della coda Amazon SQS all'argomento Amazon SNS
<a name="python-sqs-subscribe"></a>

1. Apri la [console Amazon SQS](https://console.aws.amazon.com/sqs/home).

1. Nella console, seleziona **ets-sample-queue**dall'elenco delle code.

1. In **Queue Actions**, seleziona l'argomento **Subscribe Queue to Amazon SNS**.

1. **In **Scegli un argomento**, seleziona **ets-sample-topic**e quindi fai clic su Iscriviti.**

Dovresti vedere una conferma che la tua coda è stata sottoscritta correttamente al tuo argomento.

#### Creazione di una pipeline Elastic Transcoder
<a name="python-pipeline"></a>

1. Apri la console [Amazon Elastic Transcoder](https://console.aws.amazon.com/elastictranscoder/home).

1. Nella console, fai clic su **Crea nuova pipeline**.

1. Nel campo **Pipeline Name**, immettete. **ets-sample-pipeline**

1. Nel campo **Bucket di input, inserisci il nome del tuo bucket** di input.

1. Lascia **IAM Role** come. **Console Default Role**

1. In **Configura il bucket Amazon S3 per file e playlist transcodificati**, inserisci il nome del bucket di output.

1. **Sempre in **Configura Amazon S3 Bucket per file e playlist transcodificati**, seleziona la classe di storage standard.**

1. **Espandi il menu a discesa Notifiche.**

1. Per tutti e quattro i tipi di eventi, seleziona **Usa un argomento SNS esistente** e in **Seleziona un argomento, seleziona**. **ets-sample-topic**

1. Fare clic su **Create Pipeline (Crea pipeline)**.

1. Registra l'ID della pipeline Elastic Transcoder.

#### Creare una CloudFront distribuzione Amazon per distribuire contenuti in modo scalabile
<a name="python-cloudfront"></a>

1. Apri la [ CloudFront console Amazon](https://console.aws.amazon.com/cloudfront/home).

1. Nel pannello di navigazione della console, espandi **Private Content**, quindi fai clic su **Origin Access Identity**.

1. Fai clic su **Crea identità Origin Access**.

1. Fai clic su **Create (Crea)**.

1. Registra l'ID utente canonico di Amazon S3 generato quando crei la tua identità di accesso di origine.

1. **Nel riquadro di navigazione, fai clic su Distribuzione.**

1. Fai clic su **Create Distribution (Crea distribuzione)**.

1. Seleziona **Web**, quindi fai clic su **Continua**.

1. In **Impostazioni Origin**, inserisci il tuo bucket di output Amazon S3 come nome di dominio di **origine**.

1. Nel campo **Origin ID**, inserisci. **S3-transcoder-sample-output**

1. Per **Restrict Bucket Access**, seleziona **Sì**.

1. Fai clic su **Crea distribuzione** e registra il nome di dominio della distribuzione.

#### Modifica della policy sui bucket di Amazon S3
<a name="python-s3-policy"></a>

1. Apri la [console Amazon S3](https://console.aws.amazon.com/s3/home).

1. Accanto al bucket di output, fai clic sull'**icona della lente di ingrandimento per visualizzare** le proprietà del bucket.

1. **Espandi **Autorizzazioni** e fai clic su Aggiungi politica del bucket.**

1. **Inserisci la seguente dichiarazione sulla politica, sostituendo **CloudFront-oai-s3- con e s3** - con. canonical-user-id **your recorded Amazon S3 canonical user ID** output-bucket-name** **the name of your output bucket**

1. Fai clic su **Salva**.

```
{
  "Version":"2012-10-17",		 	 	 
  "Id":"PolicyForCloudFrontPrivateContent",
  "Statement":[{
     "Sid":" Granting CloudFront OAI access to private content",
     "Effect":"Allow",
     "Principal":{ "CanonicalUser":"<CloudFront-oai-s3-canonical-user-id>" },
     "Action":"s3:GetObject",
     "Resource":"arn:aws:s3:::<s3-output-bucket-name>/*"
   }]
}
```

Passare a [Esempi Python](#python-sample).

## Esempi Java
<a name="java-sample"></a>

Tutti gli esempi Java prevedono due presupposti: 
+ Gli esempi sono scritti in modo da funzionare con Java versione 1.6 o superiore.
+ Gli esempi sono eseguiti con Eclipse e il Toolkit for Eclipse di AWS.

### Esempi HLS
<a name="java-hls"></a>

**Topics**
+ [Download esempio HLS Java](#java-hls-link)
+ [Parti del codice di esempio](#java-hls-list)
+ [Processi](#java-hls-tasklist)

Questo esempio mostra come creare un job HLS e un file di playlist HLS che possono essere utilizzati per riprodurre un flusso di bit rate adattivo.

#### Download esempio HLS Java
<a name="java-hls-link"></a>

Scaricare il codice di esempio [qui](samples/javasamples.zip). 

#### Parti del codice di esempio
<a name="java-hls-list"></a>

Il codice di esempio Java include: 
+ La classe `HlsJobCreationSample`

#### Processi
<a name="java-hls-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Java](#env-java)

1. Scaricare il codice di esempio.

1. In Eclipse, aprire il file `com/amazonaws/services/elastictranscoder/samples/HlsJobCreationSample.java`.

1. Sostituire PIPELINE\$1ID e INPUT\$1KEY con i valori appropriati.

1. Eseguire gli esempi su Eclipse.

### Esempi di notifica
<a name="java-notifications"></a>

**Topics**
+ [Esempi di sintassi per le notifiche](#java-notification-example)
+ [Download esempio di notifica Java](#java-link)
+ [Parti del codice di esempio](#java-list)
+ [Processi](#java-tasklist)

#### Esempi di sintassi per le notifiche
<a name="java-notification-example"></a>

```
{
   "Type" : "Notification",
   "MessageId" : "341527b6-9081-5f3d-b933-6c8472c3be40",
   "TopicArn" : "arn:aws:sns:us-east-1:123456789012:ets-sample-topic",
   "Subject" : "Amazon Elastic Transcoder has scheduled job 1387847681009
      -abcdef for transcoding.",
   "Message" : "{\n  \"state\" : \"PROGRESSING\",\n
      \"version\" : \"2012-09-25\",\n  \"jobId\" : \"1387847681009-abcdef\",
      \n \"pipelineId\" : \"1387847629327-fedcba\",\n  \"input\" : {\n
      \"key\" : \"input/example/key.mp4\",\n \"frameRate\" : \"auto\",\n
      \"resolution\" : \"auto\",\n  \"aspectRatio\" : \"auto\",\n
      \"interlaced\" : \"auto\",\n  \"container\" : \"auto\"\n  },\n
      \"outputKeyPrefix\" : \"elastic-transcoder-samples/\",\n
      \"outputs\" : [ {\n \"id\" : \"1\",\n \"presetId\" :
      \"1351620000001-000020\",\n \"key\" : \"output/example/key.mp4\",\n
      \"thumbnailPattern\" : \"\",\n \"rotate\" : \"auto\",\n \"status\" :
      \"Progressing\"\n  } ]\n}",
   "Timestamp" : "2013-12-24T01:14:42.493Z",
   "SignatureVersion" : "1",
   "Signature" : "ElSqJW3ZksCPViYGTayI/p+LjdF2HB42iJlIJRJ+jWzWwygXdiJXvZXl94qhd/tLln1lxPqijjivb5RWu7n5yzdZwbod6lpLwyZ2TfWM6dZt57OzsG3GbdTxgqwVsztVSyWCYhcV8f+CrT3IQrfrU3Me/SRYVUqrSUXXsu4Ls7A2q9mosG7v0Sn+3Z1rAa9+Rf6QmkfAg05UX0sLyA+I2hFqTu5oAGDK4Cm6FHuIwV+oYJXNBbGWuS7tD6mRNwrYvPBlUvBLXx9m3CbqSXv5Yoj39vglv+1djtaLA3GpwX+B1hHx8QT373lgmmsmGDRWhSQretpOTWDYb81PV2K0bg==",
   "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-e372f8ca30337fdb084e8ac449342c77.pem",
   "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=
      Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:ets-
      sample-topic:b3ec47e5-e1f0-401f-a0a5-98c7fe405c2b"
 }
```

#### Download esempio di notifica Java
<a name="java-link"></a>

Scaricare il codice di esempio [qui](samples/javasamples.zip).

#### Parti del codice di esempio
<a name="java-list"></a>

Il codice di esempio Java include: 
+ La classe`Notification`: Per utilizzare le notifiche da Java, utilizziamo la libreria Jackson JSON per deserializzare le notifiche sullo stato dei lavori. POJOs La `Notification` classe modella il messaggio che riceviamo dalla coda di Amazon SQS.
+ La classe`JobStatusNotification`: La `JobStatusNotification` classe modella una notifica Elastic Transcoder.
+ La classe`SqsQueueNotificationWorker`: la `SqsQueueNotificationWorker` classe può essere avviata in un thread separato per eseguire il polling di Amazon SQS e gestire le notifiche sullo stato del lavoro. Questa classe riceve messaggi, chiama tutti gli handler registrati per ogni notifica ricevuta ed elimina il messaggio dalla coda.
+ Interfaccia `JobStatusNotificationHandler`: l'interfaccia `JobStatusNotificationHandler` può essere implementata per consentire la gestione personalizzata delle notifiche. 
+ Classe `JobStatusNotificationsSample`: la classe `JobStatusNotificationsSample` crea un processo e ne attende il completamento. Quando il processo entra in uno stato di completamento, il worker della coda si arresta e l'applicazione esce.

#### Processi
<a name="java-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Java](#env-java).

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio nella directory dei sorgenti del progetto JAVA.

1. Aprire il file `com/amazonaws/services/elastictranscoder/samples/JobStatusNotificationsSample.java` in Eclipse.

1. Sostituire PIPELINE\$1ID, SQS\$1QUEUE\$1URL e INPUT\$1KEY con i valori appropriati.

1. Eseguire l'esempio su Eclipse.

## Esempi di Ruby
<a name="ruby-sample"></a>

Tutti gli esempi Ruby prevedono un presupposto fondamentale: 
+ Gli esempi sono scritti per essere compatibili con Ruby versione 1.9.

### Esempi HLS
<a name="ruby-hls"></a>

**Topics**
+ [Download esempio HLS Ruby](#ruby-hls-link)
+ [Parti del codice di esempio](#ruby-hls-list)
+ [Processi](#ruby-hls-tasklist)

Questo esempio mostra come creare un job HLS e un file di playlist HLS che possono essere utilizzati per riprodurre un flusso di bit rate adattivo.

#### Download esempio HLS Ruby
<a name="ruby-hls-link"></a>

Scaricare il codice di esempio [qui](samples/rubyhls.zip). 

#### Parti del codice di esempio
<a name="ruby-hls-list"></a>

Il codice di esempio Ruby include: 
+ Il file `HlsJobCreationSample.rb`

#### Processi
<a name="ruby-hls-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Ruby](#env-ruby)

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio nella directory dei sorgenti del progetto Ruby.

1. Modificare il file `HlsJobCreationSample.rb` e sostituire pipeline\$1id e input\$1key con i valori appropriati.

1. Da un terminal, passare alla directory in cui è stato decompresso il codice di esempio ed eseguire:

```
$ruby HlsJobCreationSample.rb
```

### Esempi di notifica
<a name="ruby-notifications"></a>

**Topics**
+ [Esempi di sintassi per le notifiche](#ruby-notification-example)
+ [Download esempio di notifica Ruby](#ruby-link)
+ [Parti del codice di esempio](#ruby-list)
+ [Processi](#ruby-tasklist)

#### Esempi di sintassi per le notifiche
<a name="ruby-notification-example"></a>

```
{
   "Type" : "Notification",
   "MessageId" : "341527b6-9081-5f3d-b933-6c8472c3be40",
   "TopicArn" : "arn:aws:sns:us-east-1:123456789012:ets-sample-topic",
   "Subject" : "Amazon Elastic Transcoder has scheduled job 1387847681009
      -abcdef for transcoding.",
   "Message" : "{\n  \"state\" : \"PROGRESSING\",\n
      \"version\" : \"2012-09-25\",\n  \"jobId\" : \"1387847681009-abcdef\",
      \n \"pipelineId\" : \"1387847629327-fedcba\",\n  \"input\" : {\n
      \"key\" : \"input/example/key.mp4\",\n \"frameRate\" : \"auto\",\n
      \"resolution\" : \"auto\",\n  \"aspectRatio\" : \"auto\",\n
      \"interlaced\" : \"auto\",\n  \"container\" : \"auto\"\n  },\n
      \"outputKeyPrefix\" : \"elastic-transcoder-samples/\",\n
      \"outputs\" : [ {\n \"id\" : \"1\",\n \"presetId\" :
      \"1351620000001-000020\",\n \"key\" : \"output/example/key.mp4\",\n
      \"thumbnailPattern\" : \"\",\n \"rotate\" : \"auto\",\n \"status\" :
      \"Progressing\"\n  } ]\n}",
   "Timestamp" : "2013-12-24T01:14:42.493Z",
   "SignatureVersion" : "1",
   "Signature" : "ElSqJW3ZksCPViYGTayI/p+LjdF2HB42iJlIJRJ+jWzWwygXdiJXvZXl94qhd/tLln1lxPqijjivb5RWu7n5yzdZwbod6lpLwyZ2TfWM6dZt57OzsG3GbdTxgqwVsztVSyWCYhcV8f+CrT3IQrfrU3Me/SRYVUqrSUXXsu4Ls7A2q9mosG7v0Sn+3Z1rAa9+Rf6QmkfAg05UX0sLyA+I2hFqTu5oAGDK4Cm6FHuIwV+oYJXNBbGWuS7tD6mRNwrYvPBlUvBLXx9m3CbqSXv5Yoj39vglv+1djtaLA3GpwX+B1hHx8QT373lgmmsmGDRWhSQretpOTWDYb81PV2K0bg==",
   "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-e372f8ca30337fdb084e8ac449342c77.pem",
   "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=
      Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:ets-
      sample-topic:b3ec47e5-e1f0-401f-a0a5-98c7fe405c2b"
 }
```

#### Download esempio di notifica Ruby
<a name="ruby-link"></a>

Scaricare il codice di esempio [qui](samples/rubynotification.zip).

#### Parti del codice di esempio
<a name="ruby-list"></a>

Il codice di esempio Ruby include: 
+ La classe`SqsQueueNotificationWorker`: la `SqsQueueNotificationWorker` classe interroga Amazon SQS per le notifiche, chiama tutti i gestori registrati per ogni notifica ed elimina il messaggio dalla coda. Notare che il worker è in esecuzione su un thread separato. Se l'implementazione Ruby utilizza thread "green", allora viene eseguito un singolo thread per volta (nessuna elaborazione multipla reale).
+ Lo script`JobStatusNotificationsSample.rb`: questo script crea un job Elastic Transcoder, avvia un worker Amazon SQS e attende il completamento del processo. Il gestore fornito indica al lavoratore Amazon SQS di interrompersi quando l'elaborazione del lavoro creato è completa. La gestione delle notifiche avviene chiamando il metodo add\$1handlers e fornendo un Proc o lambda come handler che acquisisce un singolo argomento. Per ogni notifica ricevuta, tutti gli handler registrati sono chiamati con la notifica fornita come argomento di input all'handler.

#### Processi
<a name="ruby-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Ruby](#env-ruby)

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio nella directory dei sorgenti del progetto Ruby.

1. Modificare il file `JobStatusNotificationsSample.rb` e sostituire pipeline\$1id, sqs\$1queue\$1url e input\$1key con i valori appropriati.

1. Da un terminal, passare alla directory in cui è stato decompresso il codice di esempio ed eseguire: 

```
$ruby JobStatusNotificationsSample.rb
```

## Esempi PHP
<a name="php-sample"></a>

Tutti gli esempi PHP prevedono tre presupposti fondamentali:
+ Gli esempi di PHP sono eseguiti all'interno di un server Apache.
+ Il server Apache deve essere in grado di ricevere input da Internet per ricevere notifiche Amazon SNS.
+ Gli esempi sono scritti per funzionare con PHP versione 5.4 o superiore.

### Esempi HLS
<a name="php-hls"></a>

**Topics**
+ [Download esempio HLS PHP](#php-hls-link)
+ [Parti del codice di esempio](#php-hls-list)
+ [Processi](#php-hls-tasklist)

Questo esempio mostra come creare un job HLS e un file di playlist HLS che possono essere utilizzati per riprodurre un flusso di bit rate adattivo.

#### Download esempio HLS PHP
<a name="php-hls-link"></a>

Scaricare il codice di esempio [qui](samples/phphls.zip). 

#### Parti del codice di esempio
<a name="php-hls-list"></a>

Il codice di esempio PHP include: 
+ Il file `HlsJobCreationSample.php`

#### Processi
<a name="php-hls-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente PHP](#env-php)

1. Scaricare il codice di esempio.

1. <your-endpoint>Nel tuo browser, carica la pagina http:///transcoder-samples/ .php. HlsJobCreationSample

1. Completare ID pipeline e chiave di input, quindi inviare il modulo per creare un processo.

### Esempi di notifica
<a name="php-notifications"></a>

**Topics**
+ [Esempi di sintassi per le notifiche](#php-notification-example)
+ [Download esempio di notifica PHP](#php-link)
+ [Parti del codice di esempio](#php-list)
+ [Processi](#php-tasklist)

#### Esempi di sintassi per le notifiche
<a name="php-notification-example"></a>

```
{
   "Type" : "Notification",
   "MessageId" : "341527b6-9081-5f3d-b933-6c8472c3be40",
   "TopicArn" : "arn:aws:sns:us-east-1:123456789012:ets-sample-topic",
   "Subject" : "Amazon Elastic Transcoder has scheduled job 1387847681009
      -abcdef for transcoding.",
   "Message" : "{\n  \"state\" : \"PROGRESSING\",\n
      \"version\" : \"2012-09-25\",\n  \"jobId\" : \"1387847681009-abcdef\",
      \n \"pipelineId\" : \"1387847629327-fedcba\",\n  \"input\" : {\n
      \"key\" : \"input/example/key.mp4\",\n \"frameRate\" : \"auto\",\n
      \"resolution\" : \"auto\",\n  \"aspectRatio\" : \"auto\",\n
      \"interlaced\" : \"auto\",\n  \"container\" : \"auto\"\n  },\n
      \"outputKeyPrefix\" : \"elastic-transcoder-samples/\",\n
      \"outputs\" : [ {\n \"id\" : \"1\",\n \"presetId\" :
      \"1351620000001-000020\",\n \"key\" : \"output/example/key.mp4\",\n
      \"thumbnailPattern\" : \"\",\n \"rotate\" : \"auto\",\n \"status\" :
      \"Progressing\"\n  } ]\n}",
   "Timestamp" : "2013-12-24T01:14:42.493Z",
   "SignatureVersion" : "1",
   "Signature" : "ElSqJW3ZksCPViYGTayI/p+LjdF2HB42iJlIJRJ+jWzWwygXdiJXvZXl94qhd/tLln1lxPqijjivb5RWu7n5yzdZwbod6lpLwyZ2TfWM6dZt57OzsG3GbdTxgqwVsztVSyWCYhcV8f+CrT3IQrfrU3Me/SRYVUqrSUXXsu4Ls7A2q9mosG7v0Sn+3Z1rAa9+Rf6QmkfAg05UX0sLyA+I2hFqTu5oAGDK4Cm6FHuIwV+oYJXNBbGWuS7tD6mRNwrYvPBlUvBLXx9m3CbqSXv5Yoj39vglv+1djtaLA3GpwX+B1hHx8QT373lgmmsmGDRWhSQretpOTWDYb81PV2K0bg==",
   "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-e372f8ca30337fdb084e8ac449342c77.pem",
   "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=
      Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:ets-
      sample-topic:b3ec47e5-e1f0-401f-a0a5-98c7fe405c2b"
 }
```

#### Download esempio di notifica PHP
<a name="php-link"></a>

Scaricare il codice di esempio [qui](samples/phpnotification.zip).

#### Parti del codice di esempio
<a name="php-list"></a>

Il codice di esempio PHP include:
+ <job-id>Il file`JobStatusNotificationsSampleNotificationHandler.php`: quando una notifica viene inviata POSTed al server, il gestore delle notifiche riscrive lo stato in un file in /tmp/.
+ File `JobStatusNotificationsSample.php`: quando l'handler della notifica riscrive lo stato su un file nella cartella /tmp/<id processo>, il file `JobStatusNotificationsSample.php` carica il file di stato della cartella /tmp/<id processo> specificato dall'ID della stringa di query fornita.

#### Processi
<a name="php-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente PHP](#env-php)

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio nella directory dei sorgenti del progetto PHP.

1. <your-endpoint>Nel tuo browser, carica la pagina http:///transcoder-samples/ .php. JobStatusNotificationsSample

1. Completare ID pipeline e chiave di input da transcodificare, quindi premere il pulsante **Create Job (Crea processo)**.

## Esempi Python
<a name="python-sample"></a>

Tutti gli esempi Python prevedono un presupposto fondamentale: 
+ Gli esempi sono scritti per essere compatibili con Python versione 2.7.

### Esempi HLS
<a name="python-hls"></a>

**Topics**
+ [Download esempio HLS Python](#python-hls-link)
+ [Parti del codice di esempio](#python-hls-list)
+ [Processi](#python-hls-tasklist)

Questo esempio mostra come creare un job HLS e un file di playlist HLS che possono essere usati per riprodurre un flusso di bit rate adattivo.

#### Download esempio HLS Python
<a name="python-hls-link"></a>

Scaricare il codice di esempio [qui](samples/pythonhls.zip). 

#### Parti del codice di esempio
<a name="python-hls-list"></a>

Il codice di esempio Python include: 
+ Il file `HlsJobCreationSample.py`

#### Processi
<a name="python-hls-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Python](#env-python)

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio.

1. Modificare il file `HlsJobCreationSample.py` e sostituire pipeline\$1id e input\$1key con i valori appropriati.

1. Da un terminal, passare alla directory in cui è stato decompresso il codice di esempio ed eseguire:

```
$python HlsJobCreationSample.py
```

### Esempi di notifica
<a name="python-notifications"></a>

**Topics**
+ [Esempi di sintassi per le notifiche](#python-notification-example)
+ [Download esempio di notifica Python](#python-link)
+ [Parti del codice di esempio](#python-list)
+ [Processi](#python-tasklist)

#### Esempi di sintassi per le notifiche
<a name="python-notification-example"></a>

```
{
   "Type" : "Notification",
   "MessageId" : "341527b6-9081-5f3d-b933-6c8472c3be40",
   "TopicArn" : "arn:aws:sns:us-east-1:123456789012:ets-sample-topic",
   "Subject" : "Amazon Elastic Transcoder has scheduled job 1387847681009
      -abcdef for transcoding.",
   "Message" : "{\n  \"state\" : \"PROGRESSING\",\n
      \"version\" : \"2012-09-25\",\n  \"jobId\" : \"1387847681009-abcdef\",
      \n \"pipelineId\" : \"1387847629327-fedcba\",\n  \"input\" : {\n
      \"key\" : \"input/example/key.mp4\",\n \"frameRate\" : \"auto\",\n
      \"resolution\" : \"auto\",\n  \"aspectRatio\" : \"auto\",\n
      \"interlaced\" : \"auto\",\n  \"container\" : \"auto\"\n  },\n
      \"outputKeyPrefix\" : \"elastic-transcoder-samples/\",\n
      \"outputs\" : [ {\n \"id\" : \"1\",\n \"presetId\" :
      \"1351620000001-000020\",\n \"key\" : \"output/example/key.mp4\",\n
      \"thumbnailPattern\" : \"\",\n \"rotate\" : \"auto\",\n \"status\" :
      \"Progressing\"\n  } ]\n}",
   "Timestamp" : "2013-12-24T01:14:42.493Z",
   "SignatureVersion" : "1",
   "Signature" : "ElSqJW3ZksCPViYGTayI/p+LjdF2HB42iJlIJRJ+jWzWwygXdiJXvZXl94qhd/tLln1lxPqijjivb5RWu7n5yzdZwbod6lpLwyZ2TfWM6dZt57OzsG3GbdTxgqwVsztVSyWCYhcV8f+CrT3IQrfrU3Me/SRYVUqrSUXXsu4Ls7A2q9mosG7v0Sn+3Z1rAa9+Rf6QmkfAg05UX0sLyA+I2hFqTu5oAGDK4Cm6FHuIwV+oYJXNBbGWuS7tD6mRNwrYvPBlUvBLXx9m3CbqSXv5Yoj39vglv+1djtaLA3GpwX+B1hHx8QT373lgmmsmGDRWhSQretpOTWDYb81PV2K0bg==",
   "SigningCertURL" : "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-e372f8ca30337fdb084e8ac449342c77.pem",
   "UnsubscribeURL" : "https://sns.us-east-1.amazonaws.com/?Action=
      Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:123456789012:ets-
      sample-topic:b3ec47e5-e1f0-401f-a0a5-98c7fe405c2b"
 }
```

#### Download esempio di notifica Python
<a name="python-link"></a>

Scaricare il codice di esempio [qui](samples/pythonnotification.zip).

#### Parti del codice di esempio
<a name="python-list"></a>

Il codice di esempio Python include:
+ La classe`SqsQueueNotificationWorker.py`: la `SqsQueueNotificationWorker` classe interroga Amazon SQS e gestisce le notifiche in un processo separato. Questo consente una reale multielaborazione in Python. Questa classe riceve messaggi, chiama tutti gli handler registrati per ogni notifica ricevuta ed elimina il messaggio dalla coda. Questa classe include anche la definizione della `JobStatusNotificationHandler` classe, che viene fornita per fornire un framework per la gestione delle notifiche Elastic Transcoder. Questa classe può essere estesa e il metodo di gestione sovrascritto per fornire una gestione personalizzata del processo. Osservare come questo non segua gli standard Python di duck typing, ma offra una definizione formale degli handler per gli scopi del presente esempio. 
+ Lo script`JobStatusNotificationSample.py`: lo `JobStatusNotificationSample.py` script crea un lavoro in Elastic Transcoder e attende che venga completato. Al termine del processo, interrompe il processo di polling della coda ed esce. La sincronizzazione tra processi utilizzando l'oggetto del valore di multielaborazione è necessaria in quanto l'handler opera in un processo separato rispetto alla coda sulla quale esegue il polling.

#### Processi
<a name="python-tasklist"></a>

Per eseguire l'esempio, attenersi alla seguente procedura:

1. Configurare l'ambiente secondo le seguenti istruzioni: [Configurazione dell'ambiente Python](#env-python)

1. Scaricare il codice di esempio.

1. Decomprimere il codice di esempio in una cartella locale.

1. Modificare il file `JobStatusNotificationsSample.py` e sostituire pipeline\$1id, sqs\$1queue\$1url e input\$1key con i valori appropriati.

1. Da un terminal, passare alla directory in cui è stato decompresso il codice di esempio ed eseguire: 

```
$python JobStatusNotificationsSample.py
```