Penyepaduan: Lambda, HTTP dan Olok-olok
Sambungkan kaedah API Gateway kepada penyepaduan proksi Lambda, titik akhir HTTP huluan dan penyepaduan olok-olok untuk ujian.
Penyepaduan: Lambda, HTTP dan Olok-olok ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Gambaran Keseluruhan Jenis Integrasi API Gateway
Setiap kaedah API Gateway memerlukan integrasi bahagian belakang—sistem yang memproses permintaan dan mengembalikan tindak balas. API Gateway menyokong lima jenis integrasi: Lambda Proxy, Lambda Tersuai, HTTP Proxy, HTTP Tersuai dan Mock. API HTTP hanya menyokong Lambda Proxy dan HTTP Proxy. API REST menyokong kelima-lima jenis. Pemilihan integrasi yang tepat menentukan sejauh mana kawalan yang anda miliki terhadap transformasi permintaan dan tindak balas.
Integrasi Proksi Lambda
Dengan integrasi Lambda Proxy, API Gateway menghantar seluruh permintaan HTTP kepada Lambda sebagai objek peristiwa berstruktur yang merangkumi pengepala, rentetan pertanyaan, parameter laluan, badan dan konteks. Fungsi Lambda anda bertanggungjawab mengembalikan objek tindak balas yang diformatkan dengan betul, dengan statusCode, headers dan body. Ini ialah corak yang paling ringkas dan lazim—tiada templat pemetaan diperlukan dan Lambda anda mengawal keseluruhan tindak balas.
def lambda_handler(event, context):
# event.httpMethod, event.path, event.queryStringParameters
# event.headers, event.body
user_id = event['pathParameters']['userId']
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': '{"userId": "' + user_id + '", "name": "Alice"}'
}Integrasi Lambda Bukan Proksi (Tersuai)
Dengan Lambda Bukan Proksi (integrasi tersuai), API Gateway menggunakan templat pemetaan (Apache Velocity Template Language, VTL) untuk mengubah permintaan sebelum menghantarnya kepada Lambda, dan mengubah tindak balas Lambda sebelum mengembalikannya kepada klien. Fungsi Lambda anda menerima muatan tersuai yang bersih—bukan peristiwa API Gateway mentah. Ini memisahkan kebimbangan pengangkutan daripada logik perniagaan, tetapi memerlukan penyelenggaraan templat VTL. Gunakan integrasi tersuai apabila anda mahukan pemisahan kontrak API kepada bahagian belakang yang ketat.
## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
'userId': '$input.params('userId')',
'action': '$inputRoot.action',
'timestamp': '$context.requestTime'
}Integrasi Proksi HTTP
Integrasi HTTP Proxy memajukan permintaan terus kepada titik akhir HTTP luaran (boleh berupa tika EC2, ALB, pelayan di premis atau mana-mana URL awam) tanpa transformasi. API Gateway meneruskan permintaan dan mengembalikan tindak balas bahagian belakang kepada klien. Ini sesuai untuk memindahkan bahagian belakang REST sedia ada ke belakang API Gateway bagi menambahkan pengehad kadar, pemantauan dan kunci API tanpa mengubah kod bahagian belakang. Ia menyokong bahagian belakang HTTPS dengan pengesahan sijil.
# Create HTTP proxy integration via REST API
aws apigateway put-integration \
--rest-api-id 'abc123' \
--resource-id 'xyz789' \
--http-method GET \
--type HTTP_PROXY \
--integration-http-method GET \
--uri 'https://my-backend.example.com/api/users/{userId}'Integrasi HTTP Tersuai (Bukan Proksi)
Integrasi HTTP Tersuai juga memajukan permintaan kepada titik akhir HTTP luaran, tetapi menggunakan templat pemetaan untuk mengubah kedua-dua permintaan yang dihantar kepada bahagian belakang dan tindak balas yang diterima semula. Ini berguna apabila antara muka API Gateway dan API bahagian belakang mempunyai kontrak yang berbeza—anda boleh menterjemahkan panggilan API REST kepada format SOAP legasi atau format tersuai, kemudian mengubah tindak balas bahagian belakang kembali kepada struktur JSON yang bersih untuk klien. Kaedah ini menambahkan kerumitan tetapi memberikan kawalan paling besar untuk integrasi legasi.
Integrasi Perkhidmatan AWS
Integrasi Perkhidmatan AWS menyambungkan API Gateway terus kepada perkhidmatan AWS tanpa perantara Lambda. Contohnya, anda boleh mengkonfigurasi titik akhir POST yang terus menulis mesej kepada SQS, menerbitkan kepada SNS atau memulakan pelaksanaan Step Functions. Ini mengurangkan kependaman dan menghapuskan kos fungsi Lambda untuk operasi penghalaan yang ringkas. Integrasi ini memerlukan konfigurasi peranan IAM dan templat pemetaan untuk memformatkan panggilan API AWS dengan betul.
# Direct API Gateway → SQS integration
# Integration Request URI:
https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
# Integration Request Body Mapping Template:
Action=SendMessage&MessageBody=$input.bodyIntegrasi Mock untuk Pembangunan dan Pengujian
Integrasi Mock mengkonfigurasi API Gateway untuk mengembalikan respons yang telah ditetapkan tanpa memanggil mana-mana bahagian belakang. Anda mentakrifkan respons dalam templat pemetaan respons integrasi. Integrasi Mock amat sesuai untuk: pembangunan API sebelum bahagian belakang dibina (pasukan bahagian hadapan boleh bermula serta-merta), pengujian unit konfigurasi API, pemulangan pengepala CORS standard, atau penyediaan stub untuk rakan kongsi pihak ketiga semasa pembangunan. Titik akhir Mock juga boleh digunakan untuk menyekat versi API yang telah ditamatkan dengan mengembalikan 410 Gone.
# Integration Response for Mock
# Integration Response Mapping Template:
{
'statusCode': 200,
'message': 'This is a mock response',
'timestamp': '$context.requestTime'
}
# Method Response: map status code 200 to this templateKonfigurasi CORS dalam API Gateway
CORS (Perkongsian Sumber Silang Asal) mesti didayakan apabila klien pelayar pada satu domain memanggil API anda pada domain lain. HTTP API mempunyai konfigurasi CORS satu klik; REST API memerlukan anda mencipta kaedah OPTIONS dengan integrasi Mock yang mengembalikan pengepala CORS yang diperlukan (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). Integrasi proksi Lambda juga memerlukan Lambda anda mengembalikan pengepala CORS dalam responsnya.
# HTTP API CORS config (simple)
aws apigatewayv2 update-api \
--api-id 'abc123' \
--cors-configuration '{
"AllowOrigins": ["https://myapp.example.com"],
"AllowMethods": ["GET", "POST", "OPTIONS"],
"AllowHeaders": ["Content-Type", "Authorization"]
}'Pengesahan Permintaan dalam REST API
REST API menyokong pengesahan permintaan: API Gateway boleh mengesahkan bahawa parameter rentetan pertanyaan, pengepala dan skema badan permintaan yang diperlukan wujud serta diformatkan dengan betul—sebelum memanggil bahagian belakang. Ini mengurangkan pemanggilan Lambda yang tidak diperlukan akibat permintaan tidak sah dan mengembalikan ralat 400 yang distandardkan secara automatik. Takrifkan model permintaan menggunakan Skema JSON dan lampirkannya pada kaedah untuk mendayakan pengesahan badan. Pengesahan permintaan tidak tersedia dalam HTTP API.
Had Masa Menunggu Integrasi
API Gateway mempunyai had masa menunggu integrasi lalai selama 29 saat untuk REST API dan HTTP API (maksimum bagi REST API, tetap bagi proksi HTTP API). Jika bahagian belakang anda mengambil masa lebih daripada 29 saat, API Gateway mengembalikan ralat 504 Gateway Timeout. Ini bermakna fungsi Lambda yang dipanggil secara segerak melalui API Gateway mesti selesai dalam masa 29 saat—walaupun Lambda sendiri menyokong had masa menunggu selama 15 minit. Untuk operasi yang mengambil masa panjang, gunakan corak tak segerak: API Gateway mencetuskan Lambda yang memulakan tugas tak segerak dan mengembalikan ID tugas dengan serta-merta.
Memilih Jenis Integrasi yang Tepat
Panduan keputusan untuk jenis integrasi: Proksi Lambda: paling umum, paling mudah, kawalan penuh terhadap permintaan dalam Lambda; Lambda Tersuai: apabila anda memerlukan transformasi permintaan/respons dalam lapisan get laluan; Proksi HTTP: untuk bahagian belakang HTTP sedia ada dan senario migrasi; HTTP Tersuai: untuk penterjemahan format API legasi; Perkhidmatan AWS: untuk menghapuskan Lambda bagi penghalaan mudah ke SQS/SNS/DynamoDB; Mock: untuk stub pembangunan dan prapenerbangan CORS. Untuk peperiksaan SAA-C03, Proksi Lambda dan Proksi HTTP ialah corak yang paling lazim diuji.
Semakan Pantas
Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, anda mempelajari bahawa integrasi Proksi Lambda menghantar keseluruhan permintaan kepada Lambda, yang mengawal respons—integrasi paling mudah dan paling umum; Proksi HTTP memajukan permintaan kepada bahagian belakang HTTP sedia ada untuk menambah ciri API Gateway tanpa mengubah bahagian belakang; dan integrasi Mock mengembalikan respons yang telah ditetapkan untuk pembangunan serta pengujian bahagian hadapan tanpa sebarang infrastruktur bahagian belakang. Seterusnya, kita akan meneroka pemberian kebenaran API Gateway dengan IAM, pemberi kebenaran Lambda dan Cognito.
Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Penyepaduan: Lambda, HTTP dan Olok-olok” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “Penyepaduan: Lambda, HTTP dan Olok-olok”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penyepaduan: Lambda, HTTP dan Olok-olok”?
Sambungkan kaedah API Gateway kepada penyepaduan proksi Lambda, titik akhir HTTP huluan dan penyepaduan olok-olok untuk ujian. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?
Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Penyepaduan: Lambda, HTTP dan Olok-olok” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- API REST berbanding API HTTP berbanding API WebSocket
- Penyepaduan: Lambda, HTTP dan Olok-olok
- Keizinan: IAM, Pemberi Kuasa Lambda dan Cognito
- Pendikitan, Cache dan Pelan Penggunaan