Tutorial: Mengubah data untuk aplikasi Anda dengan S3 Object Lambda - Amazon Simple Storage Service

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

Tutorial: Mengubah data untuk aplikasi Anda dengan S3 Object Lambda

Saat Anda menyimpan data di Amazon S3, Anda dapat dengan mudah membagikannya untuk digunakan oleh beberapa aplikasi. Namun, setiap aplikasi mungkin memiliki persyaratan format data yang unik, dan mungkin memerlukan modifikasi atau pemrosesan data Anda untuk kasus penggunaan tertentu. Misalnya, kumpulan data yang dibuat oleh aplikasi e-niaga mungkin termasuk informasi identitas pribadi (PII). Ketika data yang sama diproses untuk analitik, PII ini tidak diperlukan dan harus disunting. Namun, jika dataset yang sama digunakan untuk kampanye pemasaran, Anda mungkin perlu memperkaya data dengan detail tambahan, seperti informasi dari database loyalitas pelanggan.

Dengan S3 Object Lambda, Anda dapat menambahkan kode Anda sendiri untuk memproses data yang diambil dari S3 sebelum mengembalikannya ke aplikasi. Secara khusus, Anda dapat mengonfigurasi AWS Lambda fungsi dan melampirkannya ke Titik Akses Lambda Objek S3. Saat aplikasi mengirimkan permintaan GET S3 standar melalui Titik Akses Lambda Objek S3, fungsi Lambda yang ditentukan dipanggil untuk memproses data apa pun yang diambil dari bucket S3 melalui jalur akses S3 pendukung. Kemudian, Titik Akses Lambda Objek S3 mengembalikan hasil yang diubah kembali ke aplikasi. Anda dapat membuat dan menjalankan fungsi Lambda kustom Anda sendiri, menyesuaikan transformasi data Lambda Objek S3 dengan kasus penggunaan spesifik Anda, semua tanpa perubahan yang diperlukan untuk aplikasi Anda.

Ini adalah diagram alur kerja Objek Lambda S3.
Tujuan

Dalam tutorial ini, Anda mempelajari cara menambahkan kode kustom ke permintaan GET S3 standar untuk memodifikasi objek yang diminta diambil dari S3 sehingga objek sesuai dengan kebutuhan klien atau aplikasi yang meminta. Secara khusus, Anda mempelajari cara mengubah semua teks dalam objek asli yang disimpan di S3 menjadi huruf besar melalui S3 Object Lambda.

catatan

Tutorial ini menggunakan kode Python untuk mengubah data, misalnya menggunakan lainnya AWS SDKs lihat Transform data untuk aplikasi Anda dengan S3 Object Lambda di SDK Code Examples Library. AWS

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus memiliki Akun AWS yang dapat Anda masuki sebagai pengguna AWS Identity and Access Management (IAM) dengan izin yang benar. Anda juga harus menginstal Python versi 3.8 atau yang lebih baru.

Buat pengguna IAM dengan izin di Akun AWS (konsol) Anda

Anda dapat membuat pengguna IAM untuk tutorial. Untuk menyelesaikan tutorial ini, pengguna IAM Anda harus melampirkan kebijakan IAM berikut untuk mengakses AWS sumber daya yang relevan dan melakukan tindakan tertentu. Untuk informasi selengkapnya tentang cara membuat pengguna IAM, lihat Membuat pengguna IAM (konsol) di Panduan Pengguna IAM.

Pengguna IAM Anda memerlukan kebijakan berikut:

catatan

Untuk kesederhanaan, tutorial ini membuat dan menggunakan pengguna IAM. Setelah menyelesaikan tutorial ini, ingatlah untukHapus pengguna IAM. Untuk penggunaan produksi, kami menyarankan Anda mengikuti praktik terbaik Keamanan di IAM dalam Panduan Pengguna IAM. Praktik terbaik mengharuskan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS dengan kredensi sementara. Praktik terbaik lainnya adalah meminta beban kerja untuk menggunakan kredensil sementara dengan peran IAM untuk mengakses. AWS Untuk mempelajari cara menggunakan AWS IAM Identity Center untuk membuat pengguna dengan kredensial sementara, lihat Memulai di AWS IAM Identity Center Panduan Pengguna.

Tutorial ini juga menggunakan kebijakan AWS terkelola akses penuh. Untuk penggunaan produksi, sebaiknya Anda hanya memberikan izin minimum yang diperlukan untuk kasus penggunaan Anda, sesuai dengan praktik terbaik keamanan.

Instal Python 3.8 atau yang lebih baru di komputer lokal Anda

Gunakan prosedur berikut untuk menginstal Python 3.8 atau yang lebih baru pada mesin lokal Anda. Untuk petunjuk penginstalan lainnya, lihat halaman Mengunduh Python di Panduan Pemula Python.

  1. Buka terminal atau shell lokal Anda dan jalankan perintah berikut untuk menentukan apakah Python sudah diinstal, dan jika demikian, versi mana yang diinstal.

    python --version
  2. Jika Anda tidak memiliki Python 3.8 atau yang lebih baru, unduh penginstal resmi Python 3.8 atau yang lebih baru yang cocok untuk mesin lokal Anda.

  3. Jalankan penginstal dengan mengklik dua kali file yang diunduh, dan ikuti langkah-langkah untuk menyelesaikan instalasi.

    Untuk pengguna Windows, pilih Tambahkan Python 3.X ke PATH di wizard instalasi sebelum memilih Instal Sekarang.

  4. Mulai ulang terminal Anda dengan menutup dan membukanya kembali.

  5. Jalankan perintah berikut untuk memverifikasi bahwa Python 3.8 atau yang lebih baru diinstal dengan benar.

    Untuk pengguna macOS, jalankan perintah ini:

    python3 --version

    Untuk pengguna Windows, jalankan perintah ini:

    python --version
  6. Jalankan perintah berikut untuk memverifikasi bahwa manajer paket pip3 diinstal. Jika Anda melihat nomor versi pip dan python 3.8 atau yang lebih baru dalam respons perintah, itu berarti manajer paket pip3 berhasil diinstal.

    pip --version

Langkah 1: Buat ember S3

Buat bucket untuk menyimpan data asli yang Anda rencanakan untuk diubah.

Untuk membuat bucket
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Pilih Buat bucket.

    Halaman Buat bucket terbuka.

  4. Untuk nama Bucket, masukkan nama (misalnya,tutorial-bucket) untuk bucket Anda.

    Untuk informasi selengkapnya tentang penamaan bucket di Amazon S3, lihat. Aturan penamaan ember tujuan umum

  5. Untuk Wilayah, pilih Wilayah AWS tempat Anda ingin ember berada.

    Untuk informasi selengkapnya tentang Wilayah bucket, lihatIkhtisar ember tujuan umum.

  6. Untuk pengaturan Blokir Akses Publik untuk bucket ini, pertahankan pengaturan default (Blokir semua akses publik diaktifkan).

    Kami menyarankan agar Anda tetap mengaktifkan semua pengaturan Blokir Akses Publik kecuali Anda perlu menonaktifkan satu atau beberapa pengaturan tersebut untuk kasus penggunaan Anda. Untuk informasi lebih lanjut tentang pemblokiran akses publik, lihat Melakukan blok akses publik ke penyimpanan Amazon S3 Anda.

  7. Untuk pengaturan yang tersisa, pertahankan defaultnya.

    (Opsional) Jika Anda ingin mengonfigurasi pengaturan bucket tambahan untuk kasus penggunaan spesifik Anda, lihatMembuat ember tujuan umum.

  8. Pilih Buat bucket.

Langkah 2: Unggah file ke bucket S3

Unggah file teks ke bucket S3. File teks ini berisi data asli yang akan Anda ubah menjadi huruf besar nanti dalam tutorial ini.

Misalnya, Anda dapat mengunggah tutorial.txt file yang berisi teks berikut:

Amazon S3 Object Lambda Tutorial: You can add your own code to process data retrieved from S3 before returning it to an application.
Untuk mengunggah file ke ember
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Dalam daftar Bucket, pilih nama bucket yang Anda buat di Langkah 1 (misalnya,tutorial-bucket) untuk mengunggah file Anda.

  4. Di tab Objek untuk bucket Anda, pilih Unggah.

  5. Pada halaman Unggah, di bawah File dan folder, pilih Tambahkan file.

  6. Pilih file yang akan diunggah, lalu pilih Buka. Misalnya, Anda dapat mengunggah contoh tutorial.txt file yang disebutkan sebelumnya.

  7. Pilih Unggah.

Langkah 3: Buat titik akses S3

Untuk menggunakan Titik Akses Lambda Objek S3 untuk mengakses dan mengubah data asli, Anda harus membuat titik akses S3 dan mengaitkannya dengan bucket S3 yang Anda buat di Langkah 1. Titik akses harus Wilayah AWS sama dengan objek yang ingin Anda ubah.

Kemudian dalam tutorial ini, Anda akan menggunakan titik akses ini sebagai titik akses pendukung untuk Object Lambda Access Point Anda.

Untuk membuat titik akses
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Pada panel navigasi di kiri, pilih Titik Akses.

  3. Pada halaman Titik Akses, pilih Buat titik akses.

  4. Di bidang Nama titik akses, masukkan nama (misalnya,tutorial-access-point) untuk titik akses.

    Untuk informasi lebih lanjut tentang penamaan titik akses, lihat Aturan penamaan untuk jalur akses Amazon S3 untuk bucket tujuan umum.

  5. Di bidang Nama Bucket, masukkan nama bucket yang Anda buat di Langkah 1 (misalnya,tutorial-bucket). S3 melampirkan titik akses ke bucket ini.

    (Opsional) Anda dapat memilih Browse S3 untuk menelusuri dan mencari bucket di akun Anda. Jika Anda memilih Browse S3, pilih bucket yang diinginkan, lalu pilih Pilih jalur untuk mengisi bidang nama Bucket dengan nama bucket tersebut.

  6. Untuk asal Jaringan, pilih Internet.

    Untuk informasi lebih lanjut tentang asal jaringan untuk titik akses, lihat Membuat titik akses untuk bucket tujuan umum terbatas pada cloud pribadi virtual.

  7. Secara default, semua pengaturan Blokir Akses Publik diaktifkan untuk titik akses Anda. Kami menyarankan agar Anda tetap mengaktifkan Blokir semua akses publik.

    Untuk informasi selengkapnya, lihat Mengelola akses publik ke titik akses untuk ember tujuan umum.

  8. Untuk semua pengaturan titik akses lainnya, pertahankan pengaturan default.

    (Opsional) Anda dapat mengubah pengaturan titik akses untuk mendukung kasus penggunaan Anda. Untuk tutorial ini, kami sarankan untuk menjaga pengaturan default.

    (Opsional) Jika Anda perlu mengelola akses ke titik akses Anda, Anda dapat menentukan kebijakan titik akses. Untuk informasi selengkapnya, lihat Contoh kebijakan untuk titik akses untuk bucket tujuan umum.

  9. Pilih Buat titik akses.

Langkah 4: Buat fungsi Lambda

Untuk mengubah data asli, buat fungsi Lambda untuk digunakan dengan Titik Akses Lambda Objek S3 Anda.

Tulis kode fungsi Lambda dan buat paket penyebaran dengan lingkungan virtual

  1. Pada mesin lokal Anda, buat folder dengan nama folder object-lambda untuk lingkungan virtual untuk digunakan nanti dalam tutorial ini.

  2. Di object-lambda folder, buat file dengan fungsi Lambda yang mengubah semua teks di objek asli menjadi huruf besar. Misalnya, Anda dapat menggunakan fungsi berikut yang ditulis dengan Python. Simpan fungsi ini dalam file bernamatransform.py.

    import boto3 import requests from botocore.config import Config # This function capitalizes all text in the original object def lambda_handler(event, context): object_context = event["getObjectContext"] # Get the presigned URL to fetch the requested original object # from S3 s3_url = object_context["inputS3Url"] # Extract the route and request token from the input context request_route = object_context["outputRoute"] request_token = object_context["outputToken"] # Get the original S3 object using the presigned URL response = requests.get(s3_url) original_object = response.content.decode("utf-8") # Transform all text in the original object to uppercase # You can replace it with your custom code based on your use case transformed_object = original_object.upper() # Write object back to S3 Object Lambda s3 = boto3.client('s3', config=Config(signature_version='s3v4')) # The WriteGetObjectResponse API sends the transformed data # back to S3 Object Lambda and then to the user s3.write_get_object_response( Body=transformed_object, RequestRoute=request_route, RequestToken=request_token) # Exit the Lambda function: return the status code return {'status_code': 200}
    catatan

    Contoh sebelumnya fungsi Lambda memuat seluruh objek yang diminta ke dalam memori sebelum mengubahnya dan mengembalikannya ke klien. Atau, Anda dapat melakukan streaming objek dari S3 untuk menghindari memuat seluruh objek ke dalam memori. Pendekatan ini dapat berguna saat bekerja dengan benda besar. Untuk informasi selengkapnya tentang respons streaming dengan Titik Akses Objek Lambda, lihat contoh streaming di. Bekerja dengan GetObject permintaan di Lambda

    Saat Anda menulis fungsi Lambda untuk digunakan dengan Titik Akses Lambda Objek S3, fungsi ini didasarkan pada konteks peristiwa masukan yang disediakan S3 Object Lambda ke fungsi Lambda. Konteks acara memberikan informasi tentang permintaan yang dibuat dalam acara yang diteruskan dari S3 Object Lambda ke Lambda. Ini berisi parameter yang Anda gunakan untuk membuat fungsi Lambda.

    Bidang yang digunakan untuk membuat fungsi Lambda sebelumnya adalah sebagai berikut:

    Bidang getObjectContext berarti rincian input dan output untuk koneksi ke Amazon S3 dan S3 Object Lambda. Ini memiliki bidang-bidang berikut:

    • inputS3Url— URL presigned yang dapat digunakan fungsi Lambda untuk mengunduh objek asli dari titik akses pendukung. Dengan menggunakan URL yang telah ditetapkan sebelumnya, fungsi Lambda tidak perlu memiliki izin baca Amazon S3 untuk mengambil objek asli dan hanya dapat mengakses objek yang diproses oleh setiap pemanggilan.

    • outputRoute— Token routing yang ditambahkan ke URL Lambda Objek S3 saat fungsi Lambda memanggil WriteGetObjectResponse untuk mengirim kembali objek yang diubah.

    • outputToken— Token yang digunakan oleh S3 Object Lambda untuk WriteGetObjectResponse mencocokkan panggilan dengan penelepon asli saat mengirim kembali objek yang diubah.

    Untuk informasi selengkapnya tentang semua bidang dalam konteks acara, lihat Format konteks peristiwa dan penggunaan danMenulis fungsi Lambda untuk Titik Akses S3 Lambda Objek.

  3. Di terminal lokal Anda, masukkan perintah berikut untuk menginstal virtualenv paket:

    python -m pip install virtualenv
  4. Di terminal lokal Anda, buka object-lambda folder yang Anda buat sebelumnya, lalu masukkan perintah berikut untuk membuat dan menginisialisasi lingkungan virtual yang disebutvenv.

    python -m virtualenv venv
  5. Untuk mengaktifkan lingkungan virtual, masukkan perintah berikut untuk menjalankan activate file dari folder lingkungan:

    Untuk pengguna macOS, jalankan perintah ini:

    source venv/bin/activate

    Untuk pengguna Windows, jalankan perintah ini:

    .\venv\Scripts\activate

    Sekarang, prompt perintah Anda berubah menjadi show (venv), menunjukkan bahwa lingkungan virtual aktif.

  6. Untuk menginstal pustaka yang diperlukan, jalankan perintah berikut baris demi baris di lingkungan venv virtual.

    Perintah ini menginstal versi terbaru dari dependensi fungsi Lambda lambda_handler Anda. Dependensi ini adalah AWS SDK untuk Python (Boto3) dan modul request.

    pip3 install boto3
    pip3 install requests
  7. Untuk menonaktifkan lingkungan virtual, jalankan perintah berikut:

    deactivate
  8. Untuk membuat paket penyebaran dengan pustaka yang diinstal sebagai .zip file bernama lambda.zip di root object-lambda direktori, jalankan perintah berikut baris demi baris di terminal lokal Anda.

    Tip

    Perintah berikut mungkin perlu disesuaikan untuk bekerja di lingkungan khusus Anda. Misalnya, pustaka mungkin muncul di site-packages ataudist-packages, dan folder pertama mungkin lib ataulib64. Juga, python folder mungkin diberi nama dengan versi Python yang berbeda. Untuk menemukan paket tertentu, gunakan pip show perintah.

    Untuk pengguna macOS, jalankan perintah ini:

    cd venv/lib/python3.8/site-packages
    zip -r ../../../../lambda.zip .

    Untuk pengguna Windows, jalankan perintah ini:

    cd .\venv\Lib\site-packages\
    powershell Compress-Archive * ../../../lambda.zip

    Perintah terakhir menyimpan paket deployment ke akar direktori object-lambda.

  9. Tambahkan file kode fungsi transform.py ke root paket penyebaran Anda.

    Untuk pengguna macOS, jalankan perintah ini:

    cd ../../../../
    zip -g lambda.zip transform.py

    Untuk pengguna Windows, jalankan perintah ini:

    cd ..\..\..\
    powershell Compress-Archive -update transform.py lambda.zip

    Setelah menyelesaikan langkah ini, struktur direktori Anda adalah sebagai berikut:

    lambda.zip$ │ transform.py │ __pycache__ | boto3/ │ certifi/ │ pip/ │ requests/ ...

Buat fungsi Lambda dengan peran eksekusi (konsol)

  1. Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Di panel navigasi kiri, pilih Fungsi.

  3. Pilih Buat fungsi.

  4. Pilih Penulis dari scratch.

  5. Di bagian Informasi dasar, lakukan hal berikut:

    1. Untuk Nama fungsi, masukkan tutorial-object-lambda-function.

    2. Untuk Runtime, pilih Python 3.8 atau versi yang lebih baru.

  6. Perluas bagian Ubah peran eksekusi default. Di bawah Peran eksekusi, pilih Buat peran baru dengan izin Lambda dasar.

    Pada Langkah 5 nanti dalam tutorial ini, Anda melampirkan AmazonS3 ke peran eksekusi ObjectLambdaExecutionRolePolicy fungsi Lambda ini.

  7. Pertahankan pengaturan yang tersisa disetel ke default.

  8. Pilih Buat fungsi.

Terapkan kode fungsi Lambda Anda dengan arsip file.zip dan konfigurasikan fungsi Lambda (konsol)

  1. Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/, pilih Fungsi di panel navigasi kiri.

  2. Pilih fungsi Lambda yang Anda buat sebelumnya (misalnya,tutorial-object-lambda-function).

  3. Pada halaman detail fungsi Lambda, pilih tab Kode. Di bagian Sumber Kode, pilih Unggah dari dan kemudian file.zip.

  4. Pilih Unggah untuk memilih .zip file lokal Anda.

  5. Pilih lambda.zip file yang Anda buat sebelumnya, lalu pilih Buka.

  6. Pilih Simpan.

  7. Di bagian Pengaturan waktu proses, pilih Edit.

  8. Pada halaman Edit pengaturan runtime, konfirmasikan bahwa Runtime diatur ke Python 3.8 atau versi yang lebih baru.

  9. Untuk memberi tahu runtime Lambda metode handler mana dalam kode fungsi Lambda Anda yang akan dipanggil, masukkan untuk Handler. transform.lambda_handler

    Ketika Anda mengkonfigurasi fungsi dalam Python, nilai pengaturan handler adalah nama file dan nama modul handler, dipisahkan oleh titik. Misalnya, transform.lambda_handler memanggil lambda_handler metode yang didefinisikan dalam transform.py file.

  10. Pilih Simpan.

  11. (Opsional) Pada halaman detail fungsi Lambda Anda, pilih tab Konfigurasi. Di panel navigasi kiri, pilih Konfigurasi umum, lalu pilih Edit. Di bidang Timeout, masukkan 1 min 0 sec. Pertahankan pengaturan yang tersisa disetel ke default, dan pilih Simpan.

    Timeout adalah jumlah waktu yang memungkinkan Lambda menjalankan fungsi untuk pemanggilan sebelum menghentikannya. Default-nya adalah 3 detik. Durasi maksimum untuk fungsi Lambda yang digunakan oleh S3 Object Lambda adalah 60 detik. Harga didasarkan pada jumlah memori yang dikonfigurasi dan jumlah waktu kode Anda berjalan.

Langkah 5: Konfigurasikan kebijakan IAM untuk peran eksekusi fungsi Lambda Anda

Untuk mengaktifkan fungsi Lambda Anda untuk menyediakan data yang disesuaikan dan header respons kepada GetObject pemanggil, peran eksekusi fungsi Lambda Anda harus memiliki izin IAM untuk memanggil API. WriteGetObjectResponse

Untuk melampirkan kebijakan IAM ke peran fungsi Lambda

  1. Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/, pilih Fungsi di panel navigasi kiri.

  2. Pilih fungsi yang Anda buat di Langkah 4 (misalnya,tutorial-object-lambda-function).

  3. Pada halaman detail fungsi Lambda Anda, pilih tab Konfigurasi, lalu pilih Izin di panel navigasi kiri.

  4. Di bawah Peran eksekusi, pilih tautan nama Peran. Konsol IAM terbuka.

  5. Pada halaman Ringkasan konsol IAM untuk peran eksekusi fungsi Lambda Anda, pilih tab Izin. Kemudian, dari menu Tambahkan Izin, pilih Lampirkan kebijakan.

  6. Pada halaman Lampirkan Izin, masukkan AmazonS3ObjectLambdaExecutionRolePolicy di kotak pencarian untuk memfilter daftar kebijakan. Pilih kotak centang di sebelah nama kebijakan AmazonS3 ObjectLambdaExecutionRolePolicy.

  7. Pilih Lampirkan kebijakan.

Langkah 6: Buat Titik Akses Lambda Objek S3

Titik Akses Lambda Objek S3 memberikan fleksibilitas untuk memanggil fungsi Lambda langsung dari permintaan S3 GET sehingga fungsi tersebut dapat memproses data yang diambil dari titik akses S3. Saat membuat dan mengonfigurasi Titik Akses Lambda Objek S3, Anda harus menentukan fungsi Lambda untuk memanggil dan memberikan konteks acara dalam format JSON sebagai parameter khusus untuk digunakan Lambda.

Untuk membuat Objek S3 Lambda Access Point
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.

  3. Pada halaman Titik Akses Lambda Objek, pilih Buat Titik Akses Lambda Objek.

  4. Untuk nama Object Lambda Access Point, masukkan nama yang ingin Anda gunakan untuk Object Lambda Access Point (misalnya,). tutorial-object-lambda-accesspoint

  5. Untuk Mendukung Titik Akses, masukkan atau telusuri ke titik akses standar yang Anda buat di Langkah 3 (misalnya,tutorial-access-point), lalu pilih Pilih Titik Akses pendukung.

  6. Untuk S3 APIs, untuk mengambil objek dari bucket S3 agar fungsi Lambda dapat diproses, pilih. GetObject

  7. Untuk fungsi Invoke Lambda, Anda dapat memilih salah satu dari dua opsi berikut untuk tutorial ini.

  8. Untuk versi fungsi Lambda, pilih $LATEST (versi terbaru dari fungsi Lambda yang Anda buat di Langkah 4).

  9. (Opsional) Jika Anda memerlukan fungsi Lambda Anda untuk mengenali dan memproses permintaan GET dengan header rentang dan nomor bagian, pilih Fungsi Lambda mendukung permintaan menggunakan rentang dan fungsi Lambda mendukung permintaan menggunakan nomor bagian. Jika tidak, kosongkan dua kotak centang ini.

    Untuk informasi selengkapnya tentang cara menggunakan nomor rentang atau bagian dengan S3 Object Lambda, lihat. Bekerja dengan Range and partNumber headers

  10. (Opsional) Di bawah Payload - opsional, tambahkan teks JSON untuk menyediakan fungsi Lambda Anda dengan informasi tambahan.

    Payload adalah teks JSON opsional yang dapat Anda berikan ke fungsi Lambda Anda sebagai masukan untuk semua pemanggilan yang berasal dari Titik Akses Lambda Objek S3 tertentu. Untuk menyesuaikan perilaku untuk beberapa Titik Akses Lambda Objek yang menjalankan fungsi Lambda yang sama, Anda dapat mengonfigurasi muatan dengan parameter yang berbeda, sehingga memperluas fleksibilitas fungsi Lambda Anda.

    Untuk informasi selengkapnya tentang payload, lihatFormat konteks peristiwa dan penggunaan.

  11. (Opsional) Untuk metrik Permintaan - opsional, pilih Nonaktifkan atau Aktifkan untuk menambahkan pemantauan Amazon S3 ke Titik Akses Lambda Objek Anda. Metrik permintaan ditagih dengan tarif Amazon CloudWatch standar. Untuk informasi selengkapnya, lihat harga CloudWatch.

  12. Di bawah kebijakan Titik Akses Objek Lambda - opsional, pertahankan pengaturan default.

    (Opsional) Anda dapat menetapkan kebijakan sumber daya. Kebijakan resource ini memberikan izin GetObject API untuk menggunakan Object Lambda Access Point yang ditentukan.

  13. Pertahankan pengaturan yang tersisa disetel ke default, dan pilih Buat Objek Lambda Access Point.

Langkah 7: Lihat data yang diubah

Sekarang, S3 Object Lambda siap untuk mengubah data Anda untuk kasus penggunaan Anda. Dalam tutorial ini, S3 Object Lambda mengubah semua teks dalam objek Anda menjadi huruf besar.

Lihat data yang diubah di Titik Akses Lambda Objek S3 Anda

Saat Anda meminta untuk mengambil file melalui Titik Akses Lambda Objek S3, Anda membuat panggilan GetObject API ke S3 Object Lambda. S3 Object Lambda memanggil fungsi Lambda untuk mengubah data Anda, dan kemudian mengembalikan data yang diubah sebagai respons terhadap panggilan API S3 standar. GetObject

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.

  3. Pada halaman Titik Akses Objek Lambda, pilih Titik Akses Lambda Objek S3 yang Anda buat di Langkah 6 (misalnya,). tutorial-object-lambda-accesspoint

  4. Pada tab Objek pada Titik Akses Lambda Objek S3 Anda, pilih file yang memiliki nama yang sama (misalnyatutorial.txt,) dengan file yang Anda unggah ke bucket S3 di Langkah 2.

    File ini harus berisi semua data yang diubah.

  5. Untuk melihat data yang diubah, pilih Buka atau Unduh.

Jalankan skrip Python untuk mencetak data asli dan diubah

Anda dapat menggunakan S3 Object Lambda dengan aplikasi yang ada. Untuk melakukannya, perbarui konfigurasi aplikasi Anda untuk menggunakan ARN Titik Akses Lambda Objek S3 baru yang Anda buat di Langkah 6 untuk mengambil data dari S3.

Contoh skrip Python berikut mencetak data asli dari bucket S3 dan data yang diubah dari S3 Object Lambda Access Point.

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.

  3. Pada halaman Titik Akses Objek Lambda, pilih tombol radio di sebelah kiri Titik Akses Lambda Objek S3 yang Anda buat di Langkah 6 (misalnya,). tutorial-object-lambda-accesspoint

  4. Pilih Salin ARN.

  5. Simpan ARN untuk digunakan nanti.

  6. Tulis skrip Python di mesin lokal Anda untuk mencetak data asli (misalnya,tutorial.txt) dari Bucket S3 Anda dan data yang diubah (misalnya,tutorial.txt) dari Titik Akses Lambda Objek S3 Anda). Anda dapat menggunakan contoh script berikut.

    import boto3 from botocore.config import Config s3 = boto3.client('s3', config=Config(signature_version='s3v4')) def getObject(bucket, key): objectBody = s3.get_object(Bucket = bucket, Key = key) print(objectBody["Body"].read().decode("utf-8")) print("\n") print('Original object from the S3 bucket:') # Replace the two input parameters of getObject() below with # the S3 bucket name that you created in Step 1 and # the name of the file that you uploaded to the S3 bucket in Step 2 getObject("tutorial-bucket", "tutorial.txt") print('Object transformed by S3 Object Lambda:') # Replace the two input parameters of getObject() below with # the ARN of your S3 Object Lambda Access Point that you saved earlier and # the name of the file with the transformed data (which in this case is # the same as the name of the file that you uploaded to the S3 bucket # in Step 2) getObject("arn:aws:s3-object-lambda:us-west-2:111122223333:accesspoint/tutorial-object-lambda-accesspoint", "tutorial.txt")
  7. Simpan skrip Python Anda dengan nama khusus (misalnya,tutorial_print.py) di folder (misalnya,object-lambda) yang Anda buat di Langkah 4 di mesin lokal Anda.

  8. Di terminal lokal Anda, jalankan perintah berikut dari root direktori (misalnya,object-lambda) yang Anda buat di Langkah 4.

    python3 tutorial_print.py

    Anda akan melihat data asli dan data yang diubah (semua teks sebagai huruf besar) melalui terminal. Misalnya, Anda akan melihat sesuatu seperti teks berikut.

    Original object from the S3 bucket: Amazon S3 Object Lambda Tutorial: You can add your own code to process data retrieved from S3 before returning it to an application. Object transformed by S3 Object Lambda: AMAZON S3 OBJECT LAMBDA TUTORIAL: YOU CAN ADD YOUR OWN CODE TO PROCESS DATA RETRIEVED FROM S3 BEFORE RETURNING IT TO AN APPLICATION.

Langkah 8: Membersihkan

Jika Anda mengubah data Anda melalui S3 Object Lambda hanya sebagai latihan pembelajaran, hapus AWS sumber daya yang Anda alokasikan sehingga Anda tidak lagi menambah biaya.

Hapus Titik Akses Objek Lambda

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.

  3. Pada halaman Titik Akses Objek Lambda, pilih tombol radio di sebelah kiri Titik Akses Lambda Objek S3 yang Anda buat di Langkah 6 (misalnya,). tutorial-object-lambda-accesspoint

  4. Pilih Hapus.

  5. Konfirmasikan bahwa Anda ingin menghapus Titik Akses Objek Lambda Anda dengan memasukkan namanya di bidang teks yang muncul, lalu pilih Hapus.

Hapus titik akses S3

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Pada panel navigasi di kiri, pilih Titik Akses.

  3. Arahkan ke titik akses yang Anda buat di Langkah 3 (misalnya,tutorial-access-point), dan pilih tombol radio di sebelah nama titik akses.

  4. Pilih Hapus.

  5. Konfirmasikan bahwa Anda ingin menghapus jalur akses Anda dengan memasukkan namanya di bidang teks yang muncul, lalu pilih Hapus.

Hapus peran eksekusi untuk fungsi Lambda Anda

  1. Masuk ke AWS Management Console dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Di panel navigasi kiri, pilih Fungsi.

  3. Pilih fungsi yang Anda buat di Langkah 4 (misalnya,tutorial-object-lambda-function).

  4. Pada halaman detail fungsi Lambda Anda, pilih tab Konfigurasi, lalu pilih Izin di panel navigasi kiri.

  5. Di bawah Peran eksekusi, pilih tautan nama Peran. Konsol IAM terbuka.

  6. Pada halaman Ringkasan konsol IAM tentang peran eksekusi fungsi Lambda Anda, pilih Hapus peran.

  7. Di kotak dialog Hapus peran, pilih Ya, hapus.

Hapus fungsi Lambda

  1. Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/, pilih Fungsi di panel navigasi kiri.

  2. Pilih kotak centang di sebelah kiri nama fungsi yang Anda buat di Langkah 4 (misalnya,tutorial-object-lambda-function).

  3. Pilih Tindakan, lalu pilih Hapus.

  4. Di kotak dialog Hapus fungsi, pilih Hapus.

Hapus grup CloudWatch log

  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Pada panel navigasi kiri, pilih Grup log.

  3. Temukan grup log yang namanya diakhiri dengan fungsi Lambda yang Anda buat di Langkah 4 (misalnya,tutorial-object-lambda-function).

  4. Pilih kotak centang di sebelah kiri nama grup log.

  5. Pilih Tindakan, lalu pilih Hapus grup log.

  6. Di kotak dialog Hapus grup log, pilih Hapus.

Hapus file asli di bucket sumber S3

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Dalam daftar nama Bucket, pilih nama bucket tempat Anda mengunggah file asli di Langkah 2 (misalnya,tutorial-bucket).

  4. Pilih kotak centang di sebelah kiri nama objek yang ingin Anda hapus (misalnya,tutorial.txt).

  5. Pilih Hapus.

  6. Pada halaman Hapus objek, di objek Hapus secara permanen? bagian, konfirmasikan bahwa Anda ingin menghapus objek ini dengan memasukkan permanently delete di kotak teks.

  7. Pilih Hapus objek.

Hapus bucket sumber S3

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket.

  3. Dalam daftar Bucket, pilih tombol radio di sebelah nama bucket yang Anda buat di Langkah 1 (misalnya,tutorial-bucket).

  4. Pilih Hapus.

  5. Di halaman Hapus bucket, konfirmasikan bahwa Anda ingin menghapus bucket dengan memasukkan nama bucket ke dalam bidang teks, lalu pilih Hapus bucket.

Hapus pengguna IAM

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi kiri, pilih Pengguna, lalu pilih kotak centang di sebelah nama pengguna yang ingin Anda hapus.

  3. Pilih Hapus di bagian atas halaman.

  4. Di Hapususer name? kotak dialog, masukkan nama pengguna di bidang input teks untuk mengonfirmasi penghapusan pengguna. Pilih Hapus.

Langkah selanjutnya

Setelah menyelesaikan tutorial ini, Anda dapat menyesuaikan fungsi Lambda untuk kasus penggunaan Anda untuk memodifikasi data yang dikembalikan oleh permintaan GET S3 standar.

Berikut ini adalah daftar kasus penggunaan umum untuk S3 Object Lambda:

Untuk informasi selengkapnya tentang S3 Lambda Objek, lihat Mengubah objek dengan S3 Lambda Objek.