メニュー
AWS Lambda
開発者ガイド

チュートリアル: モバイルアプリケーションのバックエンドとしての AWS Lambda の使用

このチュートリアルでは、シンプルな Android モバイルアプリケーションを作成します。このチュートリアルの主な目的は、さまざまなコンポーネントをフックして、Android モバイルアプリケーションが Lambda 関数を呼び出し、応答を処理できるようにすることです。アプリ自体は単純で、以下のことを想定します。

  • サンプルモバイルアプリケーションは以下の形式で名前 (姓と名) から成るイベントデータを生成します。

    Copy
    { firstName: 'value1', lastName: 'value2' }
  • Lambda 関数を使用してイベントを処理します。つまり、アプリは (AWS Mobile SDK for Android を使用して) イベントデータを渡して Lambda 関数 (ExampleAndroidEventProcessor) を呼び出します。このチュートリアルの Lambda 関数は以下の処理を行います。

    • Amazon CloudWatch Logs のログに受信イベントデータを記録する。

    • 正常に実行されると、応答の本文で単純な文字列を返す。モバイルアプリは Android Toast クラスを使用してメッセージを表示します。

注記

このチュートリアルに示すように、モバイルアプリケーションが Lambda 関数を呼び出す方法は、AWS Lambda の request-response モデルの一例であり、アプリケーションは Lambda 関数を呼び出し、リアルタイムで応答を受け取ります。詳細については、「プログラミングモデル」を参照してください。

実装の要約

このチュートリアルは大きく 2 つのセクションに分かれています。

  • まず、Lambda 関数の作成に必要なセットアップを実行し、サンプルイベントデータを使用して手動でその関数を呼び出すことでテストします (Lambda 関数のテストにモバイルアプリは不要)。

  • 次に、Amazon Cognito ID プールを作成して認証とアクセス権限を管理し、Android アプリケーションの例を作成します。続いて、アプリケーションを実行し、Lambda 関数を呼び出します。その後、エンドツーエンドのエクスペリエンスを確認できます。このチュートリアルの例:

    • Amazon Cognito サービスを使用して、ユーザー ID、認証、アクセス権限を管理できます。モバイルアプリケーションには、Lambda 関数を呼び出す有効なセキュリティ認証情報とアクセス権限が必要です。アプリケーション設定の一環として、Amazon Cognito ID プールを作成してユーザー ID を保存し、アクセス権限を定義します。詳細については、「Amazon Cognito」を参照してください。

    • このモバイルアプリケーションでは、ユーザーがログインする必要がありません。モバイルアプリケーションでは、ユーザーが Amazon や Facebook などのパブリック ID プロバイダーを使用してログインするよう要求できます。このチュートリアルの対象は限定されており、モバイルアプリケーションユーザーは認証されていないものとします。したがって、Amazon Cognito ID プールを設定するとき、以下の操作を行います。

      • 認証されていない ID 用のアクセスを有効にします。

        Amazon Cognito には、Lambda 関数を呼び出すこれらのユーザー向けに、一意の識別子と一時的な AWS 認証情報が用意されています。

      • 認証されていないユーザー用に、Lambda ロールと関連付けられたアクセス権限ポリシーで、IAM 関数を呼び出すためのアクセス権限を追加します。ID プールには関連する 2 つの IAM ロールがあります。1 つは、認証されたアプリケーションユーザー用で、もう 1 つは認証されていないアプリケーションユーザー用です。この例では、Amazon Cognito は認証されていないユーザーが一時的な認証情報を取得するためのロールを引き受けます。アプリがこれらの一時的な認証情報を使用して Lambda 関数を呼び出せるのは、必要なアクセス権限がある場合のみです (つまり、認証情報が有効であっても、さらにアクセス権限が必要です)。そのためには、Amazon Cognito が一時的な認証情報を取得するために使用するアクセス権限ポリシーを更新します。

次の図はアプリケーションフローを示しています。

これで、チュートリアルを開始する準備ができました。

次のステップ

ステップ 1: 準備

このページの内容: