View a markdown version of this page

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

catatan

Mulai 7 November 2025, S3 Object Lambda hanya tersedia untuk pelanggan lama yang saat ini menggunakan layanan serta untuk AWS mitra Jaringan Mitra (APN) tertentu. Untuk kemampuan yang mirip dengan S3 Object Lambda, pelajari lebih lanjut di sini - Perubahan ketersediaan Lambda Objek Amazon S3.

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 perlu modifikasi atau pemrosesan data Anda untuk kasus penggunaan tertentu. Misalnya, dataset yang dibuat oleh aplikasi e-commerce mungkin menyertakan 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 S3 Object Lambda Access Point. Ketika aplikasi mengirimkan permintaan GET S3 standar melalui S3 Object Lambda Access Point, fungsi Lambda yang ditentukan dipanggil untuk memproses data apa pun yang diambil dari sumber data yang mendasarinya melalui titik akses S3 pendukung. Kemudian, S3 Object Lambda Access Point mengembalikan hasil transformasi kembali ke aplikasi. Anda dapat membuat dan menjalankan fungsi Lambda kustom Anda sendiri, menyesuaikan transformasi data S3 Object Lambda dengan kasus penggunaan spesifik Anda, semuanya tanpa perubahan yang diperlukan pada aplikasi Anda.

Ini adalah diagram alur kerja Lambda Objek S3.
Tujuan

Dalam tutorial ini, Anda belajar bagaimana 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 belajar bagaimana mengubah semua teks dalam objek asli yang disimpan dalam bucket S3 menjadi huruf besar melalui S3 Object Lambda.

catatan

Tutorial ini menggunakan kode Python untuk mengubah data, untuk contoh menggunakan AWS SDK lain lihat Meng ubah data untuk aplikasi Anda dengan S3 Object Lambda di Perpustakaan Contoh Kode AWS SDK.

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus memiliki Akun AWS yang dapat Anda masuk 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 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 untuk melakukannyaHapus pengguna IAM. Untuk penggunaan produksi, sebaiknya ikuti praktik terbaik Keamanan di IAM di Panduan Pengguna IAM. Praktik terbaik mengharuskan pengguna manusia menggunakan federasi dengan penyedia identitas untuk mengakses AWS dengan kredenSIAL sementara. Praktik terbaik lainnya adalah mewajibkan beban kerja untuk menggunakan kredenSIAL sementara dengan peran IAM untuk mengakses. AWS Untuk mempelajari cara menggunakan AWS IAM Identity Center untuk membuat pengguna dengan kredenSIAL sementara, lihat Mem ulai di Panduan AWS IAM Identity Center Pengguna.

Tutorial ini juga menggunakan kebijakan terkel AWS ola 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 mesin lokal Anda

Gunakan prosedur berikut untuk menginstal Python 3.8 atau yang lebih baru di mesin lokal Anda. Untuk petunjuk instalasi lebih lanjut, 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 installer https://www.python.org/downloads/ resmi Python 3.8 atau 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 Install Now.

  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 lebih baru dalam respons perintah, itu berarti manajer paket pip3 berhasil diinstal.

    pip --version

Langkah 1: Buat bucket S3

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

catatan

Titik akses dapat dilampirkan untuk sumber data lain, seperti Amazon FSx untuk volume OpenZFS, namun tutorial ini menggunakan titik akses pendukung yang dilampirkan ke bucket S3.

Untuk membuat bucket
  1. Masuk ke Konsol Manajemen AWS 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, lihatAturan penamaan bucket tujuan umum.

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

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

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

    Sebaiknya Anda tetap mengaktifkan semua pengaturan Blokir Akses Publik kecuali Anda perlu menonaktifkan satu atau lebih setelan 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 default.

    (Opsional) Jika Anda ingin mengonfigurasi setelan bucket tambahan untuk kasus penggunaan spesifik Anda, lihatMembuat bucket 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.
Mengunggah file ke bucket
  1. Masuk ke Konsol Manajemen AWS 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 S3 Object Lambda Access Point 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 Konsol Manajemen AWS 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 titik akses.

  5. Di bidang Sumber data, 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 itu.

  6. Untuk Asal jaringan, pilih Internet.

    Untuk informasi lebih lanjut tentang asal jaringan untuk titik akses, lihat Membuat titik akses terbatas pada cloud privat virtual.

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

    Untuk informasi selengkapnya, lihat Mengelola akses publik ke titik akses untuk bucket 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 dapat menentukan kebijakan titik akses. Untuk informasi selengkapnya, lihat Contoh kebijakan untuk titik akses.

  9. Pilih Buat titik akses.

Langkah 4: Buat fungsi Lambda

Untuk mengubah data asli, buat fungsi Lambda untuk digunakan dengan S3 Object Lambda Access Point Anda.

Tulis kode fungsi Lambda dan buat paket penerapan 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 dalam 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 objek besar. Untuk informasi selengkapnya tentang respons streaming dengan Object Lambda Access Points, lihat contoh streaming diBekerja dengan GetObject permintaan di Lambda.

    Saat Anda menulis fungsi Lambda untuk digunakan dengan S3 Object Lambda Access Point, fungsi ini didasarkan pada konteks peristiwa input 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 detail input dan output untuk koneksi ke Amazon S3 dan S3 Object Lambda. Ini memiliki bidang berikut:

    • inputS3Url— URL yang ditandatangani sebelumnya yang dapat digunakan fungsi Lambda untuk mengunduh objek asli dari titik akses pendukung. Dengan menggunakan URL yang telah ditandatangani 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 S3 Object Lambda URL saat fungsi Lambda memanggil WriteGetObjectResponse untuk mengirim kembali objek yang diubah.

    • outputToken— Token yang digunakan oleh S3 Object Lambda untuk mencocok WriteGetObjectResponse kan panggilan dengan pemanggil 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, command prompt 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_handler Lambda Anda. Dependensi ini adalah AWS SDK untuk Python (Boto3) dan modul permintaan.

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

    deactivate
  8. Untuk membuat paket penerapan 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 penerapan 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 Konsol Manajemen AWS 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 peran eksekusi fungsi Lambda ini. AmazonS3ObjectLambdaExecutionRolePolicy

  7. Tetap setel pengaturan yang tersisa 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 fil e.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 Runtime, 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 yang akan dipanggil, masukkan transform.lambda_handler untuk Handler.

    Ketika Anda mengonfigurasi fungsi di Python, nilai pengaturan handler adalah nama file dan nama modul handler, yang dipisahkan oleh titik. Misalnya, transform.lambda_handler memanggil lambda_handler metode yang ditentukan 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 T imeout, masukkan 1 min 0 sec. Tetap setel setelan yang tersisa ke default, dan pilih S impan.

    Batas waktu adalah jumlah waktu yang Lambda memungkinkan fungsi dijalankan 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 yang digunakan selama kode Anda berjalan.

Langkah 5: Konfigurasikan kebijakan IAM untuk peran eksekusi fungsi Lambda

Untuk mengaktifkan fungsi Lambda Anda untuk menyediakan data dan header respons yang disesuaikan ke pemanggil, peran eksekusi fungsi Lambda Anda harus memiliki izin IAM untuk memanggil API. GetObject 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 Iz in di panel navigasi kiri.

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

  5. Pada halaman Ring kasan konsol IAM untuk peran eksekusi fungsi Lambda Anda, pilih tab Iz in. Kemudian, dari menu Tam bah Izin, pilih Lamp irkan kebijakan.

  6. Pada halaman Lampirkan Iz AmazonS3ObjectLambdaExecutionRolePolicy in, masukkan kotak pencarian untuk memfilter daftar kebijakan. Pilih kotak centang di sebelah nama AmazonS3ObjectLambdaExecutionRolePolicy kebijakan.

  7. Pilih Lampirkan kebijakan.

Langkah 6: Buat Titik Akses Lambda Objek S3

S3 Object Lambda Access Point 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 S3 Object Lambda Access Point, Anda harus menentukan fungsi Lambda untuk memanggil dan menyediakan konteks acara dalam format JSON sebagai parameter khusus untuk digunakan Lambda.

Untuk membuat Titik Akses Lambda Objek S3
  1. Masuk ke Konsol Manajemen AWS 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 yang mendukung.

  6. Untuk API S3, untuk mengambil objek dari bucket S3 untuk fungsi Lambda untuk diproses, pilih GetObject.

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

    • Pilih Pilih dari fungsi di akun Anda, lalu pilih fungsi Lambda yang Anda buat di Langkah 4 (misalnya,tutorial-object-lambda-function) dari daftar dropdown fungsi Lambda.

    • Pilih Enter ARN, lalu masukkan Amazon Resource Name (ARN) dari fungsi Lambda yang Anda buat di Langkah 4.

  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 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 rentang atau nomor bagian dengan S3 Object Lambda, lihatBekerja dengan Kisaran and Nomor bagian headers.

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

    Payload adalah teks JSON opsional yang dapat Anda berikan ke fungsi Lambda Anda sebagai input untuk semua pemanggilan yang berasal dari S3 Object Lambda Access Point tertentu. Untuk menyesuaikan perilaku untuk beberapa Object Lambda Access Points yang memanggil fungsi Lambda yang sama, Anda dapat mengonfigurasi payload 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 Non aktifkan atau Aktifkan untuk menambahkan pemantauan Amazon S3 ke Titik Akses Lambda Objek Anda. Metrik permintaan ditagih dengan CloudWatch tarif Amazon standar. Untuk informasi selengkapnya, lihat harga CloudWatch.

  12. Di bawah kebijakan Object Lambda Access Point - opsional , pertahankan pengaturan default.

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

  13. Tetap setel setelan yang tersisa ke default, dan pilih Create Object 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.

Melihat data yang diubah di S3 Object Lambda Access Point

Saat Anda meminta untuk mengambil file melalui S3 Object Lambda Access Point, 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 Konsol Manajemen AWS 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 Object Lambda Access Points, pilih S3 Object Lambda Access Point yang Anda buat di Langkah 6 (misalnya,tutorial-object-lambda-accesspoint).

  4. Pada tab Obj ects pada S3 Object Lambda Access Point, pilih file yang memiliki nama yang sama (misalnya,tutorial.txt) dengan 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 S3 Object Lambda Access Point ARN baru yang Anda buat pada 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 Konsol Manajemen AWS 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 Object Lambda Access Points, pilih tombol radio di sebelah kiri S3 Object Lambda Access Point 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 pada mesin lokal Anda untuk mencetak data asli (misalnya,tutorial.txt) dari S3 Bucket Anda dan data yang diubah (misalnya,tutorial.txt) dari S3 Object Lambda Access Point Anda). Anda dapat menggunakan contoh skrip 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 harus melihat data asli dan data yang diubah (semua teks sebagai huruf besar) melalui terminal. Misalnya, Anda harus 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 melalui S3 Object Lambda hanya sebagai latihan pembelajaran, hapus AWS sumber daya yang Anda alokasikan sehingga Anda tidak lagi mendapatkan biaya.

Menghapus Titik Akses Objek Lambda

  1. Masuk ke Konsol Manajemen AWS 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 Object Lambda Access Points, pilih tombol radio di sebelah kiri S3 Object Lambda Access Point yang Anda buat di Langkah 6 (misalnya,tutorial-object-lambda-accesspoint).

  4. Pilih Hapus.

  5. Konfirmasikan bahwa Anda ingin menghapus Object Lambda Access Point dengan memasukkan namanya di bidang teks yang muncul, lalu pilih H apus.

Hapus titik akses S3

  1. Masuk ke Konsol Manajemen AWS 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 titik akses Anda dengan memasukkan namanya di bidang teks yang muncul, lalu pilih H apus.

Hapus peran eksekusi untuk fungsi Lambda Anda

  1. Masuk ke Konsol Manajemen AWS 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 Iz in di panel navigasi kiri.

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

  6. Pada halaman Ring kasan konsol IAM dari 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 Konsol Manajemen AWS 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 Hapus objek 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 Konsol Manajemen AWS 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 Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

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

  3. Pilih Hapus.

  4. Di H apususer name? kotak dialog, masukkan nama pengguna di bidang input teks untuk mengkonfirmasi 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.