雑食日誌スマートフォン用の表示で見る雑食日誌Vue.jsとServerless。GraphQLはじめにある案件でAppSyncを使うことになったが、商用利用の事例が少なくデプロイ方法がわからなかった。FrameworkのAppSyncプラグインがあったので使ってみた。AppSyncとはAppSyncはAWSで利用できるGraphQLベースのマネージドサービスである。特徴としてバックエンドサービスを自由に切り替えることができるGraphQLベースのため、フロントエンドに必要なデータを定義できるなどがある。バックエンドにはLambdaやDynamoDB、HTTPなど多様なリソースを選択できる。今回の案件では以下の条件があった。現状AppSyncを商用利用して、デプロイするためには以下の手段が考えられた。CLIを使うCloudFormationを使ってデプロイするためにはYaml地獄と戦い、トライアンドエラーを繰り返す必要がある。時間的猶予がなかったため却下した。CLIはコマンド一つでAWSリソースを作ることができる強者である。以下の懸念点があった。CLIを使用しなかった。他に良いデプロイ方法はないか探していたら、以下の記事に遭遇し、ServerlessFrameworkのAppSyncプラグインを知った。Frameworkを使う予定があったので、試してみたら思いのほか手軽だった。ここからは実際にデプロイした手順を記録していく。FrameworkでAppSyncデプロイ今回はAppSyncのバックエンドにLambdaを使用する。SchemaにはブログWebアプリケーションを想定に実装する。サンプルはGitHubにもあげているので併せてみていただきたい。github.comCLIインストールNPMでインストールする。serverlessプロジェクト初期化プロジェクトを初期化する。オプションが必要である。種類は以下に詳細が記載されている。CloudFormationのもとになるYaml定義。Lambdaを使用する場合の実行ファイルのため、AppSyncのデプロイだけでは不要である。プラグインを管理していく。"ISC"}AppSyncプラグインをインストールする。-v"},これでデプロイを実行する準備が整った。整えながら、AppSyncの設定を加えていく。Framework共通設定はじめに基本設定を記述していく。開くと例が記載されているが、今回必要な部分は少ないので消す。デプロイ環境の総称となる。今回はプロジェクトのディレクトリ名を使用する。Providers(AWS)およびリージョンの設定をする。インストールしたAppSyncのプラグインを記述する。Cognitoを選択する。Schemaの詳細を以下に記載する。SourcesバックエンドにはLambdaを使用するため、二つのARNが必要になる。反映すると以下になる。Templatesを整える。ディレクトリに格納することでAppSyncに反映する仕組みになっている。Templatesは共通化させて設定した。ディレクトリ以下に格納する。ディレクトリ名は変更することもできる。反映すると以下のようになる。登録したコマンドでデプロイを実行する。ARNを仮で記載しているので、編集してから実行する。追加することで、実行の詳細を確認することができる。ファイルをコンパイルして、CloudFormationに変換し、S3バケットに格納する。ディレクトリにも保存される。S3に格納されたら、CloudFormationが実行され、定義したAWSリソースが生成される。GraphQLのバックエンド実装は以下の方法があります。2018の4日目の記事です。月別アーカイブはてなブログをはじめよう!keinumataさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。