

Pemberitahuan akhir dukungan: Pada 13 November 2025, AWS akan menghentikan dukungan untuk Amazon Elastic Transcoder. Setelah 13 November 2025, Anda tidak akan lagi dapat mengakses konsol Elastic Transcoder atau sumber daya Elastic Transcoder.

Untuk informasi lebih lanjut tentang transisi ke AWS Elemental MediaConvert, kunjungi [posting blog](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/) ini.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kode Contoh AWS SDK
<a name="sample-code"></a>

Bagian ini berisi contoh kode yang menunjukkan cara menggunakan AWS SDKs untuk Java, Ruby, PHP, dan Python untuk melakukan operasi berikut:
+ Buat daftar putar HLS di Amazon Elastic Transcoder
+ Buat pekerjaan di Elastic Transcoder
+ Jajak pendapat antrian Amazon Simple Queue Service (Amazon SQS)
+ Mengurai notifikasi dari Amazon Simple Notification Service (Amazon SNS)
+ Menangani notifikasi dari Amazon SNS

Operasi ini mewakili praktik terbaik Elastic Transcoder. Polling antrian Amazon SQS memungkinkan polling panjang, yang skalanya lebih efisien daripada polling biasa, dan menyiapkan notifikasi Amazon SNS memungkinkan Elastic Transcoder mengirimkan pesan ke antrean Amazon SQS.

Kode sampel menunjukkan cara mentranskode untuk HLS (HTTP Live Streaming) dan cara menangani notifikasi Amazon SNS setelah dihapus dari antrian Amazon SQS.

Jika Anda menggunakan bahasa yang memiliki SDK, sebaiknya gunakan SDK daripada mencoba meneruskannya. APIs Anda akan menemukan bahwa menggunakan otentikasi SDKs membuat otentikasi lebih sederhana, terintegrasi dengan mudah dengan lingkungan pengembangan Anda, dan menyediakan akses mudah ke perintah terkait.

**Topics**
+ [Latar belakang untuk Kode Contoh AWS SDK](#sample-intro)
+ [Menyiapkan Lingkungan Anda](#env-setup)
+ [Sampel Java](#java-sample)
+ [Sampel Ruby](#ruby-sample)
+ [Sampel PHP](#php-sample)
+ [Python Sampel](#python-sample)

## Latar belakang untuk Kode Contoh AWS SDK
<a name="sample-intro"></a>

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

Anda menggunakan output HTTP Live Streaming (HLS) untuk mengirimkan konten kecepatan bit adaptif ke pemain yang mendukung HLS. Contoh perangkat yang mendukung HLS adalah perangkat Android 4\$1, perangkat iOS, pemutar media desktop seperti QuickTime atau VLC, dan pemutar browser seperti jwplayer. Kecepatan bit adaptif memungkinkan Anda untuk secara otomatis menyesuaikan kualitas konten yang dikirimkan berdasarkan kualitas koneksi klien.

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

Jika Anda melakukan polling `ReadJob` API Elastic Transcoder untuk melacak status pekerjaan, Anda harus terus memanggil `ReadJob` setiap pekerjaan yang dikirimkan. Metodologi ini tidak dapat diskalakan karena jumlah pekerjaan transkode meningkat. Untuk mengatasi masalah ini, Elastic Transcoder dapat mempublikasikan notifikasi ke Amazon SNS yang menyediakan mekanisme berbasis peristiwa untuk melacak status pekerjaan.

Setiap notifikasi Elastic Transcoder dikirim sebagai objek JSON di lapangan. `Message` Karena notifikasi sendiri dikirim dalam format JSON, Anda harus keluar dari notifikasi Elastic Transcoder dalam string pesan. [Untuk informasi tentang format dan konten notifikasi Elastic Transcoder, lihat bagian Notifikasi.](https://docs.aws.amazon.com/elastictranscoder/latest/developerguide/notifications.html)

Saat Anda menulis kode khusus untuk menangani pemberitahuan status pekerjaan, ikuti praktik terbaik berikut ini:
+ **Penangan harus idempoten.** Ada kemungkinan bahwa pemberitahuan akan dikirimkan lebih dari sekali.
+ **Penangan harus mendukung pemberitahuan di luar pesanan.** Ada kemungkinan bahwa notifikasi akan dikirim rusak.
+ **Handler harus dapat memproses pemberitahuan untuk pekerjaan apa pun.** Tidak ada cara untuk menjamin bahwa pemberitahuan untuk pekerjaan tertentu akan dikirimkan ke pekerja tertentu.
+ **Handler harus operasi singkat.** Semua pesan harus ditangani dan dihapus sebelum batas waktu visibilitas. Jika batas waktu visibilitas adalah 15 detik dan maksimal 5 pesan akan dikembalikan dari Amazon SQS, setiap pesan harus ditangani dan dihapus dari antrian dalam waktu kurang dari 3 detik. Jika penanganan memakan waktu lebih lama dari ini, pesan yang belum diproses akan habis waktu dan dikirim ke pekerja yang berbeda.

Untuk Java, Python, dan Ruby, kami menyarankan Anda menggunakan notifikasi dengan melakukan polling antrian Amazon SQS yang berlangganan topik notifikasi Anda. Karena Amazon SQS menggunakan mekanisme polling panjang, polling antrian Amazon SQS memberikan metode yang dapat diskalakan untuk mengkonsumsi notifikasi pekerjaan. Amazon SQS juga menyederhanakan ketersediaan dan penskalaan ketika host gagal atau selama masa beban tinggi, dan umumnya tidak memerlukan pengaturan ACL khusus.

Untuk PHP yang berjalan di Apache, kami sarankan Anda berlangganan endpoint Anda langsung ke topik Amazon SNS. Ini mengharuskan titik akhir Anda tersedia untuk umum karena Amazon SNS harus dapat mendorong pemberitahuan langsung kepada Anda.

## Menyiapkan Lingkungan Anda
<a name="env-setup"></a>

Untuk menjalankan kode sampel, Anda harus menyiapkan lingkungan AWS. Bagian ini memandu Anda melalui proses penyiapan, dan menunjukkan cara membuat sumber daya AWS yang dibutuhkan Elastic Transcoder agar dapat bekerja secara optimal.

**Topics**
+ [Menyiapkan lingkungan Java Anda](#env-java)
+ [Menyiapkan lingkungan Ruby Anda](#env-ruby)
+ [Menyiapkan lingkungan PHP Anda](#env-php)
+ [Menyiapkan lingkungan Python Anda](#env-python)

### Menyiapkan lingkungan Java Anda
<a name="env-java"></a>

Bagian ini memandu Anda melalui pengaturan lingkungan Java Anda.

**Topics**
+ [Menyiapkan AWS SDK for Java](#java-sdk)
+ [Membuat bucket input dan output Amazon S3](#java-s3)
+ [Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan](#java-sns)
+ [Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan](#java-sqs)
+ [Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda](#java-sqs-subscribe)
+ [Membuat pipa Elastic Transcoder](#java-pipeline)
+ [Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang dapat diskalakan](#java-cloudfront)
+ [Memodifikasi kebijakan bucket Amazon S3](#java-s3-policy)

Kode sampel membuat dua asumsi utama:
+ Sampel ditulis untuk bekerja dengan Java versi 1.6 atau lebih tinggi.
+ Sampel dijalankan menggunakan Eclipse dengan AWS Toolkit for Eclipse.

#### Menyiapkan AWS SDK for Java
<a name="java-sdk"></a>

Sampel ini mengasumsikan Anda menggunakan AWS Toolkit for Eclipse. Anda memerlukan [AWS SDK for](https://aws.amazon.com/sdkforjava/) Java dan file JAR prosesor Jackson JSON berikut:
+ Inti Jackson
+ Databind Jackson
+ Anotasi Jackson

Prosesor Jackson JSON menangani pemberitahuan status pekerjaan.

Atau, jika Anda menggunakan Maven untuk mengelola dependensi Anda, Anda dapat menambahkan cuplikan berikut ke file Anda: `pom.xml`

Properti versi: 

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

Dependensi:

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

Untuk informasi selengkapnya, lihat [AWS SDK for Java](https://aws.amazon.com/documentation/sdkforjava/) Documentation.

#### Membuat bucket input dan output Amazon S3
<a name="java-s3"></a>

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

1. Di konsol, klik **Buat Bucket**.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket masukan Anda.

1. Masih di konsol Amazon S3, klik **Buat Bucket** lagi.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket keluaran Anda.

#### Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan
<a name="java-sns"></a>

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

1. Di konsol, klik **Buat dan Tambah dan** pilih **Buat Topik Baru**.

1. Di bidang **Nama Topik**, masukkan **ets-sample-topic** lalu klik **Buat Topik**.

1. Rekam ARN dari. `ets-sample-topic`

#### Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan
<a name="java-sqs"></a>

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

1. Di konsol, klik **Buat Antrian Baru**.

1. Di bidang **Nama Antrian**, masukkan **ets-sample-queue** lalu klik **Buat Antrian**.

1. Rekam URL antrian Amazon SQS.

#### Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda
<a name="java-sqs-subscribe"></a>

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

1. Di konsol, pilih **ets-sample-queue**dari daftar antrian.

1. Di bawah **Tindakan Antrian**, pilih **Berlangganan Antrian ke Topik Amazon SNS**.

1. Di bawah **Pilih Topik**, pilih **ets-sample-topic**lalu klik **Berlangganan**.

Anda akan melihat konfirmasi bahwa antrian Anda telah berhasil berlangganan topik Anda.

#### Membuat pipa Elastic Transcoder
<a name="java-pipeline"></a>

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

1. Di konsol, klik **Buat Pipeline Baru**.

1. Di bidang **Nama Pipeline**, masukkan**ets-sample-pipeline**.

1. Di bidang **Input Bucket**, masukkan nama bucket masukan Anda.

1. Tinggalkan **Peran IAM** sebagai**Console Default Role**.

1. Di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, masukkan nama bucket keluaran Anda.

1. **Masih di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, pilih kelas penyimpanan standar.**

1. Perluas menu tarik-turun **Pemberitahuan**.

1. Untuk keempat jenis acara, pilih **Gunakan topik SNS yang ada**, dan di bawah **Pilih Topik**, pilih**ets-sample-topic**.

1. Klik **Buat Pipeline**.

1. Rekam ID pipa Elastic Transcoder.

#### Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang dapat diskalakan
<a name="java-cloudfront"></a>

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

1. Di panel navigasi konsol, perluas **Konten Pribadi**, lalu klik **Origin Access Identity**.

1. Klik **Buat Identitas Akses Asal**.

1. Klik **Buat**.

1. Rekam ID pengguna kanonik Amazon S3 yang dihasilkan saat Anda membuat identitas akses asal.

1. Di panel navigasi, klik **Distribusi**.

1. Klik **Buat Distribusi**.

1. Pilih **Web** dan kemudian klik **Lanjutkan**.

1. Di bawah **Pengaturan Asal**, masukkan bucket keluaran Amazon S3 Anda sebagai **Nama Domain Asal**.

1. Di bidang **ID Asal**, masukkan**S3-transcoder-sample-output**.

1. Untuk **Membatasi Akses Bucket**, pilih **Ya**.

1. Klik **Buat Distribusi**, dan catat nama domain distribusi.

#### Memodifikasi kebijakan bucket Amazon S3
<a name="java-s3-policy"></a>

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

1. Di sebelah bucket keluaran, klik **ikon kaca pembesar** untuk memunculkan properti bucket.

1. **Perluas Izin** dan klik **Tambahkan kebijakan bucket**.

1. **Masukkan pernyataan kebijakan berikut, ganti **CloudFront-oai-s3- canonical-user-id dengan **your recorded Amazon S3 canonical user ID** dan s3-** dengan. output-bucket-name** **the name of your output bucket**

1. Klik **Simpan**.

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

Lewati ke[Sampel Java](#java-sample).

### Menyiapkan lingkungan Ruby Anda
<a name="env-ruby"></a>

Bagian ini memandu Anda melalui pengaturan lingkungan Ruby Anda.

**Topics**
+ [Menyiapkan AWS SDK for Ruby](#ruby-sdk)
+ [Membuat bucket input dan output Amazon S3](#ruby-s3)
+ [Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan](#ruby-sns)
+ [Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan](#ruby-sqs)
+ [Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda](#ruby-sqs-subscribe)
+ [Membuat pipa Elastic Transcoder](#ruby-pipeline)
+ [Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang dapat diskalakan](#ruby-cloudfront)
+ [Memodifikasi kebijakan bucket Amazon S3](#ruby-s3-policy)

Kode sampel membuat satu asumsi utama:
+ Sampel ditulis agar kompatibel dengan Ruby versi 1.9.

#### Menyiapkan AWS SDK for Ruby
<a name="ruby-sdk"></a>

[AWS SDK for Ruby tersedia di sini.](https://aws.amazon.com/sdkforruby/) Anda dapat menginstalnya dengan mudah menggunakan permata Ruby dengan perintah berikut: 

```
gem install aws-sdk
```

Untuk informasi selengkapnya, lihat [AWS SDK for Ruby Documentation](https://aws.amazon.com/documentation/sdkforruby/).

#### Membuat bucket input dan output Amazon S3
<a name="ruby-s3"></a>

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

1. Di konsol, klik **Buat Bucket**.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket masukan Anda.

1. Masih di konsol Amazon S3, klik **Buat Bucket** lagi.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket keluaran Anda.

#### Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan
<a name="ruby-sns"></a>

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

1. Di konsol, klik **Buat dan Tambah dan** pilih **Buat Topik Baru**.

1. Di bidang **Nama Topik**, masukkan **ets-sample-topic** lalu klik **Buat Topik**.

1. Rekam ARN dari. `ets-sample-topic`

#### Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan
<a name="ruby-sqs"></a>

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

1. Di konsol, klik **Buat Antrian Baru**.

1. Di bidang **Nama Antrian**, masukkan **ets-sample-queue** lalu klik **Buat Antrian**.

1. Rekam URL antrian Amazon SQS.

#### Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda
<a name="ruby-sqs-subscribe"></a>

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

1. Di konsol, pilih **ets-sample-queue**dari daftar antrian.

1. Di bawah **Tindakan Antrian**, pilih **Berlangganan Antrian ke Topik Amazon SNS**.

1. Di bawah **Pilih Topik**, pilih **ets-sample-topic**lalu klik **Berlangganan**.

Anda akan melihat konfirmasi bahwa antrian Anda telah berhasil berlangganan topik Anda.

#### Membuat pipa Elastic Transcoder
<a name="ruby-pipeline"></a>

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

1. Di konsol, klik **Buat Pipeline Baru**.

1. Di bidang **Nama Pipeline**, masukkan**ets-sample-pipeline**.

1. Di bidang **Input Bucket**, masukkan nama bucket masukan Anda.

1. Tinggalkan **Peran IAM** sebagai**Console Default Role**.

1. Di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, masukkan nama bucket keluaran Anda.

1. **Masih di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, pilih kelas penyimpanan standar.**

1. Perluas menu tarik-turun **Pemberitahuan**.

1. Untuk keempat jenis acara, pilih **Gunakan topik SNS yang ada**, dan di bawah **Pilih Topik**, pilih**ets-sample-topic**.

1. Klik **Buat Pipeline**.

1. Rekam ID pipa Elastic Transcoder.

#### Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang dapat diskalakan
<a name="ruby-cloudfront"></a>

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

1. Di panel navigasi konsol, perluas **Konten Pribadi**, lalu klik **Origin Access Identity**.

1. Klik **Buat Identitas Akses Asal**.

1. Klik **Buat**.

1. Rekam ID pengguna kanonik Amazon S3 yang dihasilkan saat Anda membuat identitas akses asal.

1. Di panel navigasi, klik **Distribusi**.

1. Klik **Buat Distribusi**.

1. Pilih **Web** dan kemudian klik **Lanjutkan**.

1. Di bawah **Pengaturan Asal**, masukkan bucket keluaran Amazon S3 Anda sebagai **Nama Domain Asal**.

1. Di bidang **ID Asal**, masukkan**S3-transcoder-sample-output**.

1. Untuk **Membatasi Akses Bucket**, pilih **Ya**.

1. Klik **Buat Distribusi**, dan catat nama domain distribusi.

#### Memodifikasi kebijakan bucket Amazon S3
<a name="ruby-s3-policy"></a>

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

1. Di sebelah bucket keluaran, klik **ikon kaca pembesar** untuk memunculkan properti bucket.

1. **Perluas Izin** dan klik **Tambahkan kebijakan bucket**.

1. **Masukkan pernyataan kebijakan berikut, ganti **CloudFront-oai-s3- canonical-user-id dengan **your recorded Amazon S3 canonical user ID** dan s3-** dengan. output-bucket-name** **the name of your output bucket**

1. Klik **Simpan**.

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

Lewati ke[Sampel Ruby](#ruby-sample).

### Menyiapkan lingkungan PHP Anda
<a name="env-php"></a>

Bagian ini memandu Anda melalui pengaturan lingkungan PHP Anda.

**Topics**
+ [Menginstal kode sampel](#php-install)
+ [Menyiapkan AWS SDK for PHP](#php-sdk)
+ [Membuat bucket input dan output Amazon S3](#php-s3)
+ [Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan](#php-sns)
+ [Berlangganan server Anda ke Amazon SNS](#php-sns-sub)
+ [Membuat pipa Elastic Transcoder](#php-pipeline)
+ [Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang terukur](#php-cloudfront)
+ [Memodifikasi kebijakan bucket Amazon S3](#php-s3-policy)

Kode sampel membuat tiga asumsi utama:
+ Sampel PHP dijalankan di dalam server Apache.
+ Server Apache harus dapat mengambil input dari internet untuk menerima notifikasi Amazon SNS.
+ Sampel ditulis untuk bekerja dengan PHP versi 5.4 atau lebih tinggi.

#### Menginstal kode sampel
<a name="php-install"></a>

Untuk menggunakan kode sampel PHP, Anda harus mengunduh dan menginstalnya terlebih dahulu. 
+ Unduh kode sampel:
  + [Kode Sampel HLS](samples/phphls.zip).
  + [Kode Contoh Pemberitahuan](samples/phpnotification.zip).
+ Buka zip kode sampel.
+ Tempatkan kode di bawah server Apache Anda. DocumentRoot
+ Hapus file kode sampel yang diunduh .zip. 
+ Perbarui jalur ke Instalasi AWS SDK Anda.

**catatan**  
Di `HlsJobCreationSample.php` dan`JobStatusNotificationsSample.php`, Anda perlu memperbarui jalur ke Anda`autoload.php`. Jika Anda menggunakan instalasi phar, Anda dapat menggunakan jalur ke `aws.phar` file yang Anda unduh, yang mencakup semua dependensi yang diperlukan. 

#### Menyiapkan AWS SDK for PHP
<a name="php-sdk"></a>

Anda dapat menemukan AWS SDK for [PHP](https://aws.amazon.com/sdkforphp/) di sini. Untuk tutorial ini, kami merekomendasikan instalasi phar; Namun, proyek jangka panjang lebih baik dikelola menggunakan komposer. 

Untuk informasi selengkapnya, lihat [AWS SDK for PHP](https://aws.amazon.com/documentation/sdkforphp/) Documentation.

#### Membuat bucket input dan output Amazon S3
<a name="php-s3"></a>

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

1. Di konsol, klik **Buat Bucket**.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket masukan Anda.

1. Masih di konsol Amazon S3, klik **Buat Bucket** lagi.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket keluaran Anda.

#### Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan
<a name="php-sns"></a>

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

1. Di konsol, klik **Buat dan Tambah dan** pilih **Buat Topik Baru**.

1. Di bidang **Nama Topik**, masukkan **ets-sample-topic** lalu klik **Buat Topik**.

1. Rekam ARN dari. `ets-sample-topic`

#### Berlangganan server Anda ke Amazon SNS
<a name="php-sns-sub"></a>

1. Verifikasi bahwa kode sampel PHP telah diinstal.

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

1. Di bawah **AdditionalActions**, klik **Buat Langganan**.

1. Pilih HTTP atau HTTPS berdasarkan konfigurasi server Anda.

1. Di **Endpoint**, masukkan endpoint server Anda. Jalur titik akhir harus menunjuk ke`JobStatusNotificationsSampleNotificationHandler.php`. 

1. Klik **Berlangganan**. Ini mengirimkan permintaan berlangganan ke endpoint PHP Anda.

Kode sampel PHP secara otomatis menangani permintaan berlangganan dan mengonfirmasi langganan. Permintaan dan tanggapan berlangganan ditulis ke`/tmp/subscribe_requests.txt`.

#### Membuat pipa Elastic Transcoder
<a name="php-pipeline"></a>

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

1. Di konsol, klik **Buat Pipeline Baru**.

1. Di bidang **Nama Pipeline**, masukkan**ets-sample-pipeline**.

1. Di bidang **Input Bucket**, masukkan nama bucket masukan Anda.

1. Tinggalkan **Peran IAM** sebagai**Console Default Role**.

1. Di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, masukkan nama bucket keluaran Anda.

1. **Masih di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, pilih kelas penyimpanan standar.**

1. Perluas menu tarik-turun **Pemberitahuan**.

1. Untuk keempat jenis acara, pilih **Gunakan topik SNS yang ada**, dan di bawah **Pilih Topik**, pilih**ets-sample-topic**.

1. Klik **Buat Pipeline**.

1. Rekam ID pipa Elastic Transcoder.

#### Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang terukur
<a name="php-cloudfront"></a>

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

1. Di panel navigasi konsol, perluas **Konten Pribadi**, lalu klik **Origin Access Identity**.

1. Klik **Buat Identitas Akses Asal**.

1. Klik **Buat**.

1. Rekam ID pengguna kanonik Amazon S3 yang dihasilkan saat Anda membuat identitas akses asal.

1. Di panel navigasi, klik **Distribusi**.

1. Klik **Buat Distribusi**.

1. Pilih **Web** dan kemudian klik **Lanjutkan**.

1. Di bawah **Pengaturan Asal**, masukkan bucket keluaran Amazon S3 Anda sebagai **Nama Domain Asal**.

1. Di bidang **ID Asal**, masukkan**S3-transcoder-sample-output**.

1. Untuk **Membatasi Akses Bucket**, pilih **Ya**.

1. Klik **Buat Distribusi**, dan catat nama domain distribusi.

#### Memodifikasi kebijakan bucket Amazon S3
<a name="php-s3-policy"></a>

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

1. Di sebelah bucket keluaran, klik **ikon kaca pembesar** untuk memunculkan properti bucket.

1. **Perluas Izin** dan klik **Tambahkan kebijakan bucket**.

1. **Masukkan pernyataan kebijakan berikut, ganti **CloudFront-oai-s3- canonical-user-id dengan **your recorded Amazon S3 canonical user ID** dan s3-** dengan. output-bucket-name** **the name of your output bucket**

1. Klik **Simpan**.

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

Lewati ke[Sampel PHP](#php-sample).

### Menyiapkan lingkungan Python Anda
<a name="env-python"></a>

Bagian ini memandu Anda melalui pengaturan lingkungan Python Anda.

**Topics**
+ [Menyiapkan AWS SDK untuk Python](#python-sdk)
+ [Membuat bucket input dan output Amazon S3](#python-s3)
+ [Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan](#python-sns)
+ [Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan](#python-sqs)
+ [Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda](#python-sqs-subscribe)
+ [Membuat pipa Elastic Transcoder](#python-pipeline)
+ [Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang terukur](#python-cloudfront)
+ [Memodifikasi kebijakan bucket Amazon S3](#python-s3-policy)

Itu membuat satu asumsi utama:
+ Sampel ditulis agar kompatibel dengan Python versi 2.7.

#### Menyiapkan AWS SDK untuk Python
<a name="python-sdk"></a>

Anda dapat menemukan AWS SDK untuk [Python](https://aws.amazon.com/sdkforpython/) di sini. Anda juga dapat menginstalnya dengan mudah dengan menggunakan PIP dengan perintah berikut: 

```
pip-2.7 install boto
```

Untuk informasi selengkapnya, lihat [AWS SDK for Python Documentation](http://docs.pythonboto.org/en/latest/).

#### Membuat bucket input dan output Amazon S3
<a name="python-s3"></a>

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

1. Di konsol, klik **Buat Bucket**.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket masukan Anda.

1. Masih di konsol Amazon S3, klik **Buat Bucket** lagi.

1. Di bidang **Nama Bucket**, masukkan nama yang diinginkan untuk bucket keluaran Anda.

#### Membuat topik Amazon SNS untuk menerima pemberitahuan status pekerjaan
<a name="python-sns"></a>

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

1. Di konsol, klik **Buat dan Tambah dan** pilih **Buat Topik Baru**.

1. Di bidang **Nama Topik**, masukkan **ets-sample-topic** lalu klik **Buat Topik**.

1. Rekam ARN dari. `ets-sample-topic`

#### Membuat antrian Amazon SQS untuk melakukan polling untuk pemberitahuan status pekerjaan
<a name="python-sqs"></a>

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

1. Di konsol, klik **Buat Antrian Baru**.

1. Di bidang **Nama Antrian**, masukkan **ets-sample-queue** lalu klik **Buat Antrian**.

1. Rekam URL antrian Amazon SQS.

#### Berlangganan antrian Amazon SQS Anda ke topik Amazon SNS Anda
<a name="python-sqs-subscribe"></a>

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

1. Di konsol, pilih **ets-sample-queue**dari daftar antrian.

1. Di bawah **Tindakan Antrian**, pilih **Berlangganan Antrian ke Topik Amazon SNS**.

1. Di bawah **Pilih Topik**, pilih **ets-sample-topic**lalu klik **Berlangganan**.

Anda akan melihat konfirmasi bahwa antrian Anda telah berhasil berlangganan topik Anda.

#### Membuat pipa Elastic Transcoder
<a name="python-pipeline"></a>

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

1. Di konsol, klik **Buat Pipeline Baru**.

1. Di bidang **Nama Pipeline**, masukkan**ets-sample-pipeline**.

1. Di bidang **Input Bucket**, masukkan nama bucket masukan Anda.

1. Tinggalkan **Peran IAM** sebagai**Console Default Role**.

1. Di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, masukkan nama bucket keluaran Anda.

1. **Masih di **Konfigurasikan Bucket Amazon S3 untuk File Transkode dan Daftar Putar**, pilih kelas penyimpanan standar.**

1. Perluas menu tarik-turun **Pemberitahuan**.

1. Untuk keempat jenis acara, pilih **Gunakan topik SNS yang ada**, dan di bawah **Pilih Topik**, pilih**ets-sample-topic**.

1. Klik **Buat Pipeline**.

1. Rekam ID pipa Elastic Transcoder.

#### Membuat CloudFront distribusi Amazon untuk mengirimkan konten dengan cara yang terukur
<a name="python-cloudfront"></a>

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

1. Di panel navigasi konsol, perluas **Konten Pribadi**, lalu klik **Origin Access Identity**.

1. Klik **Buat Identitas Akses Asal**.

1. Klik **Buat**.

1. Rekam ID pengguna kanonik Amazon S3 yang dihasilkan saat Anda membuat identitas akses asal.

1. Di panel navigasi, klik **Distribusi**.

1. Klik **Buat Distribusi**.

1. Pilih **Web** dan kemudian klik **Lanjutkan**.

1. Di bawah **Pengaturan Asal**, masukkan bucket keluaran Amazon S3 Anda sebagai **Nama Domain Asal**.

1. Di bidang **ID Asal**, masukkan**S3-transcoder-sample-output**.

1. Untuk **Membatasi Akses Bucket**, pilih **Ya**.

1. Klik **Buat Distribusi**, dan catat nama domain distribusi.

#### Memodifikasi kebijakan bucket Amazon S3
<a name="python-s3-policy"></a>

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

1. Di sebelah bucket keluaran, klik **ikon kaca pembesar** untuk memunculkan properti bucket.

1. **Perluas Izin** dan klik **Tambahkan kebijakan bucket**.

1. **Masukkan pernyataan kebijakan berikut, ganti **CloudFront-oai-s3- canonical-user-id dengan **your recorded Amazon S3 canonical user ID** dan s3-** dengan. output-bucket-name** **the name of your output bucket**

1. Klik **Simpan**.

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

Lewati ke[Python Sampel](#python-sample).

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

Semua sampel Java membuat dua asumsi: 
+ Sampel ditulis untuk bekerja dengan Java versi 1.6 atau lebih tinggi.
+ Sampel dijalankan menggunakan Eclipse dengan AWS Toolkit for Eclipse.

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

**Topics**
+ [Unduhan Sampel Java HLS](#java-hls-link)
+ [Potongan Kode Sampel](#java-hls-list)
+ [Tugas](#java-hls-tasklist)

Contoh ini menunjukkan kepada Anda cara membuat pekerjaan HLS dan file daftar putar HLS yang dapat digunakan untuk memutar aliran bit rate adaptif.

#### Unduhan Sampel Java HLS
<a name="java-hls-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/javasamples.zip). 

#### Potongan Kode Sampel
<a name="java-hls-list"></a>

Contoh kode Java meliputi: 
+ Kelas `HlsJobCreationSample`

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan Java Anda](#env-java)

1. Unduh kode sampel.

1. Di Eclipse, buka. `com/amazonaws/services/elastictranscoder/samples/HlsJobCreationSample.java`

1. Ganti PIPELINE\$1ID dan INPUT\$1KEY dengan nilai yang sesuai.

1. Jalankan sampel di Eclipse.

### Sampel Pemberitahuan
<a name="java-notifications"></a>

**Topics**
+ [Contoh Sintaks Pemberitahuan](#java-notification-example)
+ [Unduhan Contoh Pemberitahuan Java](#java-link)
+ [Potongan Kode Sampel](#java-list)
+ [Tugas](#java-tasklist)

#### Contoh Sintaks Pemberitahuan
<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"
 }
```

#### Unduhan Contoh Pemberitahuan Java
<a name="java-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/javasamples.zip).

#### Potongan Kode Sampel
<a name="java-list"></a>

Contoh kode Java meliputi: 
+ Kelas`Notification`: Untuk menggunakan notifikasi dari Java, kita menggunakan pustaka Jackson JSON untuk deserialisasi pemberitahuan status pekerjaan ke dalam. POJOs `Notification`Kelas memodelkan pesan yang kita dapatkan kembali dari antrian Amazon SQS.
+ Kelas`JobStatusNotification`: Kelas memodelkan `JobStatusNotification` notifikasi Elastic Transcoder.
+ Kelas`SqsQueueNotificationWorker`: `SqsQueueNotificationWorker` Kelas dapat dimulai di utas terpisah untuk melakukan polling Amazon SQS dan menangani pemberitahuan status pekerjaan. Kelas ini menerima pesan, memanggil semua penangan terdaftar untuk setiap pemberitahuan yang diterima, dan menghapus pesan dari antrian.
+ Antarmuka`JobStatusNotificationHandler`: `JobStatusNotificationHandler` Antarmuka dapat diimplementasikan untuk memungkinkan penanganan kustom untuk notifikasi. 
+ Kelas`JobStatusNotificationsSample`: `JobStatusNotificationsSample` Kelas menciptakan pekerjaan dan menunggu sampai selesai. Ketika pekerjaan masuk ke status terminal, pekerja antrian dimatikan dan aplikasi keluar.

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini:[Menyiapkan lingkungan Java Anda](#env-java).

1. Unduh kode sampel.

1. Buka zip kode sampel ke direktori sumber proyek JAVA Anda.

1. Buka `com/amazonaws/services/elastictranscoder/samples/JobStatusNotificationsSample.java` di Eclipse.

1. Ganti PIPELINE\$1ID, SQS\$1QUEUE\$1URL, dan INPUT\$1KEY dengan nilai yang sesuai.

1. Jalankan sampel di Eclipse.

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

Semua sampel Ruby membuat satu asumsi utama: 
+ Sampel ditulis agar kompatibel dengan Ruby versi 1.9.

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

**Topics**
+ [Unduhan Sampel Ruby HLS](#ruby-hls-link)
+ [Potongan Kode Sampel](#ruby-hls-list)
+ [Tugas](#ruby-hls-tasklist)

Contoh ini menunjukkan kepada Anda cara membuat pekerjaan HLS dan file daftar putar HLS yang dapat digunakan untuk memutar aliran bit rate adaptif.

#### Unduhan Sampel Ruby HLS
<a name="ruby-hls-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/rubyhls.zip). 

#### Potongan Kode Sampel
<a name="ruby-hls-list"></a>

Kode sampel Ruby meliputi: 
+ File `HlsJobCreationSample.rb`

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan Ruby Anda](#env-ruby)

1. Unduh kode sampel.

1. Buka zip kode sampel ke direktori sumber proyek Ruby Anda.

1. Edit `HlsJobCreationSample.rb` dan ganti pipeline\$1id dan input\$1key dengan nilai yang sesuai.

1. Dari terminal, arahkan ke direktori tempat Anda membuka ritsleting kode sampel dan jalankan:

```
$ruby HlsJobCreationSample.rb
```

### Sampel Pemberitahuan
<a name="ruby-notifications"></a>

**Topics**
+ [Contoh Sintaks Pemberitahuan](#ruby-notification-example)
+ [Unduhan Sampel Pemberitahuan Ruby](#ruby-link)
+ [Potongan Kode Sampel](#ruby-list)
+ [Tugas](#ruby-tasklist)

#### Contoh Sintaks Pemberitahuan
<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"
 }
```

#### Unduhan Sampel Pemberitahuan Ruby
<a name="ruby-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/rubynotification.zip).

#### Potongan Kode Sampel
<a name="ruby-list"></a>

Kode sampel Ruby meliputi: 
+ Kelas`SqsQueueNotificationWorker`: Kelas melakukan polling Amazon SQS untuk pemberitahuan, memanggil semua penangan terdaftar untuk setiap notifikasi, dan menghapus pesan dari antrian. `SqsQueueNotificationWorker` Perhatikan bahwa pekerja berjalan di utas terpisah. Jika implementasi Ruby yang digunakan memiliki utas “hijau”, maka hanya satu utas yang berjalan pada satu waktu (tidak ada multiprocessing yang sebenarnya).
+ Skrip`JobStatusNotificationsSample.rb`: Skrip ini membuat pekerjaan Elastic Transcoder, memulai pekerja Amazon SQS dan menunggu pekerjaan selesai. Handler yang disediakan memberi tahu pekerja Amazon SQS untuk berhenti saat pemrosesan pekerjaan yang dibuat selesai. Penanganan notifikasi dilakukan dengan memanggil metode add\$1handlers dan menyediakan Proc atau lambda sebagai handler yang mengambil satu argumen. Untuk setiap notifikasi yang diterima, semua handler terdaftar dipanggil dengan notifikasi yang diberikan sebagai argumen masukan ke handler.

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan Ruby Anda](#env-ruby)

1. Unduh kode sampel.

1. Buka zip kode sampel ke direktori sumber proyek Ruby Anda.

1. Edit `JobStatusNotificationsSample.rb` dan ganti pipeline\$1id, sqs\$1queue\$1url, dan input\$1key dengan nilai yang sesuai.

1. Dari terminal, arahkan ke direktori tempat Anda membuka ritsleting kode sampel dan jalankan: 

```
$ruby JobStatusNotificationsSample.rb
```

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

Semua sampel PHP membuat tiga asumsi utama:
+ Sampel PHP dijalankan di dalam server Apache.
+ Server Apache harus dapat mengambil input dari Internet untuk menerima notifikasi Amazon SNS.
+ Sampel ditulis untuk bekerja dengan PHP versi 5.4 atau lebih tinggi.

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

**Topics**
+ [Unduhan Sampel PHP HLS](#php-hls-link)
+ [Potongan Kode Sampel](#php-hls-list)
+ [Tugas](#php-hls-tasklist)

Contoh ini menunjukkan kepada Anda cara membuat pekerjaan HLS dan file daftar putar HLS yang dapat digunakan untuk memutar aliran bit rate adaptif.

#### Unduhan Sampel PHP HLS
<a name="php-hls-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/phphls.zip). 

#### Potongan Kode Sampel
<a name="php-hls-list"></a>

Kode sampel PHP meliputi: 
+ File `HlsJobCreationSample.php`

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan PHP Anda](#env-php)

1. Unduh kode sampel.

1. Di browser Anda, muat halaman http://<your-endpoint>/transcoder-samples/ .phpHlsJobCreationSample.

1. Isi ID pipeline dan kunci input dan kirimkan formulir untuk membuat pekerjaan.

### Sampel Pemberitahuan
<a name="php-notifications"></a>

**Topics**
+ [Contoh Sintaks Pemberitahuan](#php-notification-example)
+ [Unduhan Contoh Pemberitahuan PHP](#php-link)
+ [Potongan Kode Sampel](#php-list)
+ [Tugas](#php-tasklist)

#### Contoh Sintaks Pemberitahuan
<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"
 }
```

#### Unduhan Contoh Pemberitahuan PHP
<a name="php-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/phpnotification.zip).

#### Potongan Kode Sampel
<a name="php-list"></a>

Kode sampel PHP meliputi:
+ <job-id>File`JobStatusNotificationsSampleNotificationHandler.php`: Ketika pemberitahuan POSTed ke server Anda, penangan notifikasi menulis status kembali ke file di bawah /tmp/.
+ File`JobStatusNotificationsSample.php`: Setelah penangan notifikasi menulis status kembali ke file di bawah /tmp/<job-id>, `JobStatusNotificationsSample.php` memuat file <job-id>status /tmp/ yang ditentukan oleh Id dalam string kueri yang diberikan kepadanya.

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan PHP Anda](#env-php)

1. Unduh kode sampel.

1. Buka zip kode sampel ke direktori sumber proyek PHP Anda.

1. Di browser Anda, muat halaman http://<your-endpoint>/transcoder-samples/ .phpJobStatusNotificationsSample.

1. Isi ID pipeline dan kunci input yang ingin Anda transkode dan tekan tombol **Create Job**.

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

Semua sampel Python membuat satu asumsi utama: 
+ Sampel ditulis agar kompatibel dengan Python versi 2.7.

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

**Topics**
+ [Unduhan Sampel Python HLS](#python-hls-link)
+ [Potongan Kode Sampel](#python-hls-list)
+ [Tugas](#python-hls-tasklist)

Contoh ini menunjukkan kepada Anda cara membuat pekerjaan HLS dan file daftar putar HLS yang dapat digunakan untuk memutar aliran bit rate adaptif.

#### Unduhan Sampel Python HLS
<a name="python-hls-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/pythonhls.zip). 

#### Potongan Kode Sampel
<a name="python-hls-list"></a>

Kode contoh Python meliputi: 
+ File `HlsJobCreationSample.py`

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan Python Anda](#env-python)

1. Unduh kode sampel.

1. Buka zip kode sampel.

1. Edit `HlsJobCreationSample.py` dan ganti pipeline\$1id dan input\$1key dengan nilai yang sesuai.

1. Dari terminal, arahkan ke direktori tempat Anda membuka ritsleting kode sampel dan jalankan:

```
$python HlsJobCreationSample.py
```

### Sampel Pemberitahuan
<a name="python-notifications"></a>

**Topics**
+ [Contoh Sintaks Pemberitahuan](#python-notification-example)
+ [Unduhan Contoh Pemberitahuan Python](#python-link)
+ [Potongan Kode Sampel](#python-list)
+ [Tugas](#python-tasklist)

#### Contoh Sintaks Pemberitahuan
<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"
 }
```

#### Unduhan Contoh Pemberitahuan Python
<a name="python-link"></a>

Anda dapat mengunduh kode sampel [di sini](samples/pythonnotification.zip).

#### Potongan Kode Sampel
<a name="python-list"></a>

Kode contoh Python meliputi:
+ Kelas`SqsQueueNotificationWorker.py`: Kelas melakukan polling Amazon SQS dan menangani notifikasi dalam proses terpisah. `SqsQueueNotificationWorker` Ini memungkinkan multiprocessing sejati dengan Python. Kelas ini menerima pesan, memanggil semua penangan terdaftar untuk setiap pemberitahuan yang diterima, dan menghapus pesan dari antrian. Kelas ini juga mencakup definisi untuk `JobStatusNotificationHandler` kelas, yang disediakan untuk memberikan kerangka kerja untuk menangani notifikasi Elastic Transcoder. Kelas ini dapat diperpanjang dan metode pegangan ditimpa untuk memberikan penanganan pekerjaan kustom. Perhatikan bahwa ini tidak mengikuti standar Python untuk pengetikan bebek, tetapi memberikan definisi formal penangan untuk keperluan sampel ini. 
+ Skrip`JobStatusNotificationSample.py`: `JobStatusNotificationSample.py` Skrip membuat pekerjaan di Elastic Transcoder dan menunggu sampai selesai. Ketika pekerjaan selesai, itu menghentikan proses polling antrian dan keluar. Sinkronisasi lintas proses menggunakan objek nilai multiprocessing diperlukan, karena handler berjalan dalam proses terpisah dari antrian yang dipolling.

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

Untuk menjalankan sampel, ikuti langkah-langkah ini:

1. Siapkan lingkungan Anda sesuai dengan instruksi ini: [Menyiapkan lingkungan Python Anda](#env-python)

1. Unduh kode sampel.

1. Buka zip kode sampel ke folder lokal.

1. Edit `JobStatusNotificationsSample.py` dan ganti pipeline\$1id, sqs\$1queue\$1url, dan input\$1key dengan nilai yang sesuai.

1. Dari terminal, arahkan ke direktori tempat Anda membuka ritsleting kode sampel dan jalankan: 

```
$python JobStatusNotificationsSample.py
```