2016-06-30 11 views
0

から接続拒否が、私はこれは、DBの起動に使用するコマンドであるポート8080でDynamoDBのローカルを実行しています:DynamoDBの地域 - PHP

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -port 8080 

localhost:8080/shell/に行くDynamoDBのJavascriptのシェルを生成します。シェルは動作し、ローカルdbファイルに対して操作を実行できます。シェルを使用して作成されたdbファイルの名前はcUniqueSessionID_us-west-2.dbです。 PHPプロジェクトで

、私はDynamoDBの

$db = new \Aws\DynamoDb\DynamoDbClient([ 
    'region' => 'us-west-2', 
    'version' => 'latest', 
    'endpoint' => 'http://localhost:8080/', 
    'credentials' => [ 
     'key' => 'not-a-real-key', 
     'secret' => 'not-a-real-secret', 
    ], 
]); 
$db->createTable([ 
    'TableName' =>'SampleTable', 
    'AttributeDefinitions' => [ 
     [ 'AttributeName' => 'Id', 'AttributeType' => 'N' ] 
    ], 
    'KeySchema' => [ 
     [ 'AttributeName' => 'Id', 'KeyType' => 'HASH' ] 
    ], 
    'ProvisionedThroughput' => [ 
     'ReadCapacityUnits' => 5, 
     'WriteCapacityUnits' => 6 
    ] 
]); 

を使用してテーブルを作成する。しかし、これは、私は成功せず、私のファイアウォールをオフにしようとしたError executing "CreateTable" on "http://localhost:8080/"; AWS HTTP error: cURL error 7: Failed to connect to localhost port 8080: Connection refused

を生み出す実行するための次のコードを持っています。このエラーの原因は何ですか?

答えて

-1

問題が見つかりました。

私のPHPプロジェクトは流行の仮想マシンで実行されていますが、ローカルマシンでDynamoDBを実行していました。したがって、私のPHPコードのlocalhostは、の汚れたローカルホストを参照しましたが、DynamoDBは私のマシンのローカルホストで実行されていました。

問題を解決するため、私はVagrant内からDynamoDBを実行しました。