Memproses file CSV dengan Peta Terdistribusi - AWS Step Functions

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

Memproses file CSV dengan Peta Terdistribusi

Proyek contoh ini menunjukkan bagaimana Anda dapat menggunakan status Peta Terdistribusi untuk mengulangi lebih dari 10.000 baris file CSV yang dihasilkan menggunakan fungsi. Lambda File CSV berisi informasi pengiriman pesanan pelanggan dan disimpan dalam bucket Amazon S3. Peta Terdistribusi mengulangi lebih dari 10 baris dalam file CSV untuk analisis data.

Peta Terdistribusi berisi Lambda fungsi untuk mendeteksi pesanan yang tertunda. Peta Terdistribusi juga berisi Peta Inline untuk memproses pesanan tertunda dalam batch dan mengembalikan pesanan tertunda ini dalam sebuah array. Untuk setiap order yang tertunda, Inline Map mengirimkan pesan ke Amazon SQS antrian. Terakhir, proyek contoh ini menyimpan hasil Map Run ke bucket Amazon S3 lain di bucket Anda. Akun AWS

Dengan Distributed Map, Anda dapat menjalankan hingga 10.000 eksekusi alur kerja anak paralel sekaligus. Dalam proyek sampel ini, konkurensi maksimum Peta Terdistribusi ditetapkan pada 1000 yang membatasi hingga 1000 eksekusi alur kerja anak paralel.

Proyek sampel ini membuat mesin status, AWS sumber daya pendukung, dan mengonfigurasi izin IAM terkait. Jelajahi proyek sampel ini untuk mempelajari tentang menggunakan Peta Terdistribusi untuk mengatur beban kerja paralel skala besar, atau menggunakannya sebagai titik awal untuk proyek Anda sendiri.

AWS CloudFormation template dan sumber daya tambahan

Anda menggunakan CloudFormation template untuk menyebarkan proyek sampel ini. Template ini membuat sumber daya berikut di Akun AWS:

  • Mesin status Step Functions.

  • Peran eksekusi untuk mesin negara. Peran ini memberikan izin yang dibutuhkan mesin status Anda untuk mengakses sumber lain Layanan AWS dan sumber daya seperti tindakan Invoke fungsi Lambda.

  • Fungsi Lambda bernama CSVGeneratorFunction yang menghasilkan file CSV yang berisi detail pesanan pelanggan.

  • Peran eksekusi untuk fungsi Lambda generator CSV. Peran ini memberikan izin fungsi untuk mengakses lainnya Layanan AWS.

  • Bucket input Amazon S3 untuk menyimpan file CSV yang dihasilkan.

  • Fungsi Lambda deteksi pesanan tertunda yang menganalisis data file CSV dan mendeteksi pesanan yang tertunda.

  • Peran eksekusi untuk fungsi Lambda order tertunda. Peran ini memberikan izin fungsi untuk mengakses lainnya Layanan AWS.

  • Bucket keluaran Amazon S3 untuk menyimpan hasil analisis pesanan pelanggan.

  • Antrian Amazon SQS tempat Step Functions mengirim pesan untuk setiap pesanan yang tertunda. Pesan-pesan ini berisi ID pelanggan dan pesanan mereka.

  • Grup CloudWatch log yang menyimpan informasi yang terkait dengan riwayat eksekusi mesin negara.

penting

Biaya standar berlaku untuk setiap layanan.

Langkah 1: Buat mesin negara dan sumber daya penyediaan

  1. Buka Konsol Step Functions dan pilih Buat mesin status.

  2. Ketik Distributed Map to process a CSV file in S3 di kotak pencarian, lalu pilih Peta Terdistribusi untuk memproses file CSV di S3 dari hasil pencarian yang dikembalikan.

  3. Pilih Next untuk melanjutkan.

  4. Step Functions mencantumkan yang Layanan AWS digunakan dalam proyek sampel yang Anda pilih. Ini juga menunjukkan grafik alur kerja untuk proyek sampel. Menyebarkan proyek ini ke Anda Akun AWS atau menggunakannya sebagai titik awal untuk membangun proyek Anda sendiri. Berdasarkan cara Anda ingin melanjutkan, pilih Jalankan demo atau Bangun di atasnya.

    Untuk informasi tentang sumber daya yang akan dibuat untuk proyek sampel ini, lihatAWS CloudFormation template dan sumber daya tambahan.

    Gambar berikut menunjukkan grafik alur kerja untuk Peta Terdistribusi untuk memproses file CSV dalam proyek sampel S3:

    Grafik alur kerja Peta Terdistribusi untuk memproses file CSV dalam proyek sampel S3.
  5. Pilih Gunakan templat untuk melanjutkan pilihan Anda.

  6. Lakukan salah satu dari cara berikut:

    • Jika Anda memilih Build on it, Step Functions akan membuat prototipe alur kerja untuk proyek sampel yang Anda pilih. Step Functions tidak menyebarkan sumber daya yang tercantum dalam definisi alur kerja.

      Di Workflow StudioMode desain, seret dan lepas status dari Peramban status untuk terus membangun prototipe alur kerja Anda. Atau beralih ke Mode kode yang menyediakan editor kode terintegrasi yang mirip dengan VS Code untuk memperbarui definisi Amazon States Language (ASL) mesin status Anda dalam konsol Step Functions. Untuk informasi selengkapnya tentang penggunaan Workflow Studio untuk membangun mesin status Anda, lihatMenggunakan Workflow Studio.

    • Jika Anda memilih Jalankan demo, Step Functions akan membuat proyek sampel hanya-baca yang menggunakan AWS CloudFormation templat untuk menyebarkan AWS sumber daya yang tercantum dalam templat tersebut ke templat Anda. Akun AWS

      Tip

      Untuk melihat definisi mesin status dari proyek sampel, pilih Kode.

      Saat Anda siap, pilih Deploy dan jalankan untuk menyebarkan proyek sampel dan membuat sumber daya.

      Tindakan ini dapat memakan waktu hingga 10 menit untuk membuat sumber daya dan izin IAM terkait. Saat sumber daya Anda sedang digunakan, Anda dapat membuka tautan CloudFormation Stack ID untuk melihat sumber daya mana yang sedang disediakan.

      Setelah semua sumber daya dalam proyek sampel dibuat, Anda dapat melihat proyek sampel baru yang tercantum di halaman mesin Negara.

      penting

      Biaya standar mungkin berlaku untuk setiap layanan yang digunakan dalam CloudFormation templat.

Langkah 2: Jalankan mesin negara

Setelah semua sumber daya disediakan dan digunakan, Anda dapat menjalankan mesin status.

  1. Pada halaman mesin Negara, pilih proyek sampel Anda.

  2. Pada halaman proyek sampel, pilih Mulai eksekusi.

  3. Dalam kotak dialog Mulai eksekusi, lakukan hal berikut:

    1. (Opsional) Masukkan nilai input dalam format JSON untuk menjalankan proyek sampel Anda.

      Jika Anda memilih untuk Menjalankan demo, Anda tidak perlu memberikan input eksekusi apa pun.

      catatan

      Jika proyek demo yang Anda gunakan berisi data input eksekusi yang telah diisi sebelumnya, gunakan input tersebut untuk menjalankan mesin status.

    2. Pilih Mulai Eksekusi.

    3. (Opsional) Konsol Step Functions mengarahkan Anda ke halaman yang berjudul dengan ID eksekusi Anda. Halaman ini dikenal sebagai halaman Detail Eksekusi. Di halaman ini, Anda dapat meninjau hasil eksekusi saat eksekusi berlangsung atau setelah selesai.

      Setelah eksekusi selesai, pilih status individual pada tampilan Grafik, lalu pilih tab individual di Detail langkah panel untuk melihat detail setiap negara bagian termasuk input, output, dan definisi masing-masing.

    4. (Opsional) Tinjau hasil eksekusi yang diekspor ke bucket Amazon S3. Hasil ini termasuk data, seperti input dan output eksekusi, ARN, dan status eksekusi. Lihat informasi yang lebih lengkap di ResultWriter.