Exemple de code de kit SDK AWS - Amazon Elastic Transcoder

Réduisez les coûts et bénéficiez de davantage de fonctionnalités avec AWS Elemental MediaConvert

MediaConvert est un nouveau service de transcodage vidéo basé sur des fichiers qui fournit une suite complète de fonctionnalités de transcodage avancées, avec des tarifs à la demande à partir de 0,0075 $/minute. En savoir plus

Vous utilisez déjà Amazon Elastic Transcoder ? La migration vers cette solution est simple MediaConvert. Pour plus d'informations, consultez cette présentation qui inclut des informations précieuses sur le processus de migration et des liens vers des ressources supplémentaires.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de code de kit SDK AWS

Cette section contient des exemples de code qui montre comment utiliser les kits SDK AWS pour Java, Ruby, PHP et Python pour effectuer les opérations suivantes :

  • Création d'une liste de lecture HLS dans Amazon Elastic Transcoder

  • Création d'une tâche dans Elastic Transcoder

  • Examate une file d'attente Amazon Simple Queue Service (Amazon SQS)

  • Analyse d'une notification Amazon Simple Notification Service (Amazon SNS)

  • Gérez la notification d'Amazon SNS

Ces opérations reflètent les meilleures pratiques d'Elastic Transcoder. L'interrogation d'une file d'attente Amazon SQS permet d'effectuer des interrogations longues, ce qui est plus efficace qu'une interrogation classique. La configuration des notifications Amazon SNS permet à Elastic Transcoder de transmettre des messages à la file d'attente Amazon SQS.

L'exemple de code montre comment transcoder pour HLS (HTTP Live Streaming) et comment gérer la notification Amazon SNS une fois qu'elle a été supprimée de la file d'attente Amazon SQS.

Si vous utilisez un langage pour lequel il existe un kit SDK, nous vous conseillons d'utiliser le kit SDK plutôt que de tenter d'utiliser les API. Les kits SDK simplifient l'authentification, s'intègrent facilement à votre environnement de développement et permettent d'accéder facilement aux commandes associées.

Contexte de l'exemple de code de kit SDK AWS

HTTP Live Streaming (HLS)

Vous utilisez les sorties HTTP Live Streaming (HLS) afin de diffuser du contenu à débit adaptatif aux lecteurs compatibles HLS. Parmi les appareils compatibles HLS, citons les appareils Android 4+, les appareils iOS, les lecteurs multimédia de bureau tels que QuickTime VLC et les lecteurs de navigateur tels que jwplayer. Le débit adaptatif vous permet d'ajuster automatiquement la qualité du contenu diffusé en fonction de la qualité de la connexion client.

Notifications

Si vous interrogez l'ReadJobAPI d'Elastic Transcoder pour suivre l'état d'une tâche, vous devez faire appelReadJob en permanence à chaque tâche soumise. Cette méthodologie ne peut pas évoluer à mesure que le nombre de tâches de transcodage augmente. Pour résoudre ce problème, Elastic Transcoder peut publier des notifications sur Amazon SNS, qui fournit un mécanisme piloté par les événements pour suivre l'état des tâches.

Chaque notification Elastic Transcoder est envoyée sous la forme d'un objet JSON dans leMessage champ. Les notifications étant elles-mêmes envoyées au format JSON, vous devez échapper à la notification Elastic Transcoder dans la chaîne du message. Pour plus d'informations sur le format et le contenu des notifications Elastic Transcoder, consultez la section Notifications.

Lorsque vous rédigez du code personnalisé pour gérer les notifications relatives à l'état des tâches, suivez les bonnes pratiques suivantes :

  • Les gestionnaires doivent être idempotents. Il est possible qu'une notification soit envoyée plus d'une fois.

  • Les gestionnaires doivent prendre en charge les notifications de rupture de commande. Il est possible que les notifications ne soient pas livrées dans le bon ordre.

  • Les gestionnaires doivent être en mesure de traiter une notification pour n'importe quelle tâche. Il n'existe aucun moyen de garantir qu'une notification pour un travail particulier sera remise à un travailleur en particulier.

  • Les gestionnaires doivent être des opérations courtes. Tous les messages doivent être gérés et supprimés avant l'expiration du délai de visibilité. Si le délai de visibilité est de 15 secondes et qu'un maximum de 5 messages seront renvoyés par Amazon SQS, chaque message doit être traité et supprimé de la file d'attente en moins de 3 secondes. Si le traitement prend plus de temps, les messages non traités expireront et seront remis à un autre collaborateur.

Pour Java, Python et Ruby, nous vous recommandons de consommer les notifications en interrogeant une file d'attente Amazon SQS abonnée à votre sujet de notification. Comme Amazon SQS utilise un mécanisme d'interrogation de longue durée, l'interrogation de la file d'attente Amazon SQS constitue une méthode évolutive pour consommer les notifications de tâches. Amazon SQS simplifie également la disponibilité et le dimensionnement en cas de défaillance des hôtes ou en période de forte charge, et ne nécessite généralement aucune configuration d'ACL particulière.

Pour PHP s'exécutant dans Apache, nous vous recommandons d'inscrire votre terminal directement à la rubrique Amazon SNS. Cela nécessite que votre point de terminaison soit accessible au public, car Amazon SNS devra être en mesure de vous envoyer des notifications directement.

Configuration de votre environnement

Pour exécuter l'exemple de code, vous devez disposer d'une configuration d'environnement AWS. Cette section explique le processus de configuration et explique comment créer les ressources AWS dont Elastic Transcoder a besoin pour fonctionner de manière optimale.

Configuration de votre environnement Java

Cette section vous guide dans la configuration de votre environnement Java.

L'exemple de code s'appuie sur deux hypothèses principales :

  • Les exemples sont écrits pour fonctionner avec Java version 1.6 ou ultérieure.

  • Ils s'exécutent grâce à Eclipse avec AWS Toolkit pour Eclipse.

Configuration du kit AWS SDK pour Java

Ces exemples supposent que vous utilisez AWS Toolkit pour Eclipse. Vous avez besoin du kit AWS SDK pour Java et des fichiers JAR du Processeur Jackson JSON :

  • Jackson Core

  • Jackson Databind

  • Jackson Annotations

Le processeur Jackson JSON gère les notifications de statut de tâche.

Si vous utilisez Maven pour gérer vos dépendances, vous pouvez ajouter les fragments de code suivants à votre fichier pom.xml :

Propriété de la version :

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

Dépendances:

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

Pour plus d'informations, consultez la Documentation sur le kit AWS SDK pour Java.

Création de compartiments d'entrée et de sortie Amazon S3

  1. Ouvrez la console Amazon S3.

  2. Dans la console, cliquez sur Create Bucket.

  3. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment d'entrée.

  4. Toujours dans la console Amazon S3, cliquez à nouveau Create ate ate (Créer un compartiment).

  5. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment de sortie.

Créer une rubrique Amazon SNS pour recevoir des notifications de stratégie de compartiment Amazon SNS

  1. Ouvrez la console Amazon SNS.

  2. Dans la console, cliquez sur Créer et ajouter, puis sélectionnez Créer une nouvelle rubrique.

  3. Dans le champ Nom du sujet, saisissez,ets-sample-topic puis cliquez sur Créer un sujet.

  4. Enregistrez l'ARN deets-sample-topic.

Création d'une file d'attente Amazon SQS pour demander des notifications sur l'état des tâches

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, cliquez sur Créer une nouvelle file d'attente.

  3. Dans le champ Nom de la file d'attente, saisissez,ets-sample-queue puis cliquez sur Créer une file d'attente.

  4. Enregistrez l'URL de file d'attente Amazon SQS.

Abonnement de votre file d'attente Amazon SQS à une rubrique Amazon SNS

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, effectuez votre sélection ets-sample-queuedans la liste des files d'attente.

  3. Sous Actions de file d'attente, sélectionnez Subscribe Queue to Amazon SNS Topic.

  4. Sous Choisir un sujet, sélectionnez ets-sample-topicpuis cliquez sur S'abonner.

Vous devriez voir une confirmation indiquant que votre file d'attente a bien été abonnée à votre sujet.

Création d'un pipeline Elastic Transcoder

  1. Ouvrez la console Amazon Elastic Transcoder.

  2. Dans la console, cliquez sur Créer un nouveau pipeline.

  3. Dans le champ Nom du pipeline, entrezets-sample-pipeline.

  4. Dans le champ Input Bucket, entrez le nom de votre bucket d'entrée.

  5. Laissez le rôle IAM tel quelConsole Default Role.

  6. Dans Configurer le compartiment Amazon S3 pour les fichiers transcodés et les listes de lecture, entrez le nom de votre compartiment de sortie.

  7. Toujours dans Configurer le compartiment Amazon S3 pour les fichiers et les listes de lecture transcodés, sélectionnez la classe de stockage standard.

  8. Développez le menu déroulant Notification (Notification).

  9. Pour les quatre types d'événements, sélectionnez Utiliser un sujet SNS existant, puis sous Sélectionner un sujet, sélectionnezets-sample-topic.

  10. Cliquez sur Create Pipeline.

  11. Enregistrez l'ID du pipeline Elastic Transcoder.

Création d'une CloudFront distribution Amazon pour diffuser du contenu de manière évolutive

  1. Ouvrez la CloudFront console Amazon.

  2. Dans le volet de navigation de la console, développez Private Content, puis cliquez sur Origin Access Identity.

  3. Cliquez sur Créer une identité Origin Access.

  4. Cliquez sur Create.

  5. Enregistrez l'identifiant utilisateur canonique Amazon S3 généré lorsque vous créez votre identité d'accès d'origine.

  6. Dans le volet de navigation, cliquez sur Distribution (Distribution).

  7. Cliquez sur Créer une distribution.

  8. Sélectionnez Web, puis cliquez sur Continuer.

  9. Dans Paramètres d'origine, saisissez votre compartiment de sortie Amazon S3 comme nom de domaine d'origine.

  10. Dans le champ Origin ID, saisissezS3-transcoder-sample-output.

  11. Pour Restreindre l'accès aux compartiments, sélectionnez Oui.

  12. Cliquez sur Créer une distribution et enregistrez le nom de domaine de la distribution.

Modifier de stratégie de stratégie de stratégie de stratégie de compartiment Amazon S3

  1. Ouvrez la console Amazon S3.

  2. À côté du compartiment de sortie, cliquez sur l'icône en forme de loupe pour afficher les propriétés du compartiment.

  3. Développez les autorisations et cliquez sur Ajouter une politique de compartiment.

  4. Entrez la déclaration de politique suivante, en remplaçant CloudFront-oai-s3-canonical-user-id paryour recorded Amazon S3 canonical user ID et s3-output-bucket-name parthe name of your output bucket.

  5. Cliquez sur Sauvegarder

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

Passez aux Exemples Java.

Configuration de votre environnement Ruby

Cette section vous guide dans la configuration de votre environnement Ruby.

L'exemple de code s'appuie sur une hypothèse principale :

  • Les échantillons sont écrits de sorte à être compatibles avec Ruby version 1.9.

Configuration du kit AWS SDK pour Ruby

Le kit SDK AWS pour Ruby est disponible ici. Vous pouvez l'installer facilement grâce aux gems Ruby avec la commande suivante :

gem install aws-sdk

Pour plus d'informations, consultez la Documentation du kit SDK AWS pour Ruby.

Création de compartiments d'entrée et de sortie Amazon S3

  1. Ouvrez la console Amazon S3.

  2. Dans la console, cliquez sur Create Bucket.

  3. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment d'entrée.

  4. Toujours dans la console Amazon S3, cliquez à nouveau Create ate ate (Créer un compartiment).

  5. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment de sortie.

Créer une rubrique Amazon SNS pour recevoir des notifications de stratégie de compartiment Amazon SNS

  1. Ouvrez la console Amazon SNS.

  2. Dans la console, cliquez sur Créer et ajouter, puis sélectionnez Créer une nouvelle rubrique.

  3. Dans le champ Nom du sujet, saisissez,ets-sample-topic puis cliquez sur Créer un sujet.

  4. Enregistrez l'ARN deets-sample-topic.

Création d'une file d'attente Amazon SQS pour demander des notifications sur l'état des tâches

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, cliquez sur Créer une nouvelle file d'attente.

  3. Dans le champ Nom de la file d'attente, saisissez,ets-sample-queue puis cliquez sur Créer une file d'attente.

  4. Enregistrez l'URL de file d'attente Amazon SQS.

Abonnement de votre file d'attente Amazon SQS à une rubrique Amazon SNS

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, effectuez votre sélection ets-sample-queuedans la liste des files d'attente.

  3. Sous Actions de file d'attente, sélectionnez Subscribe Queue to Amazon SNS Topic.

  4. Sous Choisir un sujet, sélectionnez ets-sample-topicpuis cliquez sur S'abonner.

Vous devriez voir une confirmation indiquant que votre file d'attente a bien été abonnée à votre sujet.

Création d'un pipeline Elastic Transcoder

  1. Ouvrez la console Amazon Elastic Transcoder.

  2. Dans la console, cliquez sur Créer un nouveau pipeline.

  3. Dans le champ Nom du pipeline, entrezets-sample-pipeline.

  4. Dans le champ Input Bucket, entrez le nom de votre bucket d'entrée.

  5. Laissez le rôle IAM tel quelConsole Default Role.

  6. Dans Configurer le compartiment Amazon S3 pour les fichiers transcodés et les listes de lecture, entrez le nom de votre compartiment de sortie.

  7. Toujours dans Configurer le compartiment Amazon S3 pour les fichiers et les listes de lecture transcodés, sélectionnez la classe de stockage standard.

  8. Développez le menu déroulant Notification (Notification).

  9. Pour les quatre types d'événements, sélectionnez Utiliser un sujet SNS existant, puis sous Sélectionner un sujet, sélectionnezets-sample-topic.

  10. Cliquez sur Create Pipeline.

  11. Enregistrez l'ID du pipeline Elastic Transcoder.

Création d'une CloudFront distribution Amazon pour diffuser du contenu de manière évolutive

  1. Ouvrez la CloudFront console Amazon.

  2. Dans le volet de navigation de la console, développez Private Content, puis cliquez sur Origin Access Identity.

  3. Cliquez sur Créer une identité Origin Access.

  4. Cliquez sur Create.

  5. Enregistrez l'identifiant utilisateur canonique Amazon S3 généré lorsque vous créez votre identité d'accès d'origine.

  6. Dans le volet de navigation, cliquez sur Distribution (Distribution).

  7. Cliquez sur Créer une distribution.

  8. Sélectionnez Web, puis cliquez sur Continuer.

  9. Dans Paramètres d'origine, saisissez votre compartiment de sortie Amazon S3 comme nom de domaine d'origine.

  10. Dans le champ Origin ID, saisissezS3-transcoder-sample-output.

  11. Pour Restreindre l'accès aux compartiments, sélectionnez Oui.

  12. Cliquez sur Créer une distribution et enregistrez le nom de domaine de la distribution.

Modifier de stratégie de stratégie de stratégie de stratégie de compartiment Amazon S3

  1. Ouvrez la console Amazon S3.

  2. À côté du compartiment de sortie, cliquez sur l'icône en forme de loupe pour afficher les propriétés du compartiment.

  3. Développez les autorisations et cliquez sur Ajouter une politique de compartiment.

  4. Entrez la déclaration de politique suivante, en remplaçant CloudFront-oai-s3-canonical-user-id paryour recorded Amazon S3 canonical user ID et s3-output-bucket-name parthe name of your output bucket.

  5. Cliquez sur Sauvegarder

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

Passez aux Exemples Ruby.

Configuration de votre environnement PHP

Cette section vous guide dans la configuration de votre environnement PHP.

L'exemple de code s'appuie sur trois hypothèses principales :

  • Les exemples PHP sont exécutés dans un serveur Apache.

  • Le serveur Apache doit être en mesure de recevoir des informations provenant d'Internet pour recevoir des notifications Amazon SNS.

  • Les exemples sont écrits pour fonctionner avec PHP version 5.4 ou ultérieure.

Installation de l'exemple de code

Pour pouvoir utiliser l'exemple de code PHP, vous devez d'abord le télécharger et l'installer.

  • Téléchargez l'exemple de code :

  • Décompressez l'exemple de code.

  • Placez le code sous celui de votre serveur Apache DocumentRoot.

  • Supprimez le fichier .zip d'exemple de code téléchargé.

  • Mettez à jour le chemin d'accès à votre installation du kit SDK AWS.

Note

Dans HlsJobCreationSample.php et JobStatusNotificationsSample.php, vous devez mettre à jour le chemin d'accès à votre fichier autoload.php. Si vous utilisez l'installation phar, vous pouvez utiliser le chemin d'accès au fichier aws.phar que vous avez téléchargé, qui comprend toutes les dépendances nécessaires.

Configuration du kit AWS SDK pour PHP

Vous trouverez le kit AWS SDK pour PHP ici. Dans le cadre de ce didacticiel, nous vous conseillons d'opter pour l'installation phar ; cependant, les projets à long terme sont mieux gérés à l'aide du compositeur.

Pour plus d'informations, consultez la Documentation du kit AWS SDK pour PHP.

Création de compartiments d'entrée et de sortie Amazon S3

  1. Ouvrez la console Amazon S3.

  2. Dans la console, cliquez sur Create Bucket.

  3. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment d'entrée.

  4. Toujours dans la console Amazon S3, cliquez à nouveau Create ate ate (Créer un compartiment).

  5. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment de sortie.

Créer une rubrique Amazon SNS pour recevoir des notifications de stratégie de stratégie de compartiment Amazon SNS

  1. Ouvrez la console Amazon SNS.

  2. Dans la console, cliquez sur Créer et ajouter, puis sélectionnez Créer une nouvelle rubrique.

  3. Dans le champ Nom du sujet, saisissez,ets-sample-topic puis cliquez sur Créer un sujet.

  4. Enregistrez l'ARN deets-sample-topic.

Abonnement de votre serveur à Amazon SNS

  1. Vérifiez que l'exemple de code PHP a été installé.

  2. Ouvrez la console Amazon SNS.

  3. En dessous AdditionalActions, cliquez sur Créer un abonnement.

  4. Sélectionnez HTTP ou HTTPS en fonction de la configuration de votre serveur.

  5. Dans Endpoint, saisissez le point de terminaison de votre serveur. Le chemin du point de terminaison doit pointer sur JobStatusNotificationsSampleNotificationHandler.php.

  6. Cliquez sur Subscribe. Une demande d'abonnement est envoyée à votre point de terminaison PHP.

L'exemple de code PHP gère automatiquement la demande d'abonnement et confirme un abonnement. La demande d'abonnement et la réponse sont écrites dans /tmp/subscribe_requests.txt.

Création d'un pipeline Elastic Transcoder

  1. Ouvrez la console Amazon Elastic Transcoder.

  2. Dans la console, cliquez sur Créer un nouveau pipeline.

  3. Dans le champ Nom du pipeline, entrezets-sample-pipeline.

  4. Dans le champ Input Bucket, entrez le nom de votre bucket d'entrée.

  5. Laissez le rôle IAM tel quelConsole Default Role.

  6. Dans Configurer le compartiment Amazon S3 pour les fichiers transcodés et les listes de lecture, entrez le nom de votre compartiment de sortie.

  7. Toujours dans Configurer le compartiment Amazon S3 pour les fichiers et les listes de lecture transcodés, sélectionnez la classe de stockage standard.

  8. Développez le menu déroulant Notification (Notification).

  9. Pour les quatre types d'événements, sélectionnez Utiliser un sujet SNS existant, puis sous Sélectionner un sujet, sélectionnezets-sample-topic.

  10. Cliquez sur Create Pipeline.

  11. Enregistrez l'ID du pipeline Elastic Transcoder.

Création d'une CloudFront distribution Amazon pour diffuser du contenu de manière évolutive

  1. Ouvrez la CloudFront console Amazon.

  2. Dans le volet de navigation de la console, développez Private Content, puis cliquez sur Origin Access Identity.

  3. Cliquez sur Créer une identité Origin Access.

  4. Cliquez sur Create.

  5. Enregistrez l'identifiant utilisateur canonique Amazon S3 généré lorsque vous créez votre identité d'accès d'origine.

  6. Dans le volet de navigation, cliquez sur Distribution (Distribution).

  7. Cliquez sur Créer une distribution.

  8. Sélectionnez Web, puis cliquez sur Continuer.

  9. Dans Paramètres d'origine, saisissez votre compartiment de sortie Amazon S3 comme nom de domaine d'origine.

  10. Dans le champ Origin ID, saisissezS3-transcoder-sample-output.

  11. Pour Restreindre l'accès aux compartiments, sélectionnez Oui.

  12. Cliquez sur Créer une distribution et enregistrez le nom de domaine de la distribution.

Modifier de stratégie de stratégie de stratégie de stratégie de compartiment Amazon S3

  1. Ouvrez la console Amazon S3.

  2. À côté du compartiment de sortie, cliquez sur l'icône en forme de loupe pour afficher les propriétés du compartiment.

  3. Développez les autorisations et cliquez sur Ajouter une politique de compartiment.

  4. Entrez la déclaration de politique suivante, en remplaçant CloudFront-oai-s3-canonical-user-id paryour recorded Amazon S3 canonical user ID et s3-output-bucket-name parthe name of your output bucket.

  5. Cliquez sur Sauvegarder

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

Passez aux Exemples de PHP.

Configuration de votre environnement Python

Cette section vous guide dans la configuration de votre environnement Python.

Elle s'appuie sur l'hypothèse suivante :

  • Les exemples sont écrits de sorte à être compatibles avec Python version 2.7.

Configuration du kit AWS SDK pour Python

Vous trouverez le kit AWS SDK pour Python ici. Vous pouvez également l'installer facilement grâce à PIP avec la commande suivante :

pip-2.7 install boto

Pour plus d'informations, consultez la Documentation sur le kit SDK AWS pour Python.

Création de compartiments d'entrée et de sortie Amazon S3

  1. Ouvrez la console Amazon S3.

  2. Dans la console, cliquez sur Create Bucket.

  3. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment d'entrée.

  4. Toujours dans la console Amazon S3, cliquez à nouveau Create ate ate (Créer un compartiment).

  5. Dans le champ Nom du compartiment, entrez le nom souhaité pour votre compartiment de sortie.

Créer une rubrique Amazon SNS pour recevoir des notifications de stratégie de stratégie de compartiment Amazon SNS

  1. Ouvrez la console Amazon SNS.

  2. Dans la console, cliquez sur Créer et ajouter, puis sélectionnez Créer une nouvelle rubrique.

  3. Dans le champ Nom du sujet, saisissez,ets-sample-topic puis cliquez sur Créer un sujet.

  4. Enregistrez l'ARN deets-sample-topic.

Création d'une file d'attente Amazon SQS pour demander des notifications sur l'état des tâches

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, cliquez sur Créer une nouvelle file d'attente.

  3. Dans le champ Nom de la file d'attente, saisissez,ets-sample-queue puis cliquez sur Créer une file d'attente.

  4. Enregistrez l'URL de file d'attente Amazon SQS.

Abonnement de votre file d'attente Amazon SQS à une rubrique Amazon SNS

  1. Ouvrez la console Amazon SQS.

  2. Dans la console, effectuez votre sélection ets-sample-queuedans la liste des files d'attente.

  3. Sous Actions de file d'attente, sélectionnez Subscribe Queue to Amazon SNS Topic.

  4. Sous Choisir un sujet, sélectionnez ets-sample-topicpuis cliquez sur S'abonner.

Vous devriez voir une confirmation indiquant que votre file d'attente a bien été abonnée à votre sujet.

Création d'un pipeline Elastic Transcoder

  1. Ouvrez la console Amazon Elastic Transcoder.

  2. Dans la console, cliquez sur Créer un nouveau pipeline.

  3. Dans le champ Nom du pipeline, entrezets-sample-pipeline.

  4. Dans le champ Input Bucket, entrez le nom de votre bucket d'entrée.

  5. Laissez le rôle IAM tel quelConsole Default Role.

  6. Dans Configurer le compartiment Amazon S3 pour les fichiers transcodés et les listes de lecture, entrez le nom de votre compartiment de sortie.

  7. Toujours dans Configurer le compartiment Amazon S3 pour les fichiers et les listes de lecture transcodés, sélectionnez la classe de stockage standard.

  8. Développez le menu déroulant Notification (Notification).

  9. Pour les quatre types d'événements, sélectionnez Utiliser un sujet SNS existant, puis sous Sélectionner un sujet, sélectionnezets-sample-topic.

  10. Cliquez sur Create Pipeline.

  11. Enregistrez l'ID du pipeline Elastic Transcoder.

Création d'une CloudFront distribution Amazon pour diffuser du contenu de manière évolutive

  1. Ouvrez la CloudFront console Amazon.

  2. Dans le volet de navigation de la console, développez Private Content, puis cliquez sur Origin Access Identity.

  3. Cliquez sur Créer une identité Origin Access.

  4. Cliquez sur Create.

  5. Enregistrez l'identifiant utilisateur canonique Amazon S3 généré lorsque vous créez votre identité d'accès d'origine.

  6. Dans le volet de navigation, cliquez sur Distribution (Distribution).

  7. Cliquez sur Créer une distribution.

  8. Sélectionnez Web, puis cliquez sur Continuer.

  9. Dans Paramètres d'origine, saisissez votre compartiment de sortie Amazon S3 comme nom de domaine d'origine.

  10. Dans le champ Origin ID, saisissezS3-transcoder-sample-output.

  11. Pour Restreindre l'accès aux compartiments, sélectionnez Oui.

  12. Cliquez sur Créer une distribution et enregistrez le nom de domaine de la distribution.

Modifier de stratégie de stratégie de stratégie de stratégie de compartiment Amazon S3

  1. Ouvrez la console Amazon S3.

  2. À côté du compartiment de sortie, cliquez sur l'icône en forme de loupe pour afficher les propriétés du compartiment.

  3. Développez les autorisations et cliquez sur Ajouter une politique de compartiment.

  4. Entrez la déclaration de politique suivante, en remplaçant CloudFront-oai-s3-canonical-user-id paryour recorded Amazon S3 canonical user ID et s3-output-bucket-name parthe name of your output bucket.

  5. Cliquez sur Sauvegarder

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

Passez aux Exemples Python.

Exemples Java

Tous les exemples Java s'appuient sur deux hypothèses :

  • Les exemples sont écrits pour fonctionner avec Java version 1.6 ou ultérieure.

  • Ils s'exécutent grâce à Eclipse avec AWS Toolkit pour Eclipse.

Exemples de HLS

Cet exemple explique comment créer une tâche HLS et un fichier de liste de lecture HLS pouvant être utilisés pour lire un flux de débit adaptatif.

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Java inclut :

  • La classe HlsJobCreationSample

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Java.

  2. Téléchargez l'exemple de code.

  3. Dans Eclipse, ouvrez com/amazonaws/services/elastictranscoder/samples/HlsJobCreationSample.java.

  4. Remplacez PIPELINE_ID et INPUT_KEY par les valeurs appropriées.

  5. Exécutez les exemples dans Eclipse.

Exemples de notification

Exemple de syntaxe de notification

{ "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" }

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Java inclut :

  • La classe Notification : pour utiliser les notifications provenant de Java, nous utilisons la bibliothèque Jackson JSON pour désérialiser les notifications de statut de tâche en objets POJO. LaNotification classe modélise le message que nous recevons de la file d'attente Amazon SQS.

  • La classeJobStatusNotification : LaJobStatusNotification classe modélise une notification Elastic Transcoder.

  • La classeSqsQueueNotificationWorker : laSqsQueueNotificationWorker classe peut être lancée dans un fil de discussion distinct pour interroger Amazon SQS et gérer les notifications relatives à l'état des tâches. Cette classe reçoit des messages, appelle tous les gestionnaires enregistrés pour chaque notification reçue, puis supprime le message de la file d'attente.

  • L'interface JobStatusNotificationHandler : l'interface JobStatusNotificationHandler peut être mise en œuvre pour permettre un traitement personnalisé pour les notifications.

  • La classe JobStatusNotificationsSample : la classe JobStatusNotificationsSample crée une tâche et attend qu'elle soit terminée. Lorsque la tâche entre en état terminal, la file d'attente de travail se ferme et l'application est quittée.

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Java.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code dans le répertoire source de votre projet JAVA.

  4. Ouvrez com/amazonaws/services/elastictranscoder/samples/JobStatusNotificationsSample.java dans Eclipse.

  5. Remplacez PIPELINE_ID, SQS_QUEUE_URL et INPUT_KEY par les valeurs appropriées.

  6. Exécutez l'exemple dans Eclipse.

Exemples Ruby

Tous les exemples Ruby s'appuient sur une hypothèse principale :

  • Les échantillons sont écrits de sorte à être compatibles avec Ruby version 1.9.

Exemples de HLS

Cet exemple explique comment créer une tâche HLS et un fichier de liste de lecture HLS pouvant être utilisés pour lire un flux de débit adaptatif.

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Ruby inclut :

  • le fichier HlsJobCreationSample.rb ;

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Ruby.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code dans le répertoire source de votre projet Ruby.

  4. Modifiez HlsJobCreationSample.rb et remplacez pipeline_id et input_key par les valeurs appropriées.

  5. A partir d'un terminal, accédez au répertoire où vous avez décompressé l'exemple de code et exécutez :

$ruby HlsJobCreationSample.rb

Exemples de notification

Exemple de syntaxe de notification

{ "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" }

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Ruby inclut :

  • La classeSqsQueueNotificationWorker : laSqsQueueNotificationWorker classe interroge Amazon SQS pour obtenir des notifications, appelle tous les gestionnaires enregistrés pour chaque notification et supprime le message de la file d'attente. Notez que le travail s'exécute dans un thread distinct. Si l'implémentation Ruby utilisée contient des threads « verts », un seul thread est exécuté à la fois (pas de véritable multitraitement).

  • Le scriptJobStatusNotificationsSample.rb : Ce script crée une tâche Elastic Transcoder, lance une tâche Amazon SQS et attend la fin de la tâche. Le gestionnaire fourni indique au travailleur Amazon SQS de s'arrêter lorsque le traitement de la tâche créée est terminé. Le traitement des notifications se fait en appelant la méthode add_handlers et en fournissant un Proc ou lambda en tant que gestionnaire prenant un argument unique. Pour chaque notification reçue, tous les gestionnaires enregistrés sont appelés avec la notification fournie comme argument d'entrée pour le gestionnaire.

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Ruby.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code dans le répertoire source de votre projet Ruby.

  4. Modifiez JobStatusNotificationsSample.rb et remplacez pipeline_id, sqs_queue_url et input_key par les valeurs appropriées.

  5. A partir d'un terminal, accédez au répertoire où vous avez décompressé l'exemple de code et exécutez :

$ruby JobStatusNotificationsSample.rb

Exemples de PHP

Tous les exemples PHP s'appuient sur trois hypothèses principales :

  • Les exemples PHP sont exécutés dans un serveur Apache.

  • Le serveur Apache doit être en mesure de recevoir des informations provenant d'Internet pour recevoir des notifications Amazon SNS.

  • Les exemples sont écrits pour fonctionner avec PHP version 5.4 ou ultérieure.

Exemples de HLS

Cet exemple explique comment créer une tâche HLS et un fichier de liste de lecture HLS pouvant être utilisés pour lire un flux de débit adaptatif.

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code PHP inclut :

  • le fichier HlsJobCreationSample.php ;

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement PHP.

  2. Téléchargez l'exemple de code.

  3. Dans votre navigateur, chargez la page http ://<your-endpoint>/transcoder-samples/HlsJobCreationSample .php.

  4. Renseignez l'ID de pipeline et la clé d'entrée et soumettez le formulaire pour créer une tâche.

Exemples de notification

Exemple de syntaxe de notification

{ "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" }

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code PHP inclut :

  • Le fichier JobStatusNotificationsSampleNotificationHandler.php : Lorsqu'une notification fait l'objet d'une opération POST sur votre serveur, le gestionnaire de notifications écrit le statut dans un fichier sous /tmp/<id-tâche>.

  • Le fichier JobStatusNotificationsSample.php : Lorsque le gestionnaire de notifications écrit le statut dans un fichier sous /tmp/<id-tâche>, JobStatusNotificationsSample.php charge le fichier de statut /tmp/<id-tâche> spécifié par l'ID dans la chaîne de requête qui lui est transmise.

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement PHP.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code dans le répertoire source de votre projet PHP.

  4. Dans votre navigateur, chargez la page http ://<your-endpoint>/transcoder-samples/JobStatusNotificationsSample .php.

  5. Renseignez l'ID de pipeline et la clé d'entrée que vous souhaitez transcoder, puis appuyez sur le bouton Create Job.

Exemples Python

Tous les exemples Python s'appuient sur une hypothèse principale :

  • Les exemples sont écrits de sorte à être compatibles avec Python version 2.7.

Exemples de HLS

Cet exemple explique comment créer une tâche HLS et un fichier de liste de lecture HLS pouvant être utilisés pour lire un flux de débit adaptatif.

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Python inclut :

  • le fichier HlsJobCreationSample.py ;

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Python.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code.

  4. Modifiez HlsJobCreationSample.py et remplacez pipeline_id et input_key par les valeurs appropriées.

  5. A partir d'un terminal, accédez au répertoire où vous avez décompressé l'exemple de code et exécutez :

$python HlsJobCreationSample.py

Exemples de notification

Exemple de syntaxe de notification

{ "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" }

Vous pouvez télécharger l'exemple de code ici.

Fragments d'exemples de code

L'exemple de code Python inclut :

  • La classeSqsQueueNotificationWorker.py : laSqsQueueNotificationWorker classe interroge Amazon SQS et gère les notifications dans le cadre d'un processus distinct. Cela permet de véritables opérations de multitraitement dans Python. Cette classe reçoit des messages, appelle tous les gestionnaires enregistrés pour chaque notification reçue, puis supprime le message de la file d'attente. Cette classe inclut également la définition de laJobStatusNotificationHandler classe, qui est fournie pour fournir un cadre pour la gestion des notifications Elastic Transcoder. Cette classe peut être étendue et la méthode de traitement écrasée pour un traitement personnalisé des tâches. Notez que cela ne respecte pas les normes Python de duck typing, mais ne donne pas de définition formelle des gestionnaires pour les besoins de cet exemple.

  • Le scriptJobStatusNotificationSample.py : leJobStatusNotificationSample.py script crée une tâche dans Elastic Transcoder et attend qu'elle soit terminée. Une fois la tâche terminée, il interrompt le processus d'interrogation de la file d'attente et se ferme. La synchronisation entre processus avec un objet de valeur multitraitement est nécessaire, car le gestionnaire s'exécute dans un processus distinct de la file d'attente qu'il interroge.

Tâches

Pour exécuter l'exemple, procédez de la manière suivante :

  1. Configurez votre environnement en appliquant les instructions suivantes : Configuration de votre environnement Python.

  2. Téléchargez l'exemple de code.

  3. Décompressez l'exemple de code dans un dossier local.

  4. Modifiez JobStatusNotificationsSample.py et remplacez pipeline_id, sqs_queue_url et input_key par les valeurs appropriées.

  5. A partir d'un terminal, accédez au répertoire où vous avez décompressé l'exemple de code et exécutez :

$python JobStatusNotificationsSample.py