使用无服务器框架设置 AppSyncAPI 时,是否可以在单个文件中包含多个速度模板?
When setting up an AppSyncAPI with serverless-framework is it possible to have more than one velocity template in a single file?
按照存储库上的说明进行操作 https://github.com/sid88in/serverless-appsync-plugin 我能够成功设置 AWS AppSyncAPI,但最终我得到了很多映射模板,例如。 customer-create.vtl,因为每个域对象都需要一个请求和响应 .vtl 文件才能在 serverless.yml 上引用。
我想知道是否可以在一个文件中放置多个模板?
我的意思是,不是让 customer-create.vtl 和 customer-delete.vtl 将这两个内容粘贴到一个文件中,例如 customer.vtl 然后通过 [=26 指向模板=] 名字.
已经尝试过,但没有成功:
{"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
遗憾的是,目前 AppSync 无法做到这一点。不过,我已将此记录为服务的功能请求,并将在未来的版本中将其带回团队以确定优先级。
感谢反馈!
按照存储库上的说明进行操作 https://github.com/sid88in/serverless-appsync-plugin 我能够成功设置 AWS AppSyncAPI,但最终我得到了很多映射模板,例如。 customer-create.vtl,因为每个域对象都需要一个请求和响应 .vtl 文件才能在 serverless.yml 上引用。
我想知道是否可以在一个文件中放置多个模板?
我的意思是,不是让 customer-create.vtl 和 customer-delete.vtl 将这两个内容粘贴到一个文件中,例如 customer.vtl 然后通过 [=26 指向模板=] 名字.
已经尝试过,但没有成功:
{"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
遗憾的是,目前 AppSync 无法做到这一点。不过,我已将此记录为服务的功能请求,并将在未来的版本中将其带回团队以确定优先级。
感谢反馈!