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
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.
Sublangkah
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:
-
AmazonS3FullAccess
— Memberikan izin untuk semua tindakan Amazon S3, termasuk izin untuk membuat dan menggunakan Titik Akses Lambda Objek. -
AWS Lambda_FullAccess
— Memberikan izin untuk semua tindakan Lambda. -
IAMFullAccess
— Memberikan izin untuk semua tindakan IAM. -
IAMAccessAnalyzerReadOnlyAccess
— Memberikan izin untuk membaca semua informasi akses yang disediakan oleh IAM Access Analyzer. -
CloudWatchLogsFullAccess
— Memberikan akses penuh ke CloudWatch Log.
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
-
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 -
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. -
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.
-
Mulai ulang terminal Anda dengan menutup dan membukanya kembali.
-
Jalankan perintah berikut untuk memverifikasi bahwa Python 3.8 atau yang lebih baru diinstal dengan benar.
Untuk pengguna macOS, jalankan perintah ini:
python3 --versionUntuk pengguna Windows, jalankan perintah ini:
python --version -
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
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi kiri, pilih Bucket.
-
Pilih Buat bucket.
Halaman Buat bucket terbuka.
-
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.
-
Untuk Wilayah, pilih Wilayah AWS tempat Anda ingin bucket berada.
Untuk informasi selengkapnya tentang Wilayah bucket, lihatIkhtisar bucket tujuan umum.
-
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.
-
Untuk pengaturan yang tersisa, pertahankan default.
(Opsional) Jika Anda ingin mengonfigurasi setelan bucket tambahan untuk kasus penggunaan spesifik Anda, lihatMembuat bucket tujuan umum.
-
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
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi kiri, pilih Bucket.
-
Dalam daftar Bucket, pilih nama bucket yang Anda buat di Langkah 1 (misalnya,
tutorial-bucket) untuk mengunggah file Anda. -
Di tab Objek untuk bucket Anda, pilih Unggah.
-
Pada halaman Unggah, di bawah File dan folder, pilih Tambahkan file.
-
Pilih file yang akan diunggah, lalu pilih Buka. Misalnya, Anda dapat mengunggah contoh
tutorial.txtfile yang disebutkan sebelumnya. -
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
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Pada panel navigasi di kiri, pilih Titik Akses.
-
Pada halaman Titik Akses, pilih Buat titik akses.
-
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.
-
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.
-
Untuk Asal jaringan, pilih Internet.
Untuk informasi lebih lanjut tentang asal jaringan untuk titik akses, lihat Membuat titik akses terbatas pada cloud privat virtual.
-
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.
-
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.
-
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.
Sublangkah
Tulis kode fungsi Lambda dan buat paket penerapan dengan lingkungan virtual
-
Pada mesin lokal Anda, buat folder dengan nama folder
object-lambdauntuk lingkungan virtual untuk digunakan nanti dalam tutorial ini. -
Di
object-lambdafolder, 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
getObjectContextberarti 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 memanggilWriteGetObjectResponseuntuk mengirim kembali objek yang diubah. -
outputToken— Token yang digunakan oleh S3 Object Lambda untuk mencocokWriteGetObjectResponsekan 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.
-
-
Di terminal lokal Anda, masukkan perintah berikut untuk menginstal
virtualenvpaket:python -m pip install virtualenv -
Di terminal lokal Anda, buka
object-lambdafolder yang Anda buat sebelumnya, lalu masukkan perintah berikut untuk membuat dan menginisialisasi lingkungan virtual yang disebutvenv.python -m virtualenv venv -
Untuk mengaktifkan lingkungan virtual, masukkan perintah berikut untuk menjalankan
activatefile dari folder lingkungan:Untuk pengguna macOS, jalankan perintah ini:
source venv/bin/activateUntuk pengguna Windows, jalankan perintah ini:
.\venv\Scripts\activateSekarang, command prompt Anda berubah menjadi show (venv), menunjukkan bahwa lingkungan virtual aktif.
-
Untuk menginstal pustaka yang diperlukan, jalankan perintah berikut baris demi baris di lingkungan
venvvirtual.Perintah ini menginstal versi terbaru dari dependensi fungsi
lambda_handlerLambda Anda. Dependensi ini adalah AWS SDK untuk Python (Boto3) dan modul permintaan.pip3 install boto3pip3 install requests -
Untuk menonaktifkan lingkungan virtual, jalankan perintah berikut:
deactivate -
Untuk membuat paket penerapan dengan pustaka yang diinstal sebagai
.zipfile bernamalambda.zipdi rootobject-lambdadirektori, 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-packagesataudist-packages, dan folder pertama mungkinlibataulib64. Juga,pythonfolder mungkin diberi nama dengan versi Python yang berbeda. Untuk menemukan paket tertentu, gunakanpip showperintah.Untuk pengguna macOS, jalankan perintah ini:
cd venv/lib/python3.8/site-packageszip -r ../../../../lambda.zip .Untuk pengguna Windows, jalankan perintah ini:
cd .\venv\Lib\site-packages\powershell Compress-Archive * ../../../lambda.zipPerintah terakhir menyimpan paket deployment ke akar direktori
object-lambda. -
Tambahkan file kode fungsi
transform.pyke root paket penerapan Anda.Untuk pengguna macOS, jalankan perintah ini:
cd ../../../../zip -g lambda.zip transform.pyUntuk pengguna Windows, jalankan perintah ini:
cd ..\..\..\powershell Compress-Archive -update transform.py lambda.zipSetelah 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)
Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Di panel navigasi kiri, pilih Fungsi.
-
Pilih Buat fungsi.
-
Pilih Penulis dari scratch.
-
Di bagian Informasi dasar, lakukan hal berikut:
-
Untuk Nama fungsi, masukkan
tutorial-object-lambda-function. -
Untuk Runtime, pilih Python 3.8 atau versi yang lebih baru.
-
-
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
-
Tetap setel pengaturan yang tersisa ke default.
-
Pilih Buat fungsi.
Terapkan kode fungsi Lambda Anda dengan arsip file.zip dan konfigurasikan fungsi Lambda (konsol)
-
Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/
, pilih Fungsi di panel navigasi kiri. -
Pilih fungsi Lambda yang Anda buat sebelumnya (misalnya,
tutorial-object-lambda-function). -
Pada halaman detail fungsi Lambda, pilih tab Kode. Di bagian Sumber Kode, pilih Unggah dari dan kemudian fil e.zip.
-
Pilih Unggah untuk memilih
.zipfile lokal Anda. -
Pilih
lambda.zipfile yang Anda buat sebelumnya, lalu pilih Buka. -
Pilih Simpan.
-
Di bagian pengaturan Runtime, pilih Edit.
-
Pada halaman Edit pengaturan runtime, konfirmasikan bahwa Runtime diatur ke Python 3.8 atau versi yang lebih baru.
-
Untuk memberi tahu runtime Lambda metode handler mana dalam kode fungsi Lambda yang akan dipanggil, masukkan
transform.lambda_handleruntuk Handler.Ketika Anda mengonfigurasi fungsi di Python, nilai pengaturan handler adalah nama file dan nama modul handler, yang dipisahkan oleh titik. Misalnya,
transform.lambda_handlermemanggillambda_handlermetode yang ditentukan dalamtransform.pyfile. -
Pilih Simpan.
-
(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
1min0sec. 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
-
Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/
, pilih Fungsi di panel navigasi kiri. -
Pilih fungsi yang Anda buat di Langkah 4 (misalnya,
tutorial-object-lambda-function). -
Pada halaman detail fungsi Lambda Anda, pilih tab Konfigurasi, lalu pilih Iz in di panel navigasi kiri.
-
Di bawah Per an eksekusi, pilih tautan nama Peran. Konsol IAM terbuka.
-
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.
-
Pada halaman Lampirkan Iz
AmazonS3ObjectLambdaExecutionRolePolicyin, masukkan kotak pencarian untuk memfilter daftar kebijakan. Pilih kotak centang di sebelah nama AmazonS3ObjectLambdaExecutionRolePolicy kebijakan. -
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
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.
-
Pada halaman Titik Akses Lambda Objek, pilih Buat Titik Akses Lambda Objek.
-
Untuk nama Object Lambda Access Point, masukkan nama yang ingin Anda gunakan untuk Object Lambda Access Point (misalnya,
tutorial-object-lambda-accesspoint). -
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. -
Untuk API S3, untuk mengambil objek dari bucket S3 untuk fungsi Lambda untuk diproses, pilih GetObject.
-
Untuk fungsi Invoke Lambda, Anda dapat memilih salah satu dari dua opsi berikut untuk tutorial ini.
-
Untuk versi fungsi Lambda, pilih $LATEST (versi terbaru dari fungsi Lambda yang Anda buat di Langkah 4).
-
(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.
-
(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.
-
(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
. -
Di bawah kebijakan Object Lambda Access Point - opsional , pertahankan pengaturan default.
(Opsional) Anda dapat mengatur kebijakan sumber daya. Kebijakan sumber daya ini memberikan izin
GetObjectAPI untuk menggunakan Object Lambda Access Point yang ditentukan. -
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.
Sublangkah
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
-
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.
-
Pada halaman Object Lambda Access Points, pilih S3 Object Lambda Access Point yang Anda buat di Langkah 6 (misalnya,
tutorial-object-lambda-accesspoint). -
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.
-
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.
-
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.
-
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). -
Pilih Salin ARN.
-
Simpan ARN untuk digunakan nanti.
-
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") -
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. -
Di terminal lokal Anda, jalankan perintah berikut dari root direktori (misalnya,
object-lambda) yang Anda buat di Langkah 4.python3 tutorial_print.pyAnda 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.
Sublangkah
Menghapus Titik Akses Objek Lambda
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi sebelah kiri, pilih Titik Akses Lambda Objek.
-
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). -
Pilih Hapus.
-
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
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Pada panel navigasi di kiri, pilih Titik Akses.
-
Arahkan ke titik akses yang Anda buat di Langkah 3 (misalnya,
tutorial-access-point), dan pilih tombol radio di sebelah nama titik akses. -
Pilih Hapus.
-
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
-
Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/
. -
Di panel navigasi kiri, pilih Fungsi.
-
Pilih fungsi yang Anda buat di Langkah 4 (misalnya,
tutorial-object-lambda-function). -
Pada halaman detail fungsi Lambda Anda, pilih tab Konfigurasi, lalu pilih Iz in di panel navigasi kiri.
-
Di bawah Per an eksekusi, pilih tautan nama Peran. Konsol IAM terbuka.
-
Pada halaman Ring kasan konsol IAM dari peran eksekusi fungsi Lambda Anda, pilih Hapus peran.
-
Di kotak dialog Hapus peran, pilih Ya, hapus.
Hapus fungsi Lambda
-
Di AWS Lambda konsol di https://console.aws.amazon.com/lambda/
, pilih Fungsi di panel navigasi kiri. -
Pilih kotak centang di sebelah kiri nama fungsi yang Anda buat di Langkah 4 (misalnya,
tutorial-object-lambda-function). -
Pilih Tindakan, lalu pilih Hapus.
-
Di kotak dialog Hapus fungsi, pilih Hapus.
Hapus grup CloudWatch log
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Pada panel navigasi kiri, pilih Grup log.
-
Temukan grup log yang namanya diakhiri dengan fungsi Lambda yang Anda buat di Langkah 4 (misalnya,
tutorial-object-lambda-function). -
Pilih kotak centang di sebelah kiri nama grup log.
-
Pilih Tindakan, lalu pilih Hapus grup log.
-
Di kotak dialog Hapus grup log, pilih Hapus.
Hapus file asli di bucket sumber S3
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi kiri, pilih Bucket.
-
Dalam daftar nama Bucket, pilih nama bucket tempat Anda mengunggah file asli di Langkah 2 (misalnya,
tutorial-bucket). -
Pilih kotak centang di sebelah kiri nama objek yang ingin Anda hapus (misalnya,
tutorial.txt). -
Pilih Hapus.
-
Pada halaman Hapus objek, di Hapus objek secara permanen? bagian, konfirmasikan bahwa Anda ingin menghapus objek ini dengan memasukkan
permanently deletedi kotak teks. -
Pilih Hapus objek.
Hapus bucket sumber S3
Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi kiri, pilih Bucket.
-
Dalam daftar Bucket, pilih tombol radio di sebelah nama bucket yang Anda buat di Langkah 1 (misalnya,
tutorial-bucket). -
Pilih Hapus.
-
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
Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di panel navigasi kiri, pilih Pengguna, lalu pilih kotak centang di samping nama pengguna yang ingin Anda hapus.
-
Pilih Hapus.
-
Di H apus
user 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:
-
Menyembunyikan data sensitif untuk keamanan dan kepatuhan.
Untuk informasi selengkapnya, lihat Tutorial: Mendeteksi dan menyunting data PII dengan S3 Object Lambda dan Amazon Comprecept.
-
Memfilter baris data tertentu untuk memberikan informasi tertentu.
-
Menambah data dengan informasi dari layanan atau database lain.
-
Mengkonversi di seluruh format data, seperti mengonversi XML ke JSON untuk kompatibilitas aplikasi.
-
Mengompresi atau mendekompresi file saat sedang diunduh.
-
Mengubah ukuran dan menandai gambar.
Untuk informasi selengkapnya, lihat Tutorial: Menggunakan S3 Object Lambda untuk menandai gambar secara dinamis saat diambil
. -
Menerapkan aturan otorisasi khusus untuk mengakses data.
Untuk informasi selengkapnya tentang S3 Lambda Objek, lihat Mengubah objek dengan S3 Lambda Objek.