CreateApplication - Panduan Pengembang Amazon Kinesis Data Analytics SQL untuk Aplikasi

Untuk proyek baru, kami menyarankan Anda menggunakan Managed Service baru untuk Apache Flink Studio melalui Kinesis Data Analytics for Applications. SQL Layanan Terkelola untuk Apache Flink Studio menggabungkan kemudahan penggunaan dengan kemampuan analitis tingkat lanjut, memungkinkan Anda membangun aplikasi pemrosesan aliran yang canggih dalam hitungan menit.

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

CreateApplication

catatan

Dokumentasi ini ditujukan untuk API Amazon Kinesis Data Analytics versi 1, yang hanya mendukung aplikasi SQL. API versi 2 mendukung aplikasi SQL dan Java. Untuk informasi selengkapnya tentang versi 2, lihat Dokumentasi V2 API Amazon Kinesis Data Analytics.

Membuat aplikasi Amazon Kinesis Analytics. Anda dapat mengonfigurasi setiap aplikasi dengan satu sumber streaming sebagai input, kode aplikasi untuk memproses input, dan hingga tiga tujuan tempat Anda ingin Amazon Kinesis Analytics menulis data output dari aplikasi Anda. Untuk gambaran umum, lihat Cara Kerjanya.

Dalam konfigurasi input, Anda memetakan sumber streaming ke aliran dalam aplikasi, yang dapat Anda anggap sebagai tabel yang terus diperbarui. Dalam pemetaan, Anda harus menyediakan skema untuk aliran dalam aplikasi dan memetakan setiap kolom data di aliran dalam aplikasi untuk elemen data dalam sumber streaming.

Kode aplikasi Anda adalah satu atau beberapa pernyataan SQL yang membaca data input, mengubahnya, dan menghasilkan output. Kode aplikasi Anda dapat membuat satu atau beberapa artefak SQL seperti aliran atau pompa SQL.

Dalam konfigurasi output, Anda dapat mengonfigurasi aplikasi untuk menulis data dari aliran dalam aplikasi yang dibuat dalam aplikasi Anda hingga tiga tujuan.

Untuk membaca data dari aliran sumber Anda atau menulis data ke aliran tujuan, Amazon Kinesis Analytics memerlukan izin Anda. Anda memberikan izin ini dengan membuat IAM role. Operasi ini memerlukan izin untuk menjalankan tindakan kinesisanalytics:CreateApplication.

Untuk latihan pendahuluan untuk membuat aplikasi Amazon Kinesis Analytics, lihat Memulai.

Sintaksis Permintaan

{ "ApplicationCode": "string", "ApplicationDescription": "string", "ApplicationName": "string", "CloudWatchLoggingOptions": [ { "LogStreamARN": "string", "RoleARN": "string" } ], "Inputs": [ { "InputParallelism": { "Count": number }, "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string", "RoleARN": "string" } }, "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "KinesisFirehoseInput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsInput": { "ResourceARN": "string", "RoleARN": "string" }, "NamePrefix": "string" } ], "Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

Parameter Permintaan

Permintaan menerima data berikut dalam format JSON.

ApplicationCode

Satu atau beberapa pernyataan SQL yang membaca data input, mengubahnya, dan menghasilkan output. Misalnya, Anda dapat menulis pernyataan SQL yang membaca data dari satu pengaliran dalam aplikasi, menghasilkan rata-rata jumlah klik iklan oleh vendor yang berjalan, dan menyisipkan baris yang dihasilkan di pengaliran dalam aplikasi lainnya menggunakan pompa. Untuk informasi lebih lanjut tentang pola umum, lihat Kode Aplikasi.

Anda dapat menyediakan serangkaian pernyataan SQL tersebut, di mana output dari satu pernyataan dapat digunakan sebagai input untuk pernyataan berikutnya. Anda menyimpan hasil antara dengan membuat pengaliran dalam aplikasi dan pompa.

Perhatikan bahwa kode aplikasi harus membuat pengaliran dengan nama yang ditentukan di Outputs. Misalnya, jika Outputs menentukan aliran output bernama ExampleOutputStream1 dan ExampleOutputStream2, kode aplikasi Anda harus membuat aliran ini.

Jenis: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 102400.

Wajib: Tidak

ApplicationDescription

Deskripsi ringkasan dari aplikasi.

Jenis: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 1024.

Wajib: Tidak

ApplicationName

Nama dari aplikasi Amazon Kinesis Analytics Anda (misalnya, sample-app).

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.

Pola: [a-zA-Z0-9_.-]+

Wajib: Ya

CloudWatchLoggingOptions

Gunakan parameter ini untuk mengonfigurasi aliran CloudWatch log untuk memantau kesalahan konfigurasi aplikasi. Untuk informasi selengkapnya, lihat Bekerja dengan CloudWatch Log Amazon.

Tipe: Array objek CloudWatchLoggingOption

Wajib: Tidak

Inputs

Gunakan parameter ini untuk mengonfigurasi input aplikasi.

Anda dapat mengonfigurasi aplikasi Anda untuk menerima input dari sumber streaming tunggal. Dalam konfigurasi ini, Anda memetakan sumber streaming ini ke pengaliran dalam aplikasi yang dibuat. Kode aplikasi Anda kemudian dapat mengkueri pengaliran dalam aplikasi seperti tabel (Anda dapat menganggapnya sebagai tabel yang terus memperbarui).

Untuk sumber streaming, Anda menyediakan Amazon Resource Name (ARN) dan format data pada pengaliran (misalnya, JSON, CSV, dll.). Anda juga harus menyediakan IAM role yang dapat diasumsikan Amazon Kinesis Analytics untuk membaca pengaliran ini atas nama Anda.

Untuk membuat pengaliran dalam aplikasi, Anda perlu menentukan skema untuk mengubah data Anda menjadi versi skematis yang digunakan di SQL. Dalam skema tersebut, Anda menyediakan pemetaan dari elemen data yang diperlukan dalam sumber streaming untuk mencatat kolom di aliran dalam aplikasi.

Tipe: Array objek Input

Wajib: Tidak

Outputs

Anda dapat mengonfigurasi output aplikasi untuk menulis data dari salah satu aliran dalam aplikasi hingga tiga tujuan.

Tujuan ini bisa berupa Amazon Kinesis streams, aliran pengiriman Amazon Kinesis Firehose, tujuan Lambda AWS , atau kombinasi ketiganya.

Dalam konfigurasi, Anda menentukan nama aliran dalam aplikasi, aliran tujuan, atau fungsi Lambda Amazon Resource Name (ARN), dan format yang akan digunakan saat menulis data. Anda juga harus menyediakan IAM role yang dapat diambil Amazon Kinesis Analytics untuk menulis ke aliran tujuan atau fungsi Lambda atas nama Anda.

Dalam konfigurasi output, Anda juga menyediakan aliran output atau fungsi Lambda ARN. Untuk tujuan aliran, Anda menyediakan format data dalam aliran (misalnya, JSON, CSV). Anda juga harus menyediakan IAM role yang dapat diambil Amazon Kinesis Analytics untuk menulis ke aliran atau fungsi Lambda atas nama Anda.

Tipe: Array objek Output

Wajib: Tidak

Tags

Daftar satu atau beberapa tanda yang ditetapkan ke aplikasi. Tanda adalah pasangan nilai kunci yang mengidentifikasi aplikasi. Perhatikan bahwa jumlah maksimum tanda aplikasi mencakup tanda sistem. Jumlah maksimum tanda aplikasi yang ditentukan pengguna adalah 50. Untuk informasi selengkapnya, lihat Menggunakan Penandaan.

Tipe: Array objek Tag

Anggota Array: Jumlah minimum 1 item. Jumlah maksimum 200 item.

Wajib: Tidak

Sintaksis Respons

{ "ApplicationSummary": { "ApplicationARN": "string", "ApplicationName": "string", "ApplicationStatus": "string" } }

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

Layanan mengembalikan data berikut dalam format JSON.

ApplicationSummary

Untuk merespons permintaan CreateApplication Anda, Amazon Kinesis Analytics mengembalikan respons dengan ringkasan aplikasi yang dibuatnya, termasuk aplikasi Amazon Resource Name (ARN), nama, dan status.

Tipe: Objek ApplicationSummary

Kesalahan

CodeValidationException

Kode aplikasi yang disediakan pengguna (kueri) tidak valid. Ini bisa menjadi kesalahan sintaksis sederhana.

Kode Status HTTP: 400

ConcurrentModificationException

Pengecualian yang dibuat sebagai hasil modifikasi konkuren ke aplikasi. Sebagai contoh, dua individu yang mencoba untuk mengedit aplikasi yang sama pada waktu yang sama.

Kode Status HTTP: 400

InvalidArgumentException

Nilai parameter input yang ditentukan tidak valid.

Kode Status HTTP: 400

LimitExceededException

Melebihi jumlah aplikasi yang diizinkan.

Kode Status HTTP: 400

ResourceInUseException

Aplikasi ini tidak tersedia untuk operasi ini.

Kode Status HTTP: 400

TooManyTagsException

Aplikasi yang dibuat dengan terlalu banyak tanda, atau terlalu banyak tanda yang ditambahkan ke aplikasi. Perhatikan bahwa jumlah maksimum tanda aplikasi termasuk tanda sistem. Jumlah maksimum tanda aplikasi yang ditentukan pengguna adalah 50.

Kode Status HTTP: 400

UnsupportedOperationException

Permintaan ditolak karena parameter tertentu tidak didukung atau sumber daya tertentu tidak valid untuk operasi ini.

Kode Status HTTP: 400

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: