Amazon Web Services AppSync Direct Lambda Resolver を使用して Atlas クラスター上のデータを管理できます。Lambda関数は、 Amazon Web Services AppSync GraphQL APIのリゾルバとして機能し、Atlas クラスター内のデータに対してシームレスなCRUD操作を可能にします。Atlas をAmazon Web Services AppSync と統合することで、スケーラブルなサーバーレスGraphQL API を構築するための強力で柔軟なソリューションが提供されます。
この統合により、複数のデータソースの管理の複雑さが軽減されるだけでなく、最新のアプリケーションアーキテクチャ向けに統合された柔軟なプラットフォームが提供されるため、開発エクスペリエンスが向上します。この統合により、 CRUD操作を処理する場合でも、ペイロードを最適化する場合でも、スケーリング可能で効率的でコスト効果の高いAPIを構築できます。
このページでは、次の手順について説明します。
Serverless Lambda関数とAmazon Web Servicesが管理する AppSync GraphQL API を含む CloudFormationスタックを配置します。
AWS AppSync APIコンソールまたは Postman からクエリを実行中て AppSync APIをテストします。
前提条件
始める前に、次の操作を行う必要があります。
Atlas クラスターの配置
ネットワーク セキュリティとアクセス用にデータベースを構成する
Amazon Web Servicesマネジメントコンソールへのアクセス権を持つAmazon Web Servicesアカウントを設定します
手順
Amazon Web ServicesでサーバーレスLambda関数を作成します。
Amazon Web Servicesマネジメント コンソールにログインし、Amazon Web Services Lambdaコンソール内の左側のサイドバーにある Applications に移動します。
[Create application をクリックし、[ Serverless applicationタブ ]を選択します。
検索バーに「
MongoDB-AppSync-App
」と入力し、チェックボックスをオンにすると、カスタム IAM ロールまたはリソースポリシーを作成するアプリが表示されます。検索結果内の
MongoDB-AppSync-App
アプリをクリックします。Atlas接続文字列をApplication settings の下の AtlasConnectionStringフィールドに貼り付けます。
チェックボックスをオンにして IAM ロールを作成し、Deploy をクリックして CloudFormationスタックを配置します。
CloudFormationスタックによって、次の作成が開始されます。
AppSync APIからのクエリを解決するために必要な重要なロジックを含むLambda関数。
クエリとミューテーションを定義するスキーマを含む AppSync GraphQL API 。これらのクエリとミューテーションは、 CloudFormationスタックによって確立されるLambda関数にリンクされます。
配置が完了したら、 CloudFormationスタックの Outputs セクションに次の内容をコピーします。
GraphQLApiKey
は、 AppSync APIキー ですGraphQLAPIURL
は、AppSync API URLでLambdaFunction
これは、 Lambda関数の ARN です
Lambdaリゾルバ をデータソースとして使用して AppSync APIをテストします。
AppSync API は、 AWS AppSync コンソールまたは Postman を使用してテストできます。
APIリクエストと応答ペイロードは、 MongoDB Atlas Data API (v1)形式である必要があります。各クエリには、必要なリクエストクエリと本体パラメータを含める必要があります。データAPI構文の詳細については、MongoDB Atlas Data API (v1) を参照してください。
Amazon Web Services Management Console にログインし、Amazon Web Services AppSync ページに移動します。
MongoDB-AppSync-SAM_API
へのリンクをクリックします。左側のナビゲーションで [MongoDB-AppSync-SAM_API] の下の [Queries をクリックします。
Queries の下で Explorer(3 番目のアイコン)を選択します。
クエリのタイプを選択し、クエリを入力します。
次のいずれかのタイプのクエリを実行できます。
aggregate
find
およびfindOne
insertOne
およびinsertMany
updateOne
およびupdateMany
deleteOne
およびdeleteMany
inputフィールドにクエリを入力すると、エスケープ文字が自動的にクエリに追加されます。
プレイボタンをクリックしてクエリを実行します。
出力には、エスケープ シーケンス文字が含まれています。エスケープ シーケンスをJSONに変換するロジックをアプリケーションに実装することをお勧めします。
GitHub から という名前の Postmanコレクションをダウンロードします。
postman.json
Postman を開き、Import をクリックします。
ダウンロードした
postman.json
ファイルをインポートする手順を完了します。クエリするには、次の操作を行います。
GraphQLAPIURL
にPOST
リクエストを送信します。GraphQLApiKey
で認証します。
[Try] をクリックしてクエリを実行します。