【问题标题】:AWS dynamodb - connection to my local dynamodb and create the tableAWS dynamodb - 连接到我的本地 dynamodb 并创建表
【发布时间】:2017-06-23 20:13:26
【问题描述】:

我需要一个 AWS dynamodb 作为我项目的后端。我已经完成了以下任务:

  1. 为 dynamodb 本地服务器建立 jar 以开始监听
  2. 从 AWS 下载 PHP SDK
  3. 从 AWS 控制台创建了一个 iam 用户并将 credentials.ini 文件复制到 .aws 文件夹中
  4. 执行 php 脚本连接我的本地 dynamodb 并创建表。

在完成所有这些任务后,localhost 会给我一条消息,说明“表已创建”。但是我无法在 AWS 控制台中找到我的表。可能是什么问题?

我做得对吗? ..有人可以解释一下吗?

这是我通过 PHP 建立的连接:

$client = new Aws\Sdk([
//'profile' => 'default',
'region'  => 'us-west-2',
'version' => 'latest',
'endpoint'   => 'http://localhost:8000',
'credentials' => [
    'key'    => '',
    'secret' => '']
]); 

【问题讨论】:

    标签: php amazon-web-services amazon-dynamodb


    【解决方案1】:

    首先,当您使用本地主机时,该表将在您的本地计算机中创建(即不在 AWS 中)。您提到了 AWS 控制台,我了解到您正在寻找“AWS 管理控制台”上的表格。当您将端点用作“http://localhost:8000”时,API 将永远不会与实际的 AWS 交互。

    它指的是本地dynamodb实例

    查看本地 dynamodb 实例上的表:-

    1) 如果您的系统上安装了 AWS CLI,您可以使用以下命令检查该表是否存在。

    aws dynamodb describe-table --table-name yourTableName --endpoint-url http://localhost:8000
    

    2) 否则,转到http://localhost:8000/shell/

    var docClient = new AWS.DynamoDB({
        region: 'us-east-1',
        endpoint: "http://localhost:8000"
    });
    var params = {TableName:'yourTableName'};
    docClient.describeTable(params, function(err, data) {
        if (err) {
            console.log(err, err.stack);
        } else {
            console.log(data);
            // php.var_dump(data);
        }
    });
    

    如果表存在:-

    它会显示表格的定义

    如果表不存在:-

    您将收到以下错误消息。

    "message":"Cannot do operations on a non-existent table"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 2016-08-13
      • 1970-01-01
      • 2018-07-17
      相关资源
      最近更新 更多