Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan mengelola Amazon EMR Serverless aplikasi dengan Step Functions
Pelajari cara membuat, memulai, menghentikan, dan menghapus aplikasi di EMR Serverless menggunakan Step Functions. Halaman ini mencantumkan status yang didukung APIs dan memberikan contoh Task
status untuk melakukan kasus penggunaan umum.
Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat Integrasi layanan danMeneruskan parameter ke API layanan di Step Functions.
Fitur utama dari EMR Serverless integrasi yang dioptimalkan
-
Integrasi EMR Serverless layanan yang Dioptimalkan memiliki set khusus APIsyang membungkus yang mendasarinya EMR Serverless APIs. Karena penyesuaian ini, EMR Serverless integrasi yang dioptimalkan berbeda secara signifikan dari integrasi layanan AWS SDK.
-
Selain itu, EMR Serverless integrasi yang dioptimalkan mendukung pola Jalankan Tugas (.sync) integrasi.
-
Pola Tunggu Callback dengan Task Token integrasi tidak didukung.
EMR Serverlessintegrasi layanan APIs
Untuk AWS Step Functions berintegrasiEMR Serverless, Anda dapat menggunakan enam integrasi EMR Serverless layanan berikut APIs. Integrasi layanan ini APIs mirip dengan yang sesuai EMR Serverless APIs, dengan beberapa perbedaan di bidang yang diteruskan dan dalam tanggapan yang dikembalikan.
Tabel berikut menjelaskan perbedaan antara setiap API integrasi EMR Serverless layanan dan API yang sesuaiEMR Serverless.
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 alur kerja tugas status berikut menunjukkan kasus penggunaan untuk diintegrasikan EMR Serverless APIs 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;, lihat. Jalankan EMR Serverless pekerjaan
Untuk mempelajari tentang mengonfigurasi IAM izin saat menggunakan Step Functions dengan AWS layanan lain, lihat. Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi
Dalam contoh yang ditunjukkan dalam kasus penggunaan berikut, ganti italicized
teks dengan informasi khusus 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", "Arguments": { "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", "Arguments": { "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", "Arguments": { "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", "Arguments": { "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", "Arguments": { "ApplicationId": "
yourApplicationId
", "ExecutionRoleArn": "arn:aws:iam::account-id
:role/myEMRServerless-execution-role
", "JobDriver": { "SparkSubmit": { "EntryPoint": "s3://<amzn-s3-demo-bucket>
/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", "Arguments": { "ApplicationId": "{% $states.input.ApplicationId %}", "JobRunId": "{% $states.input.JobRunId %}" }, "End": true }
Kebijakan IAM untuk menelepon Amazon EMR Serverless
Saat Anda membuat mesin status menggunakan konsol, Step Functions secara otomatis membuat peran eksekusi untuk mesin status Anda dengan hak istimewa paling sedikit yang diperlukan. IAMPeran yang dihasilkan secara otomatis ini berlaku untuk Wilayah AWS di mana Anda membuat mesin status.
Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi dan Temukan pola integrasi layanan di Step Functions.
Sebaiknya saat Anda membuat IAM kebijakan, jangan sertakan wildcard dalam kebijakan. Sebagai praktik terbaik keamanan, Anda harus mencatat kebijakan Anda sebanyak mungkin. Anda harus menggunakan kebijakan dinamis hanya jika parameter input tertentu tidak diketahui selama runtime.
Selanjutnya, pengguna administrator harus berhati-hati saat memberikan peran eksekusi pengguna non-administrator untuk menjalankan mesin status. Sebaiknya sertakan kebijakan PassRole dalam peran eksekusi jika Anda membuat kebijakan sendiri. Kami juga menyarankan Anda menambahkan kunci aws:SourceARN
dan aws:SourceAccount
konteks dalam peran eksekusi.
Contoh kebijakan IAM untuk integrasi EMR Tanpa Server dengan Step Functions
Contoh kebijakan IAM untuk CreateApplication
Berikut ini adalah contoh kebijakan IAM untuk mesin negara dengan CreateApplication Status alur kerja tugas status.
catatan
Anda perlu menentukan CreateServiceLinkedRole izin dalam kebijakan IAM Anda selama pembuatan aplikasi pertama di akun Anda. Setelah itu, Anda tidak perlu menambahkan izin ini. Untuk informasi tentang CreateServiceLinkedRole, lihat CreateServiceLinkedRoledi bagian https://docs.aws.amazon.com/IAM/ terbaru/ APIReference /.
Sumber daya statis dan dinamis untuk kebijakan berikut adalah sama.
Contoh kebijakan IAM untuk StartApplication
Sumber daya statis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya statis saat Anda menggunakan mesin status dengan StartApplication Status alur kerja tugas status.
Sumber daya dinamis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya dinamis saat Anda menggunakan mesin status dengan StartApplication Status alur kerja tugas status.
Contoh kebijakan IAM untuk StopApplication
Sumber daya statis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya statis saat Anda menggunakan mesin status dengan StopApplication Status alur kerja tugas status.
Sumber daya dinamis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya dinamis saat Anda menggunakan mesin status dengan StopApplication Status alur kerja tugas status.
Contoh kebijakan IAM untuk DeleteApplication
Sumber daya statis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya statis saat Anda menggunakan mesin status dengan DeleteApplication Status alur kerja tugas status.
Sumber daya dinamis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya dinamis saat Anda menggunakan mesin status dengan DeleteApplication Status alur kerja tugas status.
Contoh kebijakan IAM untuk StartJobRun
Sumber daya statis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya statis saat Anda menggunakan mesin status dengan StartJobRun Status alur kerja tugas status.
Sumber daya dinamis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya dinamis saat Anda menggunakan mesin status dengan StartJobRun Status alur kerja tugas status.
Contoh kebijakan IAM untuk CancelJobRun
Sumber daya statis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya statis saat Anda menggunakan mesin status dengan CancelJobRun Status alur kerja tugas status.
Sumber daya dinamis
Berikut ini adalah contoh kebijakan IAM untuk sumber daya dinamis saat Anda menggunakan mesin status dengan CancelJobRun Status alur kerja tugas status.