向DynamoDB表添加项后AWS Amplify Admin UI无展示问题咨询
解决方法
- 先确认写入的DynamoDB表与Admin UI当前所属环境匹配:Amplify自动生成的DynamoDB表名会携带API标识和环境标识,格式通常为
{模型名}-{API唯一ID}-{环境名},不要直接使用纯模型名作为写入目标表名。 - 优先使用Amplify官方API写入数据:使用Amplify DataStore API或者AppSync GraphQL接口写入数据,接口会自动补全所有系统必填字段、触发同步逻辑,写入后Admin UI即可正常展示,不推荐直接调用原生DynamoDB接口写入。
- 若必须使用boto3的
put_item方法写入,需要补全Amplify要求的所有系统元字段,参考修改后的代码如下:
import boto3 import time import uuid client = boto3.client('dynamodb') # 生成唯一主键id,若自定义主键可替换为自定义规则 item_id = str(uuid.uuid4()) # 生成毫秒级Unix时间戳 current_ts = int(time.time() * 1000) response = client.put_item( Item={ 'id': { 'S': item_id }, 'AlbumTitle': { 'S': 'Somewhat Famous', }, 'Artist': { 'S': 'No One You Know', }, 'SongTitle': { 'S': 'Call Me Today', }, # Amplify DataStore必填系统字段 '_deleted': { 'BOOL': False }, '_version': { 'N': '1' }, '_lastChangedAt': { 'N': str(current_ts) } }, ReturnConsumedCapacity='TOTAL', # 替换为当前环境对应的完整表名 TableName='Music-{你的API ID}-{你的环境名}', )
- 写入完成后若Admin UI仍未展示数据,点击Admin UI数据页面的刷新按钮手动触发数据重新拉取即可。
内容的提问来源于stack exchange,提问作者man517
相关产品推荐
相关产品推荐

