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

如何列出本地Docker部署的DynamoDB容器内的所有访问凭证?

DynamoDB Local 凭证隔离说明

你观察到的不同AWS_ACCESS_KEY_ID下表不可见的现象,是DynamoDB Local的默认逻辑:它会将AWS_ACCESS_KEY_ID + 配置的区域作为独立命名空间,不同命名空间下的表数据完全隔离,互不干扰。

查看实例下所有存在的AWS_ACCESS_KEY_ID的方法

DynamoDB Local 1.16.0版本默认将所有数据存在容器内/home/dynamodblocal目录下,你可以通过以下两种方式获取所有使用过的凭证:

  • 直接读取底层存储目录

    1. 先进入运行中的DynamoDB容器:
    docker exec -it <你的dynamodb容器ID或容器名> sh
    
    1. 进入数据存储目录:
    cd /home/dynamodblocal
    
    1. 列出当前目录下的所有文件和文件夹:
    ls
    

    该目录下的表存储目录命名规则为<AWS_ACCESS_KEY_ID>_<区域名>,目录名中下划线前的字段就是对应使用过的AWS_ACCESS_KEY_ID值。比如你之前用AWS_ACCESS_KEY_ID=test、区域local-env创建表,就会看到名为test_local-env的目录。
    如果你启动容器时已经将本地目录挂载到容器的/home/dynamodblocal路径做数据持久化,直接在本地挂载目录下执行ls就能看到所有命名空间目录,不需要进入容器。

  • 关闭命名空间隔离查看全量表
    如果你不需要隔离逻辑,可以在启动DynamoDB Local时添加-sharedDb启动参数,关闭按凭证、区域隔离的特性,之后无论传入什么AWS_ACCESS_KEY_ID和区域参数,都能看到实例上的所有表。
    修改后的docker-compose配置如下:

    version: "3.8"
    services:
      dbs:
        image: amazon/dynamodb-local:1.16.0
        command: "-jar DynamoDBLocal.jar -sharedDb"
        ports:
          - '8000:8000'
    

内容的提问来源于stack exchange,提问作者Joey Yi Zhao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:57:11