AWS Amplify:如何使用 API_KEY 进行测试和开发

AWS Amplify: how to use API_KEY for test and development purpose

我正在为我的项目使用 amplify。 我启用了 cognito 和 API_KEY 授权,并添加了以下功能来代替 amplify-cli'graphqlOperation'

function graphqlOperationWithAPIKey(query, variables) {
    return {query: query, variables: variables, authMode: 'API_KEY'}
}

我正在打电话:

const response = await API.graphql(graphqlOperationWithAPIKey(mutations.createContract, {input: mockContract}))

但是我收到以下错误:

Failed: Object {
  "data": Object {
    "createContract": null,
  },
  "errors": Array [
    Object {
      "data": [Object],
      "errorInfo": [Object],
      "errorType": "Unauthorized",
      "locations": [Array],
      "message": "Not Authorized to access createContract on type Mutation",
      "path": [Array],
    },
  ],
}

这是我的架构:

type Contract @model {
  id: ID!    
  rental: Car @connection

  from: AWSDate!
  to: AWSDate!
  tenants: [String!]! 
  status: ContractStatus!
}

有人可以帮我完成这项工作吗?

不知道是不是bug, 如果我将它添加到模式,下面的工作,但 @aws_key 不工作(即使根据 doc 也应该工作)

@auth (
  rules: [
    { allow: public, provider: apiKey }
  ]
)