Graphql $util.transform.toDynamoDBFilterExpression

Graphql $util.transform.toDynamoDBFilterExpression,graphql,aws-appsync,Graphql,Aws Appsync,你怎么用这个 从这里开始: 我试图基本上做到这一点: { "version": "2017-02-28", "operation": "Scan", "filter" : { $util.transform.toDynamoDBFilterExpression({ PartitionKey:{ begins_with:"Model" } }), } } 那不行。如何将此命令精确地装

你怎么用这个

从这里开始:

我试图基本上做到这一点:

{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : {
      $util.transform.toDynamoDBFilterExpression({
        PartitionKey:{
            begins_with:"Model"
        }
      }),
    }
}

那不行。如何将此命令精确地装入解析器?

TLDR:如果您有一个类型

type Post { id: ID! title String! }
然后util.transform.TodynamodFilterExpression会期望您提供的值如下所示:

{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression(
      {
        id: {
          beginsWith:"Model"
        }
      }
   )
}
{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression({
        PartitionKey:{
            beginsWith:"Model"
        }
      })
}
$util.transform实用程序函数设计用于一个名为GraphQL transform的新项目,该项目刚刚作为AWS Amplify的一部分发布。要点是,一组客户机工具采用一个用GraphQL指令注释的简化输入模式,并通过一系列“转换器”将其“转换”为完全描述性的CloudFormation文档(以及将来的其他输出格式)。该CF文档完全实现了由模式和转换器集定义的应用程序(您可以自己编写自定义工作流)

您可以在此处阅读有关该项目的更多信息()


关于如何在这里编写您自己的变压器()

TLDR:如果您有一个类型

type Post { id: ID! title String! }
然后util.transform.TodynamodFilterExpression会期望您提供的值如下所示:

{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression(
      {
        id: {
          beginsWith:"Model"
        }
      }
   )
}
{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression({
        PartitionKey:{
            beginsWith:"Model"
        }
      })
}
$util.transform实用程序函数设计用于一个名为GraphQL transform的新项目,该项目刚刚作为AWS Amplify的一部分发布。要点是,一组客户机工具采用一个用GraphQL指令注释的简化输入模式,并通过一系列“转换器”将其“转换”为完全描述性的CloudFormation文档(以及将来的其他输出格式)。该CF文档完全实现了由模式和转换器集定义的应用程序(您可以自己编写自定义工作流)

您可以在此处阅读有关该项目的更多信息()


关于如何在这里编写自己的变压器()

您不需要额外的括号。正确的语法是“beginsWith”。 因此,您的示例应该如下所示:

{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression(
      {
        id: {
          beginsWith:"Model"
        }
      }
   )
}
{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression({
        PartitionKey:{
            beginsWith:"Model"
        }
      })
}
对于其他比较,请使用:

不平等 等式:等于 le:更低或相等 lt:低于 ge:大于或等于 gt:大于 包含:包含(用于数组或字符串) notContains:不包含(相同、数组或字符串) between:between(需要两个参数)
beginsWith:以

开始,您不需要额外的括号。正确的语法是“beginsWith”。 因此,您的示例应该如下所示:

{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression(
      {
        id: {
          beginsWith:"Model"
        }
      }
   )
}
{
    "version": "2017-02-28",
    "operation": "Scan",
    "filter" : $util.transform.toDynamoDBFilterExpression({
        PartitionKey:{
            beginsWith:"Model"
        }
      })
}
对于其他比较,请使用:

不平等 等式:等于 le:更低或相等 lt:低于 ge:大于或等于 gt:大于 包含:包含(用于数组或字符串) notContains:不包含(相同、数组或字符串) between:between(需要两个参数)
开始:开始于

如果我只想让它“等于”或“不等于”某个东西怎么办?如果我只想让它“等于”或“不等于”某个东西怎么办?