按照存储库https://github.com/sid88in/serverless-appsync-plugin上的说明,我能够成功设置AWS AppSyncAPI,但是最终我得到了很多映射模板,例如。 customer-create.vtl,因为每个域对象都需要在serverless.yml上引用请求和响应.vtl文件。
我想知道是否可以在一个文件中放置多个模板?
我的意思是,不是让customer-create.vtl和customer-delete.vtl将这两个内容粘贴到单个文件(例如customer.vtl)中,然后通过属性名称指向模板。
尝试过此方法,但没有成功:
{"create":{
"version": "2017-02-28",
"operation": "PutItem",
"key": {
"customerId": $util.dynamodb.toDynamoDBJson($ctx.identity.username),
"attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input),
},
},
"delete":{
"version": "2017-02-28",
"operation": "DeleteItem",
"key": {
"customerId": $util.dynamodb.toDynamoDBJson($ctx.args.input.customerId)
},
}
}
mappingTemplates:
# Customer
- dataSource: Dynamo_customer
type: Mutation
field: createCustomer
request: ${file(customer-templates.vtl):create}
response: common-response.vtl
- dataSource: Dynamo_customer
type: Mutation
field: deleteCustomer
request: ${file(customer-templates.vtl):delete}
response: common-response.vtl
- dataSource: Dynamo_customer
答案 0 :(得分:1)
不幸的是,目前AppSync无法做到这一点。不过,我已经注意到这是对服务的功能要求,并将在以后的版本中将其带回给团队进行优先级排序。
感谢您的反馈!