0
0

More than 3 years have passed since last update.

【AppSync】Amplify push でAppSyncのフィールドにリゾルバを追加する

Last updated at Posted at 2021-06-07

Amplify+AppSyncの話です。
AppSyncのフィールドにリゾルバを付けるに当たって、少し詰まったので備忘録

Amplify pushでAPIを作っていく際、amplify/backend/api/appName/stacks配下にCloudFormationのテンプレートを置かないと、AppSyncのコンソールからリゾルバを追加してもAmplify pushを叩いたタイミングで消えちゃいます。
なんでamplify/backend/api/appName/stacks配下にリゾルバ追加用のテンプレートを追加することに

下記のようなスキーマのhogeにリゾルバを当てたい場合、

type Sample @model{
  hoge: String!
  huga: String!#こいつにリゾルバを当てたい
  hogehoge: String!
}

CloudFormationのテンプレートで追加する場合、"Resources"の下に下記を追加することで
Amplify push時にリゾルバを追加することができました。

"hugaField": {
    "Type": "AWS::AppSync::Resolver",
    "Properties": {
        "ApiId": {
            "Ref": "AppSyncApiId"
        },
        "DataSourceName": "SampleTable",
        "TypeName": "Sample",
        "FieldName": "huga",
        "RequestMappingTemplateS3Location":"リクエストマッピングテンプレート",
        "ResponseMappingTemplateS3Location":"レスポンスマッピングテンプレート"
    }
}

CloudFormationからQueryにリゾルバを付与するやり方を考えてみれば当たり前のことでした。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0