0Pricing
Serverless AWS Lambda Development · レッスン

API GatewayによるLambdaの呼び出し

API GatewayをLambda関数のHTTPエンドポイントとして設定し、Webリクエストを処理してRESTful APIを構築できるようにします。

「API GatewayによるLambdaの呼び出し」はCoddyKit上の無料Serverless AWS Lambda Developmentレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはServerless AWS Lambda Development学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Serverless AWS Lambda Developmentコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Your Lambda's Front Door

Imagine you have a fantastic serverless function, but how do people access it from a web browser or another application? That's where Amazon API Gateway comes in!

API Gateway acts as the "front door" for your applications. It's a fully managed service that helps developers create, publish, maintain, monitor, and secure APIs at any scale.

Why Pair API Gateway with Lambda?

Lambda functions are great for running code without managing servers. But by themselves, they don't have public HTTP endpoints accessible over the internet.

API Gateway provides these endpoints, transforming simple Lambda functions into powerful, accessible web services. This combination is a core pattern for building serverless RESTful APIs.

Turning Lambda into an HTTP Endpoint

When you integrate Lambda with API Gateway, API Gateway handles the incoming HTTP request and routes it to your Lambda function. After your Lambda processes the request and returns a response, API Gateway takes that response and sends it back to the client.

  • Client Request: Browser or app sends HTTP request.
  • API Gateway: Receives, authenticates, and routes request.
  • Lambda Invocation: API Gateway triggers your Lambda.
  • Lambda Response: Lambda processes and returns data.
  • Client Response: API Gateway formats and sends response back.

Simplified Lambda Proxy Integration

One of the most common ways to integrate Lambda with API Gateway is using Lambda Proxy Integration.

With proxy integration, API Gateway passes the raw HTTP request data (like headers, body, query parameters) directly to your Lambda function. Your Lambda then returns a response in a specific format that API Gateway understands, which it then uses to create the HTTP response for the client.

Building an API-Ready Lambda

For API Gateway's proxy integration, your Lambda function needs to expect an event object containing HTTP request details and return an object with statusCode, headers, and body.

Let's look at a simple Python example:

import json

def lambda_handler(event, context):
    # Log the incoming event for debugging
    print(f"Received event: {event}")

    # Extract path parameter if available
    name = "World"
    if event.get('pathParameters') and 'name' in event['pathParameters']:
        name = event['pathParameters']['name']

    # Construct the response body
    response_message = f"Hello, {name} from CoddyKit Lambda!"

    # API Gateway expects a specific response format
    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps(response_message)
    }

Lambda Response Format

The Python Lambda function we saw returns a dictionary. API Gateway uses this dictionary to construct the HTTP response sent back to the client.

  • statusCode: The HTTP status code (e.g., 200 for success).
  • headers: A dictionary of HTTP response headers.
  • body: The actual response content, which must be a string (often JSON stringified).

This strict format ensures API Gateway can correctly translate your Lambda's output into a standard HTTP response.

Setting Up the API Endpoint

To connect your Lambda function, you'd typically:

  1. Create a new REST API in API Gateway.
  2. Define a Resource (e.g., /hello or /hello/{name} for path parameters).
  3. Add a Method (e.g., GET) to your resource.
  4. Configure the method to use Lambda Proxy Integration, pointing to your Lambda function.
  5. Grant API Gateway permission to invoke your Lambda.

These steps create the bridge between your HTTP request and your serverless function.

Deploying Your API

After configuring your API Gateway resources and methods, you need to deploy the API to a stage.

A stage is a logical reference to a lifecycle state of your API (e.g., dev, test, prod). Deploying creates a publicly accessible URL for your API, like https://abcdefg.execute-api.us-east-1.amazonaws.com/dev/hello.

You can then use this URL to send HTTP requests to your Lambda function.

Invoking Your New API

Once deployed, you can test your API endpoint using tools like a web browser, curl, or Postman.

For example, if your API is deployed to /dev/hello/{name}, you could visit:

  • https://your-api-id.execute-api.region.amazonaws.com/dev/hello/Coddy

This would invoke your Lambda, which would then return a "Hello, Coddy from CoddyKit Lambda!" message.

API Gateway Integration Check

You've learned how API Gateway acts as a front door for Lambda. Let's test your understanding of how these services work together.

Recap: API Gateway & Lambda

In this lesson, we discovered how Amazon API Gateway transforms your Lambda functions into accessible HTTP endpoints. You learned:

  • API Gateway acts as the "front door" for serverless applications.
  • Lambda Proxy Integration simplifies passing requests and responses.
  • The specific response format your Lambda needs to return.
  • The conceptual steps to define, deploy, and test your API.

This powerful combination is fundamental for building serverless web APIs!

よくある質問

「API GatewayによるLambdaの呼び出し」レッスンは無料ですか?

はい。「API GatewayによるLambdaの呼び出し」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Serverless AWS Lambda Developmentコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Serverless AWS Lambda Developmentコースには全4レッスンが含まれています。

「API GatewayによるLambdaの呼び出し」で何を学びますか?

API GatewayをLambda関数のHTTPエンドポイントとして設定し、Webリクエストを処理してRESTful APIを構築できるようにします。 ブラウザで直接実行するハンズオンコードでServerless AWS Lambda Developmentを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Serverless AWS Lambda Developmentを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのServerless AWS Lambda Developmentは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「API GatewayによるLambdaの呼び出し」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このServerless AWS Lambda Developmentレッスンでコードを書いて実行できますか?

はい。すべてのServerless AWS Lambda Developmentレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. イベント駆動アーキテクチャの基本
  2. API GatewayによるLambdaの呼び出し
  3. S3とSQSのイベントトリガー
  4. EventBridgeによるスケジュール実行
← Serverless AWS Lambda Developmentに戻る