首页 > 解决方案 > 如何在 AppSync 突变上生成 Slug

问题描述

我有一个突变来创建一个新的Event. 但是,我希望能够Event使用友好的 id 或 slug 而不是id. 理想情况下,这将使用city输入中的字段来生成 slug。但是,每个作者的每个 slug 都必须是唯一的

如何在基于城市名称和唯一性(每个作者)的突变中生成友好的 slug?

架构

type Event {
    id: ID!
    subtitle: String!
    city: String!
    author: String!
    created: AWSDateTime
}

突变.CreateEvent

#set( $attribs = $util.dynamodb.toMapValues($ctx.args.input))
#set( $attribs.author = $util.dynamodb.toDynamoDB($ctx.identity.username))
#set( $attribs.created = $util.dynamodb.toDynamoDB($util.time.nowFormatted("yyyy-MM-dd HH:mm:ssZ")))
{
  "version": "2017-02-28",
  "operation": "PutItem",
  "key": {
    "id": $util.dynamodb.toDynamoDBJson($util.autoId()),
  },
  "attributeValues": $util.toJson($attribs),
  "condition": {
    "expression": "attribute_not_exists(#id)",
    "expressionNames": {
      "#id": "id",
    },
  },
}

```

标签: aws-appsync

解决方案


推荐阅读