2016-06-30 4 views
0

Я бегу DynamoDB Local на порту 8080. Эта команда используется для запуска БД:DynamoDB Local - Подключение Отказался от PHP

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

Переход к localhost:8080/shell/ дает DynamoDB Javascript Shell. Среда работает и позволяет выполнять операции в локальном 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-проект работает на виртуальной машине Vagrant, но я запускал DynamoDB на своей локальной машине. Таким образом, localhost в моем PHP-коде относится к vagrant localhost, но DynamoDB запускался на моем локальном хосте .

Чтобы решить эту проблему, я запустил DynamoDB изнутри Vagrant.

Смежные вопросы