AWS Amplify:如何让User模型的ID与Owner ID保持一致?
实现User模型ID与Owner ID相等的方案
你当前的Schema写法已经可以实现需求,具体说明如下:
- 使用
@default(value: @owner)指令,在创建User记录时,会自动将当前已认证用户的ID赋值给id字段,保证id始终与Owner ID一致。
如果需要进一步防止id字段被后续修改,可以给id添加@readonly指令,确保该字段仅在创建时赋值,无法通过更新操作篡改:
type User @model { id: ID! @default(value: @owner) @readonly # 锁定ID与Owner ID一致且不可修改 name: String! description: String birthday: AWSDateTime }
关键注意点
@owner指令依赖AWS Amplify的认证上下文,只有用户完成认证(比如通过Cognito)后,该指令才能正确获取用户ID。- 采用这种方式创建的User记录,
id字段会直接关联创建者的用户ID,无需手动传入值。
内容的提问来源于stack exchange,提问作者seikida
相关产品推荐
相关产品推荐

