

Hinweis zum Ende des Supports: Am 13. November 2025 AWS wird der Support für Amazon Elastic Transcoder eingestellt. Nach dem 13. November 2025 können Sie nicht mehr auf die Elastic Transcoder Transcoder-Konsole oder die Elastic Transcoder Transcoder-Ressourcen zugreifen.

[Weitere Informationen zur Umstellung auf finden Sie in diesem AWS Elemental MediaConvert Blogbeitrag.](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS SDK-Beispiel-Code
<a name="sample-code"></a>

Dieser Abschnitt enthält Beispielcode, der zeigt, wie Sie AWS SDKs für Java, Ruby, PHP und Python verwenden, um die folgenden Operationen auszuführen:
+ Erstellen Sie eine HLS-Wiedergabeliste in Amazon Elastic Transcoder
+ Einen Job in Elastic Transcoder erstellen
+ Eine Amazon Simple Queue Service (Amazon SQS) -Warteschlange abfragen
+ Analysieren Sie eine Benachrichtigung vom Amazon Simple Notification Service (Amazon SNS)
+ Bearbeitung der Benachrichtigung von Amazon SNS

Diese Operationen entsprechen den Best Practices von Elastic Transcoder. Das Abfragen einer Amazon SQS SQS-Warteschlange ermöglicht lange Abfragen, was effizienter skaliert werden kann als reguläre Abfragen. Durch die Einrichtung von Amazon SNS SNS-Benachrichtigungen kann Elastic Transcoder Nachrichten an die Amazon SQS-Warteschlange weiterleiten.

Der Beispielcode zeigt, wie für HLS (HTTP Live Streaming) transkodiert wird und wie mit der Amazon SNS SNS-Benachrichtigung umgegangen wird, nachdem sie aus der Amazon SQS SQS-Warteschlange entfernt wurde.

Wenn Sie eine Sprache verwenden, für die es ein SDK gibt, empfehlen wir Ihnen, das SDK zu verwenden, anstatt zu versuchen, sich durch das zu arbeiten. APIs Sie werden feststellen, dass die Verwendung von die Authentifizierung SDKs vereinfacht, sich problemlos in Ihre Entwicklungsumgebung integrieren lässt und einfachen Zugriff auf zugehörige Befehle bietet.

**Topics**
+ [Hintergrund für den AWS SDK-Beispiel-Code](#sample-intro)
+ [Einrichten Ihrer Umgebung](#env-setup)
+ [Java-Beispiele](#java-sample)
+ [Ruby-Beispiele](#ruby-sample)
+ [PHP-Beispiele](#php-sample)
+ [Python-Beispiele](#python-sample)

## Hintergrund für den AWS SDK-Beispiel-Code
<a name="sample-intro"></a>

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

Sie verwenden HLS-Ausgänge (HTTP Live Streaming), um HLS-fähigen Playern Inhalte mit adaptiver Bitrate bereitzustellen. Beispiele für HLS-fähige Geräte sind Android 4\$1-Geräte, iOS-Geräte, Desktop-Mediaplayer wie QuickTime oder VLC und Browserplayer wie jwplayer. Mit der adaptiven Bitrate können Sie die Qualität der bereitgestellten Inhalte automatisch an die Qualität der Client-Verbindung anpassen.

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

Wenn Sie die `ReadJob` API von Elastic Transcoder abfragen, um den Auftragsstatus zu verfolgen, müssen Sie jeden eingereichten Job kontinuierlich aufrufen`ReadJob`. Diese Methode kann nicht skaliert werden, wenn die Anzahl der Transcodierungsaufträge zunimmt. Um dieses Problem zu lösen, kann Elastic Transcoder Benachrichtigungen auf Amazon SNS veröffentlichen, was einen ereignisgesteuerten Mechanismus zur Nachverfolgung des Auftragsstatus bietet.

Jede Elastic Transcoder Transcoder-Benachrichtigung wird als JSON-Objekt im `Message` Feld gesendet. Da Benachrichtigungen selbst im JSON-Format gesendet werden, müssen Sie die Elastic Transcoder Transcoder-Benachrichtigung in der Nachrichtenzeichenfolge maskieren. Informationen zu Format und Inhalt der Elastic Transcoder Transcoder-Benachrichtigungen finden Sie im Abschnitt [Benachrichtigungen](https://docs.aws.amazon.com/elastictranscoder/latest/developerguide/notifications.html).

Wenn Sie benutzerdefinierten Code für die Verarbeitung von Benachrichtigungen über den Jobstatus schreiben, befolgen Sie diese bewährten Methoden:
+ **Handler müssen idempotent sein.** Es ist möglich, dass eine Benachrichtigung mehr als einmal zugestellt wird.
+ **Handler müssen Benachrichtigungen unterstützen, die nicht in der richtigen Reihenfolge sind.** Es ist möglich, dass Benachrichtigungen nicht in der richtigen Reihenfolge zugestellt werden.
+ **Handler müssen in der Lage sein, eine Benachrichtigung für jeden Job zu verarbeiten.** Es kann nicht garantiert werden, dass eine Benachrichtigung für einen bestimmten Job an einen bestimmten Arbeitnehmer zugestellt wird.
+ **Bei Handlern sollte es sich um kurze Einsätze handeln.** Alle Nachrichten müssen bearbeitet und gelöscht werden, bevor das Sichtbarkeits-Timeout erreicht ist. Wenn das Sichtbarkeits-Timeout 15 Sekunden beträgt und maximal 5 Nachrichten von Amazon SQS zurückgegeben werden, muss jede Nachricht in weniger als 3 Sekunden bearbeitet und aus der Warteschlange gelöscht werden. Wenn die Bearbeitung länger dauert, kommt es bei unbearbeiteten Nachrichten zu einem Timeout und sie werden an einen anderen Mitarbeiter zugestellt.

Für Java, Python und Ruby empfehlen wir, dass Sie Benachrichtigungen konsumieren, indem Sie eine Amazon SQS SQS-Warteschlange abfragen, die Ihr Benachrichtigungsthema abonniert hat. Da Amazon SQS einen Long-Poll-Mechanismus verwendet, bietet das Abfragen der Amazon SQS SQS-Warteschlange eine skalierbare Methode für den Zugriff auf Job-Benachrichtigungen. Amazon SQS vereinfacht auch die Verfügbarkeit und Skalierung für den Fall, dass Hosts ausfallen oder in Zeiten hoher Auslastung, und erfordert im Allgemeinen keine spezielle ACL-Setup.

Für PHP, das in Apache ausgeführt wird, empfehlen wir, dass Sie Ihren Endpunkt direkt für das Amazon SNS SNS-Thema abonnieren. Dies setzt voraus, dass Ihr Endpunkt öffentlich verfügbar ist, da Amazon SNS in der Lage sein muss, Benachrichtigungen direkt an Sie zu senden.

## Einrichten Ihrer Umgebung
<a name="env-setup"></a>

Um den Beispiel-Code auszuführen, benötigen Sie eine eingerichtete AWS-Umgebung. Dieser Abschnitt führt Sie durch den Einrichtungsprozess und zeigt, wie Sie die AWS-Ressourcen erstellen, die Elastic Transcoder benötigt, um optimal zu funktionieren.

**Topics**
+ [Einrichten Ihrer Java-Umgebung](#env-java)
+ [Einrichten Ihrer Ruby-Umgebung](#env-ruby)
+ [Einrichten Ihrer PHP-Umgebung](#env-php)
+ [Einrichten Ihrer Python-Umgebung](#env-python)

### Einrichten Ihrer Java-Umgebung
<a name="env-java"></a>

In diesem Abschnitt werden Sie schrittweise durch die Einrichtung Ihrer Java-Umgebung geführt.

**Topics**
+ [Einrichten des AWS SDKs for Java](#java-sdk)
+ [Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen](#java-s3)
+ [Ein Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten](#java-sns)
+ [Erstellen einer Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen](#java-sqs)
+ [Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema](#java-sqs-subscribe)
+ [Eine Elastic Transcoder-Pipeline erstellen](#java-pipeline)
+ [Aufbau einer CloudFront Amazon-Distribution zur skalierbaren Bereitstellung von Inhalten](#java-cloudfront)
+ [Änderung der Amazon S3 S3-Bucket-Richtlinie](#java-s3-policy)

Der Beispiel-Code geht von zwei wesentlichen Annahmen aus:
+ Beispiele werden geschrieben, um mit Java-Version 1.6 oder höher zu arbeiten.
+ Beispiele werden mithilfe von Eclipse mit dem AWS Toolkit for Eclipse ausgeführt.

#### Einrichten des AWS SDKs for Java
<a name="java-sdk"></a>

Diese Beispiele nehmen an, dass Sie das AWS Toolkit for Eclipse verwenden. Sie benötigen das [AWS SDK for Java](https://aws.amazon.com/sdkforjava/) und die folgenden Jackson JSON-Prozessor-JAR-Dateien:
+ Jackson Core
+ Jackson Databind
+ Jackson Annotations

Der Jackson JSON-Prozessor verarbeitet Benachrichtigungen des Auftragsstatus.

Wenn Sie Maven nutzen, um Ihre Abhängigkeiten zu verwalten, können Sie alternativ die folgenden Ausschnitte der Datei `pom.xml` hinzufügen:

Versionseigenschaft: 

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

Abhängigkeiten:

```
    <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>
```

Weitere Informationen finden Sie in der [AWS SDK for Java-Dokumentation](https://aws.amazon.com/documentation/sdkforjava/).

#### Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen
<a name="java-s3"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie in der Konsole auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Eingabe-Bucket ein.

1. Klicken Sie in der Amazon S3 S3-Konsole erneut auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Ausgabe-Bucket ein.

#### Ein Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten
<a name="java-sns"></a>

1. Öffnen Sie die [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home).

1. Klicken Sie in der Konsole auf **Erstellen und Hinzufügen und** wählen Sie **Neues Thema erstellen** aus.

1. Geben Sie im Feld **Themenname** den Text ein **ets-sample-topic** und klicken Sie dann auf **Thema erstellen**.

1. Notieren Sie den ARN von`ets-sample-topic`.

#### Erstellen einer Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen
<a name="java-sqs"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Klicken Sie in der Konsole auf **Neue Warteschlange erstellen**.

1. Geben Sie im Feld **Warteschlangenname** den Text ein **ets-sample-queue** und klicken Sie dann auf **Warteschlange erstellen**.

1. Notieren Sie sich die Amazon SQS SQS-Warteschlangen-URL.

#### Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema
<a name="java-sqs-subscribe"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Wählen Sie in der Konsole aus der Liste der **ets-sample-queue**Warteschlangen aus.

1. Wählen Sie unter **Warteschlangenaktionen** die Option **Warteschlange für Amazon SNS SNS-Thema abonnieren** aus.

1. **Wählen Sie unter Thema** auswählen die Option **ets-sample-topic**und klicken Sie dann auf **Abonnieren**.

Sie sollten eine Bestätigung sehen, dass Ihre Warteschlange Ihr Thema erfolgreich abonniert hat.

#### Eine Elastic Transcoder-Pipeline erstellen
<a name="java-pipeline"></a>

1. Öffnen Sie die [Amazon Elastic Transcoder Transcoder-Konsole](https://console.aws.amazon.com/elastictranscoder/home).

1. Klicken Sie in der Konsole auf **Neue Pipeline erstellen**.

1. Geben Sie im Feld **Pipeline-Name** ein**ets-sample-pipeline**.

1. Geben Sie im Feld **Eingabe-Bucket** den Namen Ihres Eingabe-Buckets ein.

1. Belassen Sie die **IAM-Rolle bei****Console Default Role**.

1. Geben **Sie unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** den Namen Ihres Ausgabe-Buckets ein.

1. Wählen Sie immer noch **unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** die **Standardspeicherklasse** aus.

1. Erweitern Sie das **Drop-down-Menü Benachrichtigungen**.

1. Wählen Sie für alle vier Ereignistypen die Option **Bestehendes SNS-Thema verwenden** **aus und wählen Sie unter Thema auswählen** die Option **ets-sample-topic** aus.

1. Klicken Sie auf **Create Pipeline (Pipeline erstellen)**.

1. Notieren Sie die Elastic Transcoder-Pipeline-ID.

#### Aufbau einer CloudFront Amazon-Distribution zur skalierbaren Bereitstellung von Inhalten
<a name="java-cloudfront"></a>

1. Öffnen Sie die [ CloudFront Amazon-Konsole](https://console.aws.amazon.com/cloudfront/home).

1. Erweitern Sie im Navigationsbereich der Konsole **Private Inhalte** und klicken Sie dann auf **Origin Access Identity**.

1. Klicke auf **Origin-Zugriffsidentität erstellen**.

1. Klicken Sie auf **Create**.

1. Notieren Sie sich die kanonische Amazon S3 S3-Benutzer-ID, die generiert wird, wenn Sie Ihre ursprüngliche Zugriffsidentität erstellen.

1. **Klicken Sie im Navigationsbereich auf Vertrieb.**

1. Klicken Sie auf **Create Distribution**.

1. Wählen Sie **Web** aus und klicken Sie dann auf **Weiter**.

1. Geben Sie unter **Origin-Einstellungen** Ihren Amazon S3 S3-Ausgabe-Bucket als **Origin-Domainnamen** ein.

1. Geben Sie im Feld **Origin-ID** ein**S3-transcoder-sample-output**.

1. Wählen Sie für „**Bucket-Zugriff einschränken**“ die Option **Ja** aus.

1. Klicken Sie auf **Distribution erstellen** und notieren Sie den Domainnamen der Distribution.

#### Änderung der Amazon S3 S3-Bucket-Richtlinie
<a name="java-s3-policy"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie neben dem Ausgabe-Bucket auf das **Lupensymbol**, um die Bucket-Eigenschaften aufzurufen.

1. Erweitern Sie **Berechtigungen** und klicken Sie auf **Bucket-Richtlinie hinzufügen**.

1. Geben Sie die folgende Richtlinienanweisung ein **your recorded Amazon S3 canonical user ID** und ersetzen Sie **CloudFront-oai-s3-** durch und **s3** - canonical-user-id durch. output-bucket-name **the name of your output bucket**

1. Klicken Sie auf **Speichern**.

```
{
  "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>/*"
   }]
}
```

Wechseln Sie zum [Java-Beispiele](#java-sample).

### Einrichten Ihrer Ruby-Umgebung
<a name="env-ruby"></a>

In diesem Abschnitt werden Sie schrittweise durch die Einrichtung Ihrer Ruby-Umgebung geführt.

**Topics**
+ [Einrichten des AWS SDKs for Ruby](#ruby-sdk)
+ [Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen](#ruby-s3)
+ [Ein Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten](#ruby-sns)
+ [Erstellen einer Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen](#ruby-sqs)
+ [Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema](#ruby-sqs-subscribe)
+ [Eine Elastic Transcoder-Pipeline erstellen](#ruby-pipeline)
+ [Aufbau einer CloudFront Amazon-Distribution zur skalierbaren Bereitstellung von Inhalten](#ruby-cloudfront)
+ [Änderung der Amazon S3 S3-Bucket-Richtlinie](#ruby-s3-policy)

Der Beispiel-Code geht von einer wesentlichen Annahme aus:
+ Beispiele werden geschrieben, um mit Ruby-Version 1.9 kompatibel zu sein.

#### Einrichten des AWS SDKs for Ruby
<a name="ruby-sdk"></a>

Das AWS SDK for Ruby ist [hier](https://aws.amazon.com/sdkforruby/) verfügbar. Sie können es einfach installieren, indem Sie Ruby-Gems mit folgendem Befehl verwenden: 

```
gem install aws-sdk
```

Weitere Informationen finden Sie in der [AWS SDK for Ruby-Dokumentation](https://aws.amazon.com/documentation/sdkforruby/).

#### Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen
<a name="ruby-s3"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie in der Konsole auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Eingabe-Bucket ein.

1. Klicken Sie in der Amazon S3 S3-Konsole erneut auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Ausgabe-Bucket ein.

#### Ein Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten
<a name="ruby-sns"></a>

1. Öffnen Sie die [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home).

1. Klicken Sie in der Konsole auf **Erstellen und Hinzufügen und** wählen Sie **Neues Thema erstellen** aus.

1. Geben Sie im Feld **Themenname** den Text ein **ets-sample-topic** und klicken Sie dann auf **Thema erstellen**.

1. Notieren Sie den ARN von`ets-sample-topic`.

#### Erstellen einer Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen
<a name="ruby-sqs"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Klicken Sie in der Konsole auf **Neue Warteschlange erstellen**.

1. Geben Sie im Feld **Warteschlangenname** den Text ein **ets-sample-queue** und klicken Sie dann auf **Warteschlange erstellen**.

1. Notieren Sie sich die Amazon SQS SQS-Warteschlangen-URL.

#### Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema
<a name="ruby-sqs-subscribe"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Wählen Sie in der Konsole aus der Liste der **ets-sample-queue**Warteschlangen aus.

1. Wählen Sie unter **Warteschlangenaktionen** die Option **Warteschlange für Amazon SNS SNS-Thema abonnieren** aus.

1. **Wählen Sie unter Thema** auswählen die Option **ets-sample-topic**und klicken Sie dann auf **Abonnieren**.

Sie sollten eine Bestätigung sehen, dass Ihre Warteschlange Ihr Thema erfolgreich abonniert hat.

#### Eine Elastic Transcoder-Pipeline erstellen
<a name="ruby-pipeline"></a>

1. Öffnen Sie die [Amazon Elastic Transcoder Transcoder-Konsole](https://console.aws.amazon.com/elastictranscoder/home).

1. Klicken Sie in der Konsole auf **Neue Pipeline erstellen**.

1. Geben Sie im Feld **Pipeline-Name** ein**ets-sample-pipeline**.

1. Geben Sie im Feld **Eingabe-Bucket** den Namen Ihres Eingabe-Buckets ein.

1. Belassen Sie die **IAM-Rolle bei****Console Default Role**.

1. Geben **Sie unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** den Namen Ihres Ausgabe-Buckets ein.

1. Wählen Sie immer noch **unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** die **Standardspeicherklasse** aus.

1. Erweitern Sie das **Drop-down-Menü Benachrichtigungen**.

1. Wählen Sie für alle vier Ereignistypen die Option **Bestehendes SNS-Thema verwenden** **aus und wählen Sie unter Thema auswählen** die Option **ets-sample-topic** aus.

1. Klicken Sie auf **Create Pipeline (Pipeline erstellen)**.

1. Notieren Sie die Elastic Transcoder-Pipeline-ID.

#### Aufbau einer CloudFront Amazon-Distribution zur skalierbaren Bereitstellung von Inhalten
<a name="ruby-cloudfront"></a>

1. Öffnen Sie die [ CloudFront Amazon-Konsole](https://console.aws.amazon.com/cloudfront/home).

1. Erweitern Sie im Navigationsbereich der Konsole **Private Inhalte** und klicken Sie dann auf **Origin Access Identity**.

1. Klicke auf **Origin-Zugriffsidentität erstellen**.

1. Klicken Sie auf **Create**.

1. Notieren Sie sich die kanonische Amazon S3 S3-Benutzer-ID, die generiert wird, wenn Sie Ihre ursprüngliche Zugriffsidentität erstellen.

1. **Klicken Sie im Navigationsbereich auf Vertrieb.**

1. Klicken Sie auf **Create Distribution**.

1. Wählen Sie **Web** aus und klicken Sie dann auf **Weiter**.

1. Geben Sie unter **Origin-Einstellungen** Ihren Amazon S3 S3-Ausgabe-Bucket als **Origin-Domainnamen** ein.

1. Geben Sie im Feld **Origin-ID** ein**S3-transcoder-sample-output**.

1. Wählen Sie für „**Bucket-Zugriff einschränken**“ die Option **Ja** aus.

1. Klicken Sie auf **Distribution erstellen** und notieren Sie den Domainnamen der Distribution.

#### Änderung der Amazon S3 S3-Bucket-Richtlinie
<a name="ruby-s3-policy"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie neben dem Ausgabe-Bucket auf das **Lupensymbol**, um die Bucket-Eigenschaften aufzurufen.

1. Erweitern Sie **Berechtigungen** und klicken Sie auf **Bucket-Richtlinie hinzufügen**.

1. Geben Sie die folgende Richtlinienanweisung ein **your recorded Amazon S3 canonical user ID** und ersetzen Sie **CloudFront-oai-s3-** durch und **s3** - canonical-user-id durch. output-bucket-name **the name of your output bucket**

1. Klicken Sie auf **Speichern**.

```
{
  "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>/*"
   }]
}
```

Wechseln Sie zum [Ruby-Beispiele](#ruby-sample).

### Einrichten Ihrer PHP-Umgebung
<a name="env-php"></a>

In diesem Abschnitt werden Sie schrittweise durch die Einrichtung Ihrer PHP-Umgebung geführt.

**Topics**
+ [Installieren des Beispiel-Codes](#php-install)
+ [Einrichten des AWS SDKs for PHP](#php-sdk)
+ [Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen](#php-s3)
+ [Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten](#php-sns)
+ [Ihren Server bei Amazon SNS abonnieren](#php-sns-sub)
+ [Eine Elastic Transcoder-Pipeline erstellen](#php-pipeline)
+ [Aufbau eines CloudFront Amazon-Vertriebs zur skalierbaren Bereitstellung von Inhalten](#php-cloudfront)
+ [Änderung der Amazon S3 S3-Bucket-Richtlinie](#php-s3-policy)

Der Beispiel-Code geht von drei wesentlichen Annahmen aus:
+ PHP-Beispiele werden innerhalb eines Apache-Servers ausgeführt.
+ Der Apache-Server muss in der Lage sein, Eingaben aus dem Internet entgegenzunehmen, um Amazon SNS SNS-Benachrichtigungen zu empfangen.
+ Beispiele werden geschrieben, um mit PHP-Version 5.4 oder höher zu arbeiten.

#### Installieren des Beispiel-Codes
<a name="php-install"></a>

Um den PHP-Beispiel-Code zu verwenden, müssen Sie diesen zuerst herunterladen und installieren. 
+ Laden Sie den Beispiel-Code herunter:
  + [HLS-Beispielcode](samples/phphls.zip).
  + [Benachrichtigungsbeispielcode](samples/phpnotification.zip).
+ Extrahieren Sie den Beispiel-Code.
+ Platzieren Sie den Code unter dem Ihres Apache-Servers DocumentRoot.
+ Entfernen Sie die heruntergeladene Zip-Datei des Beispiel-Codes. 
+ Aktualisieren Sie den Pfad zu Ihrer AWS SDK-Installation.

**Anmerkung**  
In `HlsJobCreationSample.php` und `JobStatusNotificationsSample.php` müssen Sie den Pfad zu Ihrem `autoload.php` aktualisieren. Wenn Sie die Phar-Installation verwenden, können Sie den Pfad zur Datei `aws.phar`, die Sie heruntergeladen haben, nutzen. Diese enthält alle nötigen Abhängigkeiten. 

#### Einrichten des AWS SDKs for PHP
<a name="php-sdk"></a>

Sie finden das AWS SDK for PHP [hier](https://aws.amazon.com/sdkforphp/). Für dieses Tutorial empfehlen wir die Phar-Installation. Allerdings werden langfristige Projekte mit Composer besser verwaltet. 

Weitere Informationen finden Sie in der [AWS SDK for PHP-Dokumentation](https://aws.amazon.com/documentation/sdkforphp/).

#### Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen
<a name="php-s3"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie in der Konsole auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Eingabe-Bucket ein.

1. Klicken Sie in der Amazon S3 S3-Konsole erneut auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Ausgabe-Bucket ein.

#### Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten
<a name="php-sns"></a>

1. Öffnen Sie die [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home).

1. Klicken Sie in der Konsole auf **Erstellen und Hinzufügen und** wählen Sie **Neues Thema erstellen** aus.

1. Geben Sie im Feld **Themenname** den Text ein **ets-sample-topic** und klicken Sie dann auf **Thema erstellen**.

1. Notieren Sie den ARN von`ets-sample-topic`.

#### Ihren Server bei Amazon SNS abonnieren
<a name="php-sns-sub"></a>

1. Überprüfen Sie, ob der PHP-Beispiel-Code installiert wurde.

1. Öffnen Sie die [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home).

1. Klicken Sie **AdditionalActions**unter auf Abonnement **erstellen**.

1. Wählen Sie je nach Serverkonfiguration HTTP oder HTTPS aus.

1. Geben Sie unter **Endpoint** den Endpunkt Ihres Servers ein. Der Pfad des Endpunkts sollte auf `JobStatusNotificationsSampleNotificationHandler.php` verweisen. 

1. Klicken Sie auf **Subscribe**. Dadurch wird eine Abonnementanforderung an Ihren PHP-Endpunkt gesendet.

Der PHP-Beispiel-Code verarbeitet automatisch die Abonnementanforderung und bestätigt ein Abonnement. Die Abonnementanforderung und -antwort werden in `/tmp/subscribe_requests.txt` geschrieben.

#### Eine Elastic Transcoder-Pipeline erstellen
<a name="php-pipeline"></a>

1. Öffnen Sie die [Amazon Elastic Transcoder Transcoder-Konsole](https://console.aws.amazon.com/elastictranscoder/home).

1. Klicken Sie in der Konsole auf **Neue Pipeline erstellen**.

1. Geben Sie im Feld **Pipeline-Name** ein**ets-sample-pipeline**.

1. Geben Sie im Feld **Eingabe-Bucket** den Namen Ihres Eingabe-Buckets ein.

1. Belassen Sie die **IAM-Rolle bei****Console Default Role**.

1. Geben **Sie unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** den Namen Ihres Ausgabe-Buckets ein.

1. Wählen Sie immer noch **unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** die **Standardspeicherklasse** aus.

1. Erweitern Sie das **Drop-down-Menü Benachrichtigungen**.

1. Wählen Sie für alle vier Ereignistypen die Option **Bestehendes SNS-Thema verwenden** **aus und wählen Sie unter Thema auswählen** die Option **ets-sample-topic** aus.

1. Klicken Sie auf **Create Pipeline (Pipeline erstellen)**.

1. Notieren Sie die Elastic Transcoder-Pipeline-ID.

#### Aufbau eines CloudFront Amazon-Vertriebs zur skalierbaren Bereitstellung von Inhalten
<a name="php-cloudfront"></a>

1. Öffnen Sie die [ CloudFront Amazon-Konsole](https://console.aws.amazon.com/cloudfront/home).

1. Erweitern Sie im Navigationsbereich der Konsole **Private Inhalte** und klicken Sie dann auf **Origin Access Identity**.

1. Klicke auf **Origin-Zugriffsidentität erstellen**.

1. Klicken Sie auf **Create**.

1. Notieren Sie sich die kanonische Amazon S3 S3-Benutzer-ID, die generiert wird, wenn Sie Ihre ursprüngliche Zugriffsidentität erstellen.

1. **Klicken Sie im Navigationsbereich auf Vertrieb.**

1. Klicken Sie auf **Create Distribution**.

1. Wählen Sie **Web** aus und klicken Sie dann auf **Weiter**.

1. Geben Sie unter **Origin-Einstellungen** Ihren Amazon S3 S3-Ausgabe-Bucket als **Origin-Domainnamen** ein.

1. Geben Sie im Feld **Origin-ID** ein**S3-transcoder-sample-output**.

1. Wählen Sie für „**Bucket-Zugriff einschränken**“ die Option **Ja** aus.

1. Klicken Sie auf **Distribution erstellen** und notieren Sie den Domainnamen der Distribution.

#### Änderung der Amazon S3 S3-Bucket-Richtlinie
<a name="php-s3-policy"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie neben dem Ausgabe-Bucket auf das **Lupensymbol**, um die Bucket-Eigenschaften aufzurufen.

1. Erweitern Sie **Berechtigungen** und klicken Sie auf **Bucket-Richtlinie hinzufügen**.

1. Geben Sie die folgende Richtlinienanweisung ein **your recorded Amazon S3 canonical user ID** und ersetzen Sie **CloudFront-oai-s3-** durch und **s3** - canonical-user-id durch. output-bucket-name **the name of your output bucket**

1. Klicken Sie auf **Speichern**.

```
{
  "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>/*"
   }]
}
```

Wechseln Sie zum [PHP-Beispiele](#php-sample).

### Einrichten Ihrer Python-Umgebung
<a name="env-python"></a>

In diesem Abschnitt werden Sie schrittweise durch die Einrichtung Ihrer Python-Umgebung geführt.

**Topics**
+ [Einrichten des AWS SDKs for Python](#python-sdk)
+ [Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen](#python-s3)
+ [Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten](#python-sns)
+ [Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen erstellen](#python-sqs)
+ [Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema](#python-sqs-subscribe)
+ [Eine Elastic Transcoder-Pipeline erstellen](#python-pipeline)
+ [Aufbau eines CloudFront Amazon-Vertriebs zur skalierbaren Bereitstellung von Inhalten](#python-cloudfront)
+ [Änderung der Amazon S3 S3-Bucket-Richtlinie](#python-s3-policy)

Er geht von einer wesentlichen Annahme aus:
+ Beispiele werden geschrieben, um mit Python-Version 2.7 kompatibel zu sein.

#### Einrichten des AWS SDKs for Python
<a name="python-sdk"></a>

Sie finden das AWS SDK for Python [hier](https://aws.amazon.com/sdkforpython/). Sie können es auch einfach installieren, indem Sie PIP mit folgendem Befehl verwenden: 

```
pip-2.7 install boto
```

Weitere Informationen finden Sie in der [AWS SDK for Python-Dokumentation](http://docs.pythonboto.org/en/latest/).

#### Amazon S3 S3-Eingabe- und Ausgabe-Buckets erstellen
<a name="python-s3"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie in der Konsole auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Eingabe-Bucket ein.

1. Klicken Sie in der Amazon S3 S3-Konsole erneut auf **Create Bucket**.

1. Geben Sie im Feld **Bucket-Name** den gewünschten Namen für Ihren Ausgabe-Bucket ein.

#### Amazon SNS SNS-Thema erstellen, um Benachrichtigungen über den Jobstatus zu erhalten
<a name="python-sns"></a>

1. Öffnen Sie die [Amazon-SNS-Konsole](https://console.aws.amazon.com/sns/home).

1. Klicken Sie in der Konsole auf **Erstellen und Hinzufügen und** wählen Sie **Neues Thema erstellen** aus.

1. Geben Sie im Feld **Themenname** den Text ein **ets-sample-topic** und klicken Sie dann auf **Thema erstellen**.

1. Notieren Sie den ARN von`ets-sample-topic`.

#### Amazon SQS SQS-Warteschlange zur Abfrage von Auftragsstatusbenachrichtigungen erstellen
<a name="python-sqs"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Klicken Sie in der Konsole auf **Neue Warteschlange erstellen**.

1. Geben Sie im Feld **Warteschlangenname** den Text ein **ets-sample-queue** und klicken Sie dann auf **Warteschlange erstellen**.

1. Notieren Sie sich die Amazon SQS SQS-Warteschlangen-URL.

#### Abonnieren Ihrer Amazon SQS SQS-Warteschlange für Ihr Amazon SNS SNS-Thema
<a name="python-sqs-subscribe"></a>

1. Öffnen Sie die [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/home).

1. Wählen Sie in der Konsole aus der Liste der **ets-sample-queue**Warteschlangen aus.

1. Wählen Sie unter **Warteschlangenaktionen** die Option **Warteschlange für Amazon SNS SNS-Thema abonnieren** aus.

1. **Wählen Sie unter Thema** auswählen die Option **ets-sample-topic**und klicken Sie dann auf **Abonnieren**.

Sie sollten eine Bestätigung sehen, dass Ihre Warteschlange Ihr Thema erfolgreich abonniert hat.

#### Eine Elastic Transcoder-Pipeline erstellen
<a name="python-pipeline"></a>

1. Öffnen Sie die [Amazon Elastic Transcoder Transcoder-Konsole](https://console.aws.amazon.com/elastictranscoder/home).

1. Klicken Sie in der Konsole auf **Neue Pipeline erstellen**.

1. Geben Sie im Feld **Pipeline-Name** ein**ets-sample-pipeline**.

1. Geben Sie im Feld **Eingabe-Bucket** den Namen Ihres Eingabe-Buckets ein.

1. Belassen Sie die **IAM-Rolle bei****Console Default Role**.

1. Geben **Sie unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** den Namen Ihres Ausgabe-Buckets ein.

1. Wählen Sie immer noch **unter Amazon S3 S3-Bucket für transkodierte Dateien und Playlisten konfigurieren** die **Standardspeicherklasse** aus.

1. Erweitern Sie das **Drop-down-Menü Benachrichtigungen**.

1. Wählen Sie für alle vier Ereignistypen die Option **Bestehendes SNS-Thema verwenden** **aus und wählen Sie unter Thema auswählen** die Option **ets-sample-topic** aus.

1. Klicken Sie auf **Create Pipeline (Pipeline erstellen)**.

1. Notieren Sie die Elastic Transcoder-Pipeline-ID.

#### Aufbau eines CloudFront Amazon-Vertriebs zur skalierbaren Bereitstellung von Inhalten
<a name="python-cloudfront"></a>

1. Öffnen Sie die [ CloudFront Amazon-Konsole](https://console.aws.amazon.com/cloudfront/home).

1. Erweitern Sie im Navigationsbereich der Konsole **Private Inhalte** und klicken Sie dann auf **Origin Access Identity**.

1. Klicke auf **Origin-Zugriffsidentität erstellen**.

1. Klicken Sie auf **Create**.

1. Notieren Sie sich die kanonische Amazon S3 S3-Benutzer-ID, die generiert wird, wenn Sie Ihre ursprüngliche Zugriffsidentität erstellen.

1. **Klicken Sie im Navigationsbereich auf Vertrieb.**

1. Klicken Sie auf **Create Distribution**.

1. Wählen Sie **Web** aus und klicken Sie dann auf **Weiter**.

1. Geben Sie unter **Origin-Einstellungen** Ihren Amazon S3 S3-Ausgabe-Bucket als **Origin-Domainnamen** ein.

1. Geben Sie im Feld **Origin-ID** ein**S3-transcoder-sample-output**.

1. Wählen Sie für „**Bucket-Zugriff einschränken**“ die Option **Ja** aus.

1. Klicken Sie auf **Distribution erstellen** und notieren Sie den Domainnamen der Distribution.

#### Änderung der Amazon S3 S3-Bucket-Richtlinie
<a name="python-s3-policy"></a>

1. Öffnen Sie die [Amazon S3-Konsole](https://console.aws.amazon.com/s3/home).

1. Klicken Sie neben dem Ausgabe-Bucket auf das **Lupensymbol**, um die Bucket-Eigenschaften aufzurufen.

1. Erweitern Sie **Berechtigungen** und klicken Sie auf **Bucket-Richtlinie hinzufügen**.

1. Geben Sie die folgende Richtlinienanweisung ein **your recorded Amazon S3 canonical user ID** und ersetzen Sie **CloudFront-oai-s3-** durch und **s3** - canonical-user-id durch. output-bucket-name **the name of your output bucket**

1. Klicken Sie auf **Speichern**.

```
{
  "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>/*"
   }]
}
```

Wechseln Sie zum [Python-Beispiele](#python-sample).

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

Alle Java-Beispiele gehen von zwei Annahmen aus: 
+ Beispiele werden geschrieben, um mit Java-Version 1.6 oder höher zu arbeiten.
+ Beispiele werden mithilfe von Eclipse mit dem AWS Toolkit for Eclipse ausgeführt.

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

**Topics**
+ [Herunterladen eines Java HLS-Beispiels](#java-hls-link)
+ [Teile des Beispiel-Codes](#java-hls-list)
+ [Aufgaben](#java-hls-tasklist)

Dieses Beispiel zeigt Ihnen, wie Sie einen HLS-Job und eine HLS-Playlist-Datei erstellen, die zum Abspielen eines Streams mit adaptiver Bitrate verwendet werden können.

#### Herunterladen eines Java HLS-Beispiels
<a name="java-hls-link"></a>

Sie können den Beispielcode [hier](samples/javasamples.zip) herunterladen. 

#### Teile des Beispiel-Codes
<a name="java-hls-list"></a>

Das Java-Code-Beispiel enthält: 
+ Die `HlsJobCreationSample`-Klasse

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Java-Umgebung](#env-java)

1. Laden Sie den Beispiel-Code herunter.

1. Öffnen Sie in Eclipse `com/amazonaws/services/elastictranscoder/samples/HlsJobCreationSample.java`.

1. Ersetzen Sie PIPELINE\$1ID und INPUT\$1KEY durch die entsprechenden Werte.

1. Führen Sie die Beispiele in Eclipse aus.

### Benachrichtigungsbeispiele
<a name="java-notifications"></a>

**Topics**
+ [Beispiel einer Benachrichtigungssyntax](#java-notification-example)
+ [Herunterladen eines Java-Benachrichtigungsbeispiels](#java-link)
+ [Teile des Beispiel-Codes](#java-list)
+ [Aufgaben](#java-tasklist)

#### Beispiel einer Benachrichtigungssyntax
<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"
 }
```

#### Herunterladen eines Java-Benachrichtigungsbeispiels
<a name="java-link"></a>

Sie können den Beispielcode [hier](samples/javasamples.zip) herunterladen.

#### Teile des Beispiel-Codes
<a name="java-list"></a>

Das Java-Code-Beispiel enthält: 
+ Die Klasse`Notification`: Um Benachrichtigungen von Java zu verarbeiten, verwenden wir die Jackson-JSON-Bibliothek, in die Jobstatusbenachrichtigungen deserialisiert werden. POJOs Die `Notification` Klasse modelliert die Nachricht, die wir aus der Amazon SQS SQS-Warteschlange zurückerhalten.
+ Die Klasse`JobStatusNotification`: Die `JobStatusNotification` Klasse modelliert eine Elastic Transcoder Transcoder-Benachrichtigung.
+ Die Klasse`SqsQueueNotificationWorker`: Die `SqsQueueNotificationWorker` Klasse kann in einem separaten Thread gestartet werden, um Amazon SQS abzufragen und Auftragsstatusbenachrichtigungen zu bearbeiten. Diese Klasse empfängt Nachrichten, ruft alle registrierten Handler für jede empfangene Benachrichtigung auf und löscht die Nachricht aus der Warteschlange.
+ Die `JobStatusNotificationHandler`-Schnittstelle: Die `JobStatusNotificationHandler`-Schnittstelle kann implementiert werden, um eine benutzerdefinierte Verarbeitung von Benachrichtigungen zu erlauben. 
+ Die `JobStatusNotificationsSample`-Klasse: Die `JobStatusNotificationsSample`-Klasse erstellt einen Auftrag und wartet darauf, dass dieser abgeschlossen wird. Wenn der Auftrag in den Endstatus übergeht, wird der Warteschlangenarbeitsprozess abgeschaltet und die Anwendung wird beendet.

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Java-Umgebung](#env-java).

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code in das Quellverzeichnis Ihres JAVA-Projekts.

1. Öffnen Sie in Eclipse `com/amazonaws/services/elastictranscoder/samples/JobStatusNotificationsSample.java`.

1. Ersetzen Sie PIPELINE\$1ID, SQS\$1QUEUE\$1URL und INPUT\$1KEY durch die entsprechenden Werte.

1. Führen Sie das Beispiel in Eclipse aus.

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

Alle Ruby-Beispiele gehen von einer wesentlichen Annahme aus: 
+ Beispiele werden geschrieben, um mit Ruby-Version 1.9 kompatibel zu sein.

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

**Topics**
+ [Herunterladen eines Ruby HLS-Beispiels](#ruby-hls-link)
+ [Teile des Beispiel-Codes](#ruby-hls-list)
+ [Aufgaben](#ruby-hls-tasklist)

Dieses Beispiel zeigt Ihnen, wie Sie einen HLS-Job und eine HLS-Playlist-Datei erstellen, die zum Abspielen eines Streams mit adaptiver Bitrate verwendet werden können.

#### Herunterladen eines Ruby HLS-Beispiels
<a name="ruby-hls-link"></a>

Sie können den Beispielcode [hier](samples/rubyhls.zip) herunterladen. 

#### Teile des Beispiel-Codes
<a name="ruby-hls-list"></a>

Der Ruby-Beispiel-Code enthält: 
+ Die Datei `HlsJobCreationSample.rb`

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Ruby-Umgebung](#env-ruby)

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code in das Quellverzeichnis Ihres Ruby-Projekts.

1. Bearbeiten Sie `HlsJobCreationSample.rb` und ersetzen pipeline\$1id und input\$1key durch die entsprechenden Werte.

1. Navigieren Sie über einen Terminal zu dem Verzeichnis, in das Sie den Beispiel-Code extrahiert haben und führen Sie Folgendes aus:

```
$ruby HlsJobCreationSample.rb
```

### Benachrichtigungsbeispiele
<a name="ruby-notifications"></a>

**Topics**
+ [Beispiel einer Benachrichtigungssyntax](#ruby-notification-example)
+ [Herunterladen eines Ruby-Benachrichtigungsbeispiels](#ruby-link)
+ [Teile des Beispiel-Codes](#ruby-list)
+ [Aufgaben](#ruby-tasklist)

#### Beispiel einer Benachrichtigungssyntax
<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"
 }
```

#### Herunterladen eines Ruby-Benachrichtigungsbeispiels
<a name="ruby-link"></a>

Sie können den Beispielcode [hier](samples/rubynotification.zip) herunterladen.

#### Teile des Beispiel-Codes
<a name="ruby-list"></a>

Der Ruby-Beispiel-Code enthält: 
+ Die Klasse`SqsQueueNotificationWorker`: Die `SqsQueueNotificationWorker` Klasse fragt Amazon SQS nach Benachrichtigungen ab, ruft alle registrierten Handler für jede Benachrichtigung auf und löscht die Nachricht aus der Warteschlange. Beachten Sie, dass der Arbeitsprozess in einem getrennten Thread ausgeführt wird. Wenn die verwendete Implementierung von Ruby über "grüne" Threads verfügt, dann wird jeweils nur ein einziger Thread ausgeführt (keine echte Mehrfachverarbeitung).
+ Das Skript`JobStatusNotificationsSample.rb`: Dieses Skript erstellt einen Elastic Transcoder Transcoder-Job, startet einen Amazon SQS SQS-Worker und wartet, bis der Job abgeschlossen ist. Der bereitgestellte Handler weist den Amazon SQS SQS-Worker an, den Vorgang zu beenden, wenn die Verarbeitung des erstellten Jobs abgeschlossen ist. Die Verarbeitung von Benachrichtigungen erfolgt durch Aufrufen der add\$1handlers-Methode und der Bereitstellung eines Proc oder Lambda als Handler, der ein einzelnes Argument entgegennimmt. Für jede empfangene Benachrichtigung werden alle registrierten Handler mit der als Eingabeargument bereitgestellten Benachrichtigung an den Handler aufgerufen.

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Ruby-Umgebung](#env-ruby)

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code in das Quellverzeichnis Ihres Ruby-Projekts.

1. Bearbeiten Sie `JobStatusNotificationsSample.rb` und ersetzen pipeline\$1id, sqs\$1queue\$1url und input\$1key durch die entsprechenden Werte.

1. Navigieren Sie über einen Terminal zu dem Verzeichnis, in das Sie den Beispiel-Code extrahiert haben und führen Sie Folgendes aus: 

```
$ruby JobStatusNotificationsSample.rb
```

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

Alle PHP-Beispiele gehen von drei wesentlichen Annahmen aus:
+ PHP-Beispiele werden innerhalb eines Apache-Servers ausgeführt.
+ Der Apache-Server muss in der Lage sein, Eingaben aus dem Internet entgegenzunehmen, um Amazon SNS SNS-Benachrichtigungen zu empfangen.
+ Beispiele werden geschrieben, um mit PHP-Version 5.4 oder höher zu arbeiten.

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

**Topics**
+ [Herunterladen eines PHP HLS-Beispiels](#php-hls-link)
+ [Teile des Beispiel-Codes](#php-hls-list)
+ [Aufgaben](#php-hls-tasklist)

Dieses Beispiel zeigt Ihnen, wie Sie einen HLS-Job und eine HLS-Playlist-Datei erstellen, die zum Abspielen eines Streams mit adaptiver Bitrate verwendet werden können.

#### Herunterladen eines PHP HLS-Beispiels
<a name="php-hls-link"></a>

Sie können den Beispielcode [hier](samples/phphls.zip) herunterladen. 

#### Teile des Beispiel-Codes
<a name="php-hls-list"></a>

Der PHP-Beispiel-Code enthält: 
+ Die Datei `HlsJobCreationSample.php`

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer PHP-Umgebung](#env-php)

1. Laden Sie den Beispiel-Code herunter.

1. Laden Sie in Ihrem Browser die Seite http://<your-endpoint>HlsJobCreationSample/transcoder-samples/ .php.

1. Geben Sie die Pipeline-ID und den Input-Key an und senden Sie das Formular ab, um einen Auftrag zu erstellen.

### Benachrichtigungsbeispiele
<a name="php-notifications"></a>

**Topics**
+ [Beispiel einer Benachrichtigungssyntax](#php-notification-example)
+ [Herunterladen eines PHP-Benachrichtigungsbeispiels](#php-link)
+ [Teile des Beispiel-Codes](#php-list)
+ [Aufgaben](#php-tasklist)

#### Beispiel einer Benachrichtigungssyntax
<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"
 }
```

#### Herunterladen eines PHP-Benachrichtigungsbeispiels
<a name="php-link"></a>

Sie können den Beispielcode [hier](samples/phpnotification.zip) herunterladen.

#### Teile des Beispiel-Codes
<a name="php-list"></a>

Der PHP-Beispiel-Code enthält:
+ <job-id>Die Datei`JobStatusNotificationsSampleNotificationHandler.php`: Wenn eine Benachrichtigung an Ihren Server gesendet wird POSTed , schreibt der Benachrichtigungshandler den Status zurück in eine Datei unter /tmp/.
+ Die Datei `JobStatusNotificationsSample.php`: Sobald der Benachrichtigungs-Handler den Status in eine Datei unter /tmp/<job-id> zurückschreibt, lädt `JobStatusNotificationsSample.php` die Statusdatei /tmp/<job-id>, die durch die ID in der ihr gegebenen Abfragezeichenfolge spezifiziert wird.

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer PHP-Umgebung](#env-php)

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code in das Quellverzeichnis Ihres PHP-Projekts.

1. <your-endpoint>Laden Sie in Ihrem Browser die Seite http:///transcoder-samples/ .php. JobStatusNotificationsSample

1. Geben Sie die Pipeline-ID und den Input-Key an, die Sie transcodieren möchten, und klicken auf die Schaltfläche **Create Job**.

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

Alle Python-Beispiele gehen von einer wesentlichen Annahme aus: 
+ Beispiele werden geschrieben, um mit Python-Version 2.7 kompatibel zu sein.

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

**Topics**
+ [Herunterladen eines Python HLS-Beispiels](#python-hls-link)
+ [Teile des Beispiel-Codes](#python-hls-list)
+ [Aufgaben](#python-hls-tasklist)

Dieses Beispiel zeigt Ihnen, wie Sie einen HLS-Job und eine HLS-Playlist-Datei erstellen, die zum Abspielen eines Streams mit adaptiver Bitrate verwendet werden können.

#### Herunterladen eines Python HLS-Beispiels
<a name="python-hls-link"></a>

Sie können den Beispielcode [hier](samples/pythonhls.zip) herunterladen. 

#### Teile des Beispiel-Codes
<a name="python-hls-list"></a>

Der Python-Beispiel-Code enthält: 
+ Die Datei `HlsJobCreationSample.py`

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Python-Umgebung](#env-python)

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code.

1. Bearbeiten Sie `HlsJobCreationSample.py` und ersetzen pipeline\$1id und input\$1key durch die entsprechenden Werte.

1. Navigieren Sie über einen Terminal zu dem Verzeichnis, in das Sie den Beispiel-Code extrahiert haben und führen Sie Folgendes aus:

```
$python HlsJobCreationSample.py
```

### Benachrichtigungsbeispiele
<a name="python-notifications"></a>

**Topics**
+ [Beispiel einer Benachrichtigungssyntax](#python-notification-example)
+ [Herunterladen eines Python-Benachrichtigungsbeispiels](#python-link)
+ [Teile des Beispiel-Codes](#python-list)
+ [Aufgaben](#python-tasklist)

#### Beispiel einer Benachrichtigungssyntax
<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"
 }
```

#### Herunterladen eines Python-Benachrichtigungsbeispiels
<a name="python-link"></a>

Sie können den Beispielcode [hier](samples/pythonnotification.zip) herunterladen.

#### Teile des Beispiel-Codes
<a name="python-list"></a>

Der Python-Beispiel-Code enthält:
+ Die Klasse`SqsQueueNotificationWorker.py`: Die `SqsQueueNotificationWorker` Klasse fragt Amazon SQS ab und verarbeitet Benachrichtigungen in einem separaten Prozess. Dies ermöglicht eine echte Mehrfachverarbeitung in Python. Diese Klasse empfängt Nachrichten, ruft alle registrierten Handler für jede empfangene Benachrichtigung auf und löscht die Nachricht aus der Warteschlange. Diese Klasse enthält auch die Definition für die `JobStatusNotificationHandler` Klasse, die als Framework für die Verarbeitung von Elastic Transcoder Transcoder-Benachrichtigungen bereitgestellt wird. Diese Klasse ist erweiterbar und die Handle-Methode kann überschrieben werden, um eine benutzerdefinierte Auftragsverarbeitung bereitzustellen. Beachten Sie, dass dies nicht den Python-Standards des Duck-Typing entspricht, aber es wird eine formale Definition von Handlern im Sinne dieses Beispiels gegeben. 
+ Das Skript`JobStatusNotificationSample.py`: Das `JobStatusNotificationSample.py` Skript erstellt einen Job in Elastic Transcoder und wartet, bis er abgeschlossen ist. Wenn der Auftrag abgeschlossen wird, stoppt es den Abrufprozess der Warteschlange und beendet den Vorgang. Eine prozessübergreifende Synchronisierung mithilfe des Wertobjekts der Mehrfachverarbeitung ist notwendig, weil der Handler in einem anderen Prozess ausgeführt wird, als die Warteschlange, die er abruft.

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

Zur Ausführung des Beispiels befolgen Sie diese Schritte:

1. Richten Sie Ihre Umgebung entsprechend dieser Anleitungen ein: [Einrichten Ihrer Python-Umgebung](#env-python)

1. Laden Sie den Beispiel-Code herunter.

1. Extrahieren Sie den Beispiel-Code in einen lokalen Ordner.

1. Bearbeiten Sie `JobStatusNotificationsSample.py` und ersetzen pipeline\$1id, sqs\$1queue\$1url und input\$1key durch die entsprechenden Werte.

1. Navigieren Sie über einen Terminal zu dem Verzeichnis, in das Sie den Beispiel-Code extrahiert haben und führen Sie Folgendes aus: 

```
$python JobStatusNotificationsSample.py
```