DynamoDB Local — отсутствующие таблицы при запуске с псевдонимом bash

Я установил DynamoDB локально на свой Mac (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html), и я написал псевдоним bash, чтобы избежать необходимости cd в каталог DynamoDB и выполнения

$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

каждый раз, когда я хочу запустить базу данных. Однако псевдоним, похоже, не работает должным образом...

Во-первых, псевдоним, который я написал,

alias ddb-start="java -Djava.library.path=~/Documents/dynamodb/DynamoDBLocal_lib -jar ~/Documents/dynamodb/DynamoDBLocal.jar -sharedDb"

и когда я запускаю $ ddb-start, база данных запускается, как и ожидалось:

Initializing DynamoDB Local with the following configuration:
Port:   8000
InMemory:   false
DbPath: null
SharedDb:   true
shouldDelayTransientStatuses:   false
CorsParams: *

Проблема в том, что если я не запускаю скрипт из ~/Documents/dynamodb/, все мои таблицы отсутствуют.

Так что, если я cd до Documents/dynamodb/, а затем запускаю $ ddb-start, все идеально. Но если я открою новое окно терминала и запущу $ ddb-start (или запущу его из любого другого места, кроме Documents/dynamodb/), Dynamo запустится как надо, но когда я перечислю таблицы в JavaScript Shell, таблиц не будет.

Я надеялся, что смогу запустить псевдоним из любого каталога, а Dynamo запустится и будет работать правильно. Должен ли я cd входить в каталог, даже с псевдонимом? Или что-то не так с псевдонимом, который я написал?

*** Ах, я заметил, что из какого бы каталога я его ни запускал, копия shared-local-instance.db создается в этом каталоге. Я не хочу, чтобы это произошло, я хочу, чтобы он указывал на «оригинал» shared-local-instance.db в ~/Documents/dynamodb/. Как я могу это сделать?


person skwidbreth    schedule 20.09.2017    source источник


Ответы (1)


Разобрался - мне не хватало опции -dbPath в моем псевдониме. Чтобы запустить псевдоним из любого места, мне нужно было указать, где находится общая база данных. Рабочий псевдоним:

alias ddb-start="java -Djava.library.path=~/Documents/dynamodb/DynamoDBLocal_lib -jar ~/Documents/dynamodb/DynamoDBLocal.jar -sharedDb -dbPath ~/Documents/dynamodb/"

person skwidbreth    schedule 20.09.2017