sid88in / serverless-appsync-plugin

serverless plugin for appsync
MIT License
950 stars 186 forks source link

AWS_LAMBDA resolver example for 2.0.0-alpha.15 #551

Closed erolabzait closed 1 year ago

erolabzait commented 1 year ago

Can you please provide an example of a lambda resolver.

I tried this https://github.com/serverless-appsync/serverless-appsync-plugin-example but it breaks with the latest release (^2.0.0-alpha.15)

I get this errors:

Error:
Invalid AppSync Configuration:
     at appSync/resolvers: must be object
     at appSync/resolvers/0/Query.getPost: must have required property 'functions'
     at appSync/resolvers/0/Mutation.createPost: must be object
     at appSync/resolvers/0/Mutation.updatePost: must have required property 'functions'
     at appSync/resolvers/0/Mutation.updatePost/request: must be string
     at appSync/resolvers/0/Mutation.updatePost/response: must be string
     at appSync/resolvers: contains invalid resolver definitions

I'm more interested in Mutation.updatePost

erolabzait commented 1 year ago

Found the issue.

To use direct lambda, set kind to UNIT and don't specify request and response (only works with Lambda function data sources).

Mutation.updatePost:
  kind: UNIT # this needs to be here
  dataSource:
    type: AWS_LAMBDA
    config:
      function:
        handler: src/updatePost.handler
        iamRoleStatements:
          - Effect: 'Allow'
            Action:
              - dynamodb:UpdateItem
            Resource: !GetAtt Posts.Arn