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

C#中查看DynamoDB表名称失败,ListTablesAsync返回结果始终为0

解决DynamoDB ListTables返回空表列表的问题

排查与解决步骤

  • 检查IAM权限配置:确保所用IAM角色/用户拥有dynamodb:ListTables权限,策略需明确允许该操作,示例策略如下:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dynamodb:ListTables",
                "Resource": "*"
            }
        ]
    }
    
  • 确认区域一致性:DynamoDB是区域级服务,必须保证创建AmazonDynamoDBClient时指定的区域,与你创建表的AWS区域完全匹配(如us-east-1),跨区域无法查询到目标表。
  • 修正异步调用方式:避免直接用.Result阻塞线程,改用await规范处理异步操作,防止死锁或响应获取异常:
    var tableResponse = await client.ListTablesAsync();
    List<string> currentTables = tableResponse.TableNames;
    MessageBox.Show(currentTables.Count.ToString());
    
  • 验证凭证有效性:用对应IAM凭证通过AWS CLI执行aws dynamodb list-tables --region <你的目标区域>,若CLI也无法返回表列表,说明凭证或账户存在问题,需确认凭证未过期、所属账户正确。
  • 确认表实际存在:登录AWS控制台,检查目标区域下确实有已创建完成的DynamoDB表,排除表创建失败或误在其他区域创建的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:35:50