Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Panggilan Amazon EMR Serverless dengan Step Functions
Step Functions dapat mengontrol AWS layanan tertentu langsung dari Amazon States Language (ASL). Untuk mempelajari selengkapnya, lihat Bekerja dengan layanan yang lain dan Meneruskan parameter ke API layanan.
Bagaimana EMR Serverless integrasi yang Dioptimalkan berbeda dari integrasi EMR Serverless AWS SDK
-
Integrasi EMR Serverless layanan yang Dioptimalkan memiliki serangkaian API khusus yang membungkus EMR Serverless API yang mendasarinya. Karena penyesuaian ini, EMR Serverless integrasi yang dioptimalkan berbeda secara signifikan dari integrasi layanan EMR Serverless AWS SDK. Selain itu, EMR Serverless integrasi yang dioptimalkan mendukung pola Jalankan Tugas (.sync) integrasi.
-
Pola Tunggu Panggilan Balik dengan Token Tugas integrasi tidak didukung.
Dalam topik ini:
EMR ServerlessAPI integrasi layanan
Untuk AWS Step Functions berintegrasiEMR Serverless, Anda dapat menggunakan enam API integrasi EMR Serverless layanan berikut. API integrasi layanan ini mirip dengan EMR Serverless API terkait, dengan beberapa perbedaan di bidang yang diteruskan dan dalam respons yang dikembalikan.
Tabel berikut menjelaskan perbedaan antara setiap API integrasi layanan dan API yang sesuaiEMR Serverless.
EMR ServerlessAPI integrasi layanan dan EMR Serverless API terkait | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EMR ServerlessAPI integrasi layanan | EMR ServerlessAPI yang sesuai | Perbedaan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BuatAplikasi Membuat aplikasi. EMR Serverlessterkait dengan jenis peran unik yang dikenal sebagai IAM peran terkait layanan. Agar |
CreateApplication | Tidak ada | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CreateApplication.sync Membuat aplikasi. |
CreateApplication |
Tidak ada perbedaan antara permintaan dan tanggapan EMR Serverless API dan API integrasi EMR Serverless layanan. Namun, createApplication.sync menunggu aplikasi mencapai status. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MulaiAplikasi Memulai aplikasi tertentu dan menginisialisasi kapasitas awal aplikasi jika dikonfigurasi. |
StartApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StartApplication.sync Memulai aplikasi tertentu dan menginisialisasi kapasitas awal jika dikonfigurasi. |
StartApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
Selain itu, startApplication.sync menunggu aplikasi mencapai status. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StopAplikasi Menghentikan aplikasi tertentu dan melepaskan kapasitas awal jika dikonfigurasi. Semua pekerjaan yang dijadwalkan dan berjalan harus diselesaikan atau dibatalkan sebelum menghentikan aplikasi. |
StopApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StopApplication.sync Menghentikan aplikasi tertentu dan melepaskan kapasitas awal jika dikonfigurasi. Semua pekerjaan yang dijadwalkan dan berjalan harus diselesaikan atau dibatalkan sebelum menghentikan aplikasi. |
StopApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
Selain itu, StopApplication.sync menunggu aplikasi mencapai status. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HapusAplikasi Menghapus aplikasi. Aplikasi harus dalam |
DeleteApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteApplication.sync Menghapus aplikasi. Aplikasi harus dalam |
DeleteApplication |
Respons EMR Serverless API tidak berisi data apa pun, tetapi respons API integrasi EMR Serverless layanan menyertakan data berikut.
Selain itu, StopApplication.sync menunggu aplikasi mencapai status. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startJobRun Memulai menjalankan pekerjaan. |
StartJobRun | Tidak ada | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
startJobRun.sinkronisasi Memulai menjalankan pekerjaan. |
StartJobRun |
Tidak ada perbedaan antara permintaan dan tanggapan EMR Serverless API dan API integrasi EMR Serverless layanan. Namun, startJobRun.sync menunggu aplikasi mencapai status. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cancelJobRun Membatalkan menjalankan pekerjaan. |
CancelJobRun | Tidak ada | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cancelJobRun.sinkronisasi Membatalkan menjalankan pekerjaan. |
CancelJobRun |
Tidak ada perbedaan antara permintaan dan tanggapan EMR Serverless API dan API integrasi EMR Serverless layanan. Namun, cancelJobRun.sync menunggu aplikasi mencapai status. |
Kasus penggunaan integrasi EMR Tanpa Server
Untuk integrasi EMR Serverless layanan yang Dioptimalkan, kami menyarankan Anda membuat satu aplikasi, dan kemudian menggunakan aplikasi itu untuk menjalankan beberapa pekerjaan. Misalnya, dalam mesin negara tunggal, Anda dapat menyertakan beberapa startJobRunpermintaan, yang semuanya menggunakan aplikasi yang sama. Contoh Status tugas status berikut menunjukkan kasus penggunaan untuk mengintegrasikan EMR Serverless API denganStep Functions. Untuk informasi tentang kasus penggunaan lainnyaEMR Serverless, lihat Apa itu Amazon EMR Serverless.
Tip
Untuk menerapkan contoh mesin status yang terintegrasi dengan EMR Serverless untuk menjalankan beberapa pekerjaan ke Anda Akun AWS, lihat. Jalankan EMR Serverless pekerjaan
Untuk informasi tentang cara mengonfigurasi IAM izin saat menggunakan Step Functions dengan AWS layanan lain, lihatKebijakan IAM untuk layanan terintegrasi.
Dalam contoh yang ditunjukkan dalam kasus penggunaan berikut, ganti teks yang dicetak miring dengan informasi
spesifik sumber daya Anda. Misalnya, ganti yourApplicationId
dengan ID EMR Serverless aplikasi Anda, seperti00yv7iv71inak893
.
Membuat aplikasi
Contoh status Tugas berikut membuat aplikasi menggunakan API integrasi layanan createApplication.sync.
"Create_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:createApplication.sync", "Parameters": { "Name": "
MyApplication
", "ReleaseLabel": "emr-6.9.0", "Type": "SPARK" }, "End": true }
Memulai aplikasi
Contoh status Tugas berikut memulai aplikasi menggunakan API integrasi layanan startApplication.sync.
"Start_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
Hentikan aplikasi
Contoh status Tugas berikut menghentikan aplikasi menggunakan API integrasi layanan StopApplication.sync.
"Stop_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:stopApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
Menghapus sebuah aplikasi
Contoh status Tugas berikut menghapus aplikasi menggunakan API integrasi layanan DeleteApplication.sync.
"Delete_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:deleteApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
Memulai pekerjaan di aplikasi
Contoh status Tugas berikut memulai pekerjaan dalam aplikasi menggunakan API integrasi layanan startJobRun.sync.
"Start_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync", "Parameters": { "ApplicationId": "
yourApplicationId
", "ExecutionRoleArn": "arn:aws:iam::123456789012:role/myEMRServerless-execution-role
", "JobDriver": { "SparkSubmit": { "EntryPoint": "s3://<mybucket>
/sample.py
", "EntryPointArguments": ["1"], "SparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=4g --conf spark.driver.cores=2 --conf spark.driver.memory=4g --conf spark.executor.instances=1" } } }, "End": true }
Batalkan pekerjaan di aplikasi
Contoh status Tugas berikut membatalkan pekerjaan dalam aplikasi menggunakan API integrasi layanan cancelJobRun.sync.
"Cancel_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:cancelJobRun.sync", "Parameters": { "ApplicationId.$": "$.ApplicationId", "JobRunId.$": "$.JobRunId" }, "End": true }