You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Amplify的GraphiQL或AppSync中添加带授权所有者的模拟数据

故障原因确认

你的判断完全正确,该故障就是因为创建数据时的身份和删除时的testUser身份不匹配导致的。
你配置的@auth所有者规则会自动为创建的资源绑定当前请求发起者的用户ID作为owner字段值,你用GraphiQL默认通用身份创建数据时,owner不会自动关联到testUser的ID,删除时的权限校验规则要求owner必须和当前登录用户ID一致,所以触发了报错里的条件表达式校验失败。


两种解决方法

方法1:通过GraphiQL认证弹窗配置(推荐)

就是你截图里的认证配置窗口,按以下步骤操作:

  • 先获取testUser的所有者ID:报错里的fd2a7758-f7ba-4d57-bdb0-e5346492就是testUser的ID,你也可以在前端登录testUser后执行await Auth.currentAuthenticatedUser(),返回结果里的sub字段就是所有者ID。
  • 打开GraphiQL顶部的Auth设置弹窗,在owner输入框填入上面拿到的testUser ID,保存配置。
  • 之后再执行createXYZ mutation,生成的数据会自动绑定该ID作为owner,后续用testUser登录就可以正常删除。

方法2:直接在mutation中手动传入owner字段

你可以在创建数据的mutation参数里显式指定owner值,无需调整GraphiQL全局配置,示例代码如下:

mutation CreateTestXYZ {
  createXYZ(input: {
    # 填入其他需要的字段值
    owner: "fd2a7758-f7ba-4d57-bdb0-e5346492"
  }) {
    id
    owner
    # 其他需要返回的字段
  }
}

执行后可以直接从返回结果里确认owner字段是否正确。


内容的提问来源于stack exchange,提问作者ezeYaniv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:45:02