Membuat Step Functions API menggunakan API Gateway - AWS Step Functions

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

Membuat Step Functions API menggunakan API Gateway

Anda dapat menggunakan Amazon API Gateway untuk mengaitkan AWS Step Functions API Anda dengan metode di API Gateway API. Saat permintaan HTTPS dikirim ke metode API, API Gateway akan memanggil tindakan API Step Functions Anda.

Tutorial ini menunjukkan cara membuat API yang menggunakan satu sumber daya dan metode POST untuk berkomunikasi dengan tindakan API StartExecution. Anda akan menggunakan konsol AWS Identity and Access Management (IAM) untuk membuat peran untuk API Gateway. Kemudian, Anda akan menggunakan konsol API Gateway untuk membuat API Gateway API, membuat sumber daya dan metode, serta memetakan metode ke tindakan API StartExecution. Akhirnya, Anda akan men-deploy dan menguji API Anda.

catatan

Meskipun Amazon API Gateway dapat memulai eksekusi Step Functions dengan memanggil StartExecution, Anda harus memanggil DescribeExecution untuk mendapatkan hasilnya.

Langkah 1: Buat IAM role untuk API Gateway

Sebelum Anda membuat API Gateway API, Anda harus memberikan izin API Gateway untuk memanggil tindakan API Step Functions.

Untuk menyiapkan izin API Gateway
  1. Masuk ke konsol IAM dan pilih Peran, Buat peran.

  2. Pada halaman Pilih entitas tepercaya, lakukan hal berikut:

    1. Untuk jenis entitas Tepercaya, pertahankan pilihan default Layanan AWS.

    2. Untuk kasus Penggunaan, pilih API Gateway dari daftar tarik-turun.

  3. Pilih API Gateway, lalu pilih Berikutnya.

  4. Pada halaman Tambahkan izin, pilih Berikutnya.

  5. (Opsional) Pada halaman Nama, tinjau, dan buat, masukkan detail, seperti nama peran. Misalnya, masukkan APIGatewayToStepFunctions.

  6. Pilih Buat peran.

    IAM role muncul dalam daftar peran.

  7. Pilih nama peran Anda dan perhatikan ARN Peran, seperti yang ditunjukkan dalam contoh berikut.

    arn:aws:iam::123456789012:role/APIGatewayToStepFunctions
Untuk melampirkan kebijakan ke IAM role
  1. Pada halaman Peran, cari peran Anda (APIGatewayToStepFunctions), kemudian pilih peran tersebut.

  2. Pada tab Izin, pilih Tambahkan izin, lalu pilih Lampirkan kebijakan.

  3. Pada halaman Lampirkan Kebijakan, cariAWSStepFunctionsFullAccess, pilih kebijakan, lalu pilih Tambahkan izin.

Langkah 2: Buat API Gateway API Anda

Setelah Anda membuat IAM role, Anda dapat membuat API kustom di API Gateway Anda.

Untuk membuat API
  1. Buka konsol Amazon API Gateway, lalu pilih Buat API.

  2. Pada halaman Pilih jenis API, di panel REST API, pilih Build.

  3. Pada halaman Create REST API, pilih New API, lalu masukkan StartExecutionAPI untuk nama API.

  4. Pertahankan jenis endpoint API sebagai Regional, lalu pilih Create API.

Untuk membuat sumber daya
  1. Pada halaman Sumber Daya StartExecution API, pilih Buat sumber daya.

  2. Pada halaman Buat sumber daya, masukkan execution nama Sumber Daya, lalu pilih Buat sumber daya.

Untuk membuat metode POST
  1. Pilih sumber daya /eksekusi, lalu pilih Create method.

  2. Untuk jenis Metode, pilihPOST.

  3. Untuk jenis Integrasi, pilih AWS layanan.

  4. Untuk Wilayah AWS, pilih Wilayah dari daftar.

    catatan

    Untuk Wilayah yang saat ini mendukung Step Functions, lihat Wilayah yang Didukung.

  5. Untuk Layanan AWS, pilih Step Functions dari daftar.

  6. Biarkan AWS subdomain kosong.

  7. Untuk metode HTTP, pilih POST dari daftar.

    catatan

    Semua tindakan API Step Functions menggunakan metode POST HTTP.

  8. Untuk jenis tindakan, pilih Gunakan nama tindakan.

  9. Untuk nama Action, masukkanStartExecution.

  10. Untuk peran Eksekusi, masukkan peran ARN dari peran IAM yang Anda buat sebelumnya, seperti yang ditunjukkan pada contoh berikut.

    arn:aws:iam::123456789012:role/APIGatewayToStepFunctions
  11. Simpan opsi default untuk cache Credential dan batas waktu default, lalu pilih Simpan.

Pemetaan visual antara API Gateway dan Step Functions ditampilkan pada halaman eksekusi /execution - POST - Method.

Langkah 3: Uji dan Deploy API Gateway API

Setelah Anda selesai membuat API, uji dan deploy API.

Untuk menguji komunikasi antara API Gateway dan Step Functions
  1. Pada halaman /execution - POST - Method Execution, pilih tab Test. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab.

  2. Pada tab /execution - POST - Method Test, salin parameter permintaan berikut ke bagian badan Permintaan menggunakan ARN dari mesin status yang ada (atau buat mesin status baru yang menggunakan fungsi Lambda), lalu pilih Uji.

    { "input": "{}", "name": "MyExecution", "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld" }

    Untuk informasi selengkapnya, lihat Sintaksis Permintaan StartExecution dalam Referensi API AWS Step Functions .

    catatan

    Jika Anda tidak ingin menyertakan ARN mesin status Anda di badan panggilan API Gateway Anda, Anda dapat mengonfigurasi templat pemetaan di tab Permintaan integrasi, seperti yang ditunjukkan pada contoh berikut.

    { "input": "$util.escapeJavaScript($input.json('$'))", "stateMachineArn": "$util.escapeJavaScript($stageVariables.arn)" }

    Dengan pendekatan ini, Anda dapat menentukan ARN dari mesin negara yang berbeda berdasarkan tahap pengembangan Anda (misalnya,, devtest, danprod). Untuk informasi selengkapnya tentang menentukan variabel tahap dalam template pemetaan, lihat $stageVariablesdi Panduan Pengembang API Gateway.

  3. Eksekusi dimulai dan ARN eksekusi dan tanggal zamannya ditampilkan di bawah badan Response.

    { "executionArn": "arn:aws:states:us-east-1:123456789012:execution:HelloWorld:MyExecution", "startDate": 1486768956.878 }
    catatan

    Anda dapat melihat eksekusi dengan memilih mesin status Anda di konsol AWS Step Functions.

Untuk men-deploy API Anda
  1. Pada halaman Sumber Daya StartExecution API, pilih Deploy API.

  2. Untuk Stage, pilih New stage.

  3. Untuk nama Panggung, masukkanalpha.

  4. (Opsional) Untuk Deskripsi, masukkan deskripsi.

  5. Pilih Deploy.

Untuk menguji deployment Anda
  1. Pada halaman Stages StartExecution API, perluas alpha,/, /execution, POST, lalu pilih metode POST.

  2. Di bawah Metode penggantian, pilih ikon salin untuk menyalin URL pemanggilan API Anda. URL lengkap akan terlihat seperti contoh berikut.

    https://a1b2c3d4e5.execute-api.us-east-1.amazonaws.com/alpha/execution
  3. Dari baris perintah, jalankan perintah curl menggunakan ARN dari mesin status Anda, kemudian minta URL dari deployment Anda, seperti yang ditunjukkan dalam contoh berikut.

    curl -X POST -d '{"input": "{}","name": "MyExecution","stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld"}' https://a1b2c3d4e5.execute-api.us-east-1.amazonaws.com/alpha/execution

    ARN eksekusi dan tanggal jangka waktunya dikembalikan, seperti berikut ini.

    {"executionArn":"arn:aws:states:us-east-1:123456789012:execution:HelloWorld:MyExecution","startDate":1.486772644911E9}
    catatan

    Jika Anda mendapatkan kesalahan “Token Otentikasi Hilang”, pastikan URL pemanggilan diakhiri dengan /execution.