При настройке AppSyncAPI с помощью serverless-framework возможно ли иметь более одного шаблона скорости в одном файле? - PullRequest
0 голосов
/ 13 января 2019

Следуя инструкциям в репозитории https://github.com/sid88in/serverless-appsync-plugin Мне удалось успешно установить AWS AppSyncAPI, но получается, что я получаю много картографических шаблонов, например. customer-create.vtl, поскольку каждому объекту домена нужен файл запроса и ответа .vtl для ссылки на serverless.yml.

Интересно, можно ли поместить более одного шаблона в один файл?

Я имею в виду, вместо того, чтобы 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

1 Ответ

0 голосов
/ 13 января 2019

К сожалению, в настоящее время это невозможно с AppSync. Однако я отметил это как запрос функции для службы и верну его команде для определения приоритетов в следующем выпуске.

Спасибо за отзыв!

...