0Pricing
Cloud & IT Cert Prep · Ders

Entegrasyonlar: Lambda, HTTP ve Taklit

API Gateway yöntemlerini test amacıyla Lambda proxy entegrasyonlarına, üst akış HTTP uç noktalarına ve taklit entegrasyonlarına bağlayacaksınız.

Entegrasyonlar: Lambda, HTTP ve Taklit, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

API Gateway Entegrasyon Türlerine Genel Bakış

Her API Gateway yönteminin bir arka uç entegrasyonuna (isteği işleyen ve yanıt döndüren sisteme) ihtiyacı vardır. API Gateway beş entegrasyon türünü destekler: Lambda Proxy, Lambda Custom, HTTP Proxy, HTTP Custom ve Mock. HTTP API'ler yalnızca Lambda Proxy ve HTTP Proxy'yi destekler. REST API'ler beş türün tümünü destekler. Doğru entegrasyonu seçmek, istek ve yanıt dönüştürme üzerinde ne kadar denetiminiz olacağını belirler.

Lambda Proxy Entegrasyonu

Lambda Proxy entegrasyonunda API Gateway, HTTP isteğinin tamamını üst bilgiler, sorgu dizeleri, yol parametreleri, gövde ve bağlamı içeren yapılandırılmış bir olay nesnesi olarak Lambda'ya iletir. Lambda işleviniz, statusCode, headers ve body içeren, uygun biçimde düzenlenmiş bir yanıt nesnesi döndürmekten sorumludur. Bu, en basit ve en yaygın modeldir; eşleme şablonlarına gerek yoktur ve yanıtın tamamını Lambda denetler.

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"}'
    }

Lambda Proxy Olmayan (Özel) Entegrasyon

Lambda Proxy Olmayan (özel) entegrasyonda API Gateway, isteği Lambda'ya göndermeden önce dönüştürmek ve Lambda'nın yanıtını istemciye döndürmeden önce yeniden dönüştürmek için eşleme şablonlarını (Apache Velocity Template Language, VTL) kullanır. Lambda işleviniz ham API Gateway olayı yerine temiz ve özel bir yük alır. Bu yaklaşım, taşıma konularını iş mantığından ayırır; ancak VTL şablonlarının bakımını gerektirir. API ile arka uç arasındaki sözleşmenin kesin biçimde ayrılmasını istediğinizde özel entegrasyon kullanın.

## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
  'userId': '$input.params('userId')',
  'action': '$inputRoot.action',
  'timestamp': '$context.requestTime'
}

HTTP Proxy Entegrasyonu

HTTP Proxy entegrasyonu, istekleri dönüştürmeden doğrudan bir harici HTTP uç noktasına (EC2 bulut sunucusu, ALB, şirket içi sunucu veya herkese açık herhangi bir URL olabilir) iletir. API Gateway isteği olduğu gibi aktarır ve arka ucun yanıtını istemciye döndürür. Bu yöntem, arka uç kodunu değiştirmeden hız sınırlama, izleme ve API anahtarları eklemek amacıyla mevcut REST arka uçlarını API Gateway'in arkasına taşımak için idealdir. Sertifika doğrulamalı HTTPS arka uçlarını destekler.

# 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}'

HTTP Özel (Proxy Olmayan) Entegrasyon

HTTP Custom entegrasyonu da harici bir HTTP uç noktasına iletim yapar; ancak hem arka uca giden isteği hem de geri dönen yanıtı dönüştürmek için eşleme şablonlarını kullanır. Bu, API Gateway arayüzü ile arka uç API'sinin farklı sözleşmelere sahip olduğu durumlarda yararlıdır. REST API çağrısını eski bir SOAP veya özel biçime dönüştürebilir, ardından arka uç yanıtını istemci için temiz bir JSON yapısına dönüştürebilirsiniz. Bu yaklaşım karmaşıklık katar, ancak eski entegrasyonlar için en fazla denetimi sağlar.

AWS Hizmeti Entegrasyonu

AWS Service entegrasyonu, API Gateway'i arada bir Lambda olmadan doğrudan AWS hizmetlerine bağlar. Örneğin bir POST uç noktasını, bir iletiyi doğrudan SQS'ye yazacak, SNS'ye yayımlayacak veya bir Step Functions yürütmesini başlatacak şekilde yapılandırabilirsiniz. Bu, basit yönlendirme işlemlerinde gecikmeyi azaltır ve Lambda işlevi maliyetlerini ortadan kaldırır. Entegrasyon, IAM rolü yapılandırması ve AWS API çağrısını doğru biçimde biçimlendirmek için eşleme şablonları gerektirir.

# 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.body

Geliştirme ve Test için Mock Entegrasyonu

Mock entegrasyonu, herhangi bir arka ucu çağırmadan önceden tanımlanmış bir yanıt döndürmesi için API Gateway'i yapılandırır. Yanıtı, entegrasyon yanıtı eşleme şablonunda tanımlarsınız. Mock entegrasyonları şu durumlar için idealdir: arka uç oluşturulmadan önce API geliştirme (ön yüz ekipleri hemen çalışmaya başlayabilir), API yapılandırmalarını birim testine tabi tutma, standart CORS üst bilgilerini döndürme veya geliştirme sırasında üçüncü taraf iş ortakları için bir taslak sağlama. Mock uç noktaları, 410 Gone döndürerek kullanımdan kaldırılmış API sürümlerini engellemek için de kullanılabilir.

# 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 template

API Gateway'de CORS Yapılandırması

CORS (Cross-Origin Resource Sharing), bir etki alanındaki tarayıcı istemcisi başka bir etki alanındaki API'nizi çağırdığında etkinleştirilmelidir. HTTP API'de tek tıklamayla CORS yapılandırması bulunur; REST API'de ise gerekli CORS üst bilgilerini (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers) döndüren bir Mock entegrasyonuna sahip OPTIONS yöntemi oluşturmanız gerekir. Lambda proxy entegrasyonunda da Lambda işlevinizin yanıtında CORS üst bilgilerini döndürmesi gerekir.

# 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"]
  }'

REST API'de İstek Doğrulama

REST API, istek doğrulamayı destekler: API Gateway, arka ucu çağırmadan önce gerekli sorgu dizesi parametrelerinin, üst bilgilerin ve istek gövdesi şemasının mevcut ve doğru biçimlendirilmiş olduğunu doğrulayabilir. Bu, hatalı biçimlendirilmiş isteklerden kaynaklanan gereksiz Lambda çağrılarını azaltır ve standartlaştırılmış 400 hatalarını otomatik olarak döndürür. Gövde doğrulamasını etkinleştirmek için JSON Schema kullanarak bir istek modeli tanımlayın ve bunu yönteme bağlayın. İstek doğrulama HTTP API'de kullanılamaz.

Entegrasyon Zaman Aşımları

API Gateway'in REST API ve HTTP API için varsayılan entegrasyon zaman aşımı 29 saniyedir (REST API için en fazla, HTTP API proxy'si için sabittir). Arka ucunuzun çalışması 29 saniyeden uzun sürerse API Gateway 504 Gateway Timeout hatası döndürür. Bu, API Gateway üzerinden eşzamanlı olarak çağrılan Lambda işlevlerinin, Lambda'nın kendisi 15 dakikalık zaman aşımlarını desteklese bile, 29 saniye içinde tamamlanması gerektiği anlamına gelir. Uzun süren işlemler için eşzamansız bir düzen kullanın: API Gateway Lambda'yı tetikler, Lambda eşzamansız bir iş başlatır ve hemen bir iş kimliği döndürür.

Doğru Entegrasyon Türünü Seçme

Entegrasyon türleri için karar kılavuzu: Lambda Proxy: en yaygın ve en basit seçenek; Lambda'da istek üzerinde tam denetim sağlar; Lambda Custom: ağ geçidi katmanında istek/yanıt dönüşümüne ihtiyaç duyduğunuzda; HTTP Proxy: mevcut HTTP arka uçları ve geçiş senaryoları için; HTTP Custom: eski API biçimlerini dönüştürmek için; AWS Service: SQS/SNS/DynamoDB'ye basit yönlendirme için Lambda kullanımını ortadan kaldırmak amacıyla; Mock: geliştirme taslakları ve CORS ön denetimi için. SAA-C03 sınavında Lambda Proxy ve HTTP Proxy en sık test edilen düzenlerdir.

Hızlı Kontrol

Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: Lambda Proxy entegrasyonu isteğin tamamını Lambda'ya iletir ve yanıtı Lambda denetler; bu, en basit ve en yaygın entegrasyondur. HTTP Proxy, arka ucu değiştirmeden API Gateway özellikleri eklemek için istekleri mevcut HTTP arka uçlarına iletir. Mock entegrasyonu ise herhangi bir arka uç altyapısı olmadan ön yüz geliştirme ve test için önceden tanımlanmış yanıtlar döndürür. Sırada API Gateway'de IAM, Lambda yetkilendiricileri ve Cognito ile yetkilendirmeyi inceleyeceğiz.

Sıkça Sorulan Sorular

“Entegrasyonlar: Lambda, HTTP ve Taklit” dersi ücretsiz mi?

Evet — “Entegrasyonlar: Lambda, HTTP ve Taklit” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

“Entegrasyonlar: Lambda, HTTP ve Taklit” dersinde ne öğreneceğim?

API Gateway yöntemlerini test amacıyla Lambda proxy entegrasyonlarına, üst akış HTTP uç noktalarına ve taklit entegrasyonlarına bağlayacaksınız. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Entegrasyonlar: Lambda, HTTP ve Taklit” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. REST API ve HTTP API ve WebSocket API
  2. Entegrasyonlar: Lambda, HTTP ve Taklit
  3. Yetkilendirme: IAM, Lambda Yetkilendiricileri ve Cognito
  4. Kısıtlama, Önbelleğe Alma ve Kullanım Planları
← Cloud & IT Cert Prep Sayfasına Dön