2024-06-22 10:45:04 +01:00
|
|
|
---
|
|
|
|
id: l045
|
|
|
|
tags: [AWS, databases, dynamodb]
|
|
|
|
created: Saturday, June 22, 2024
|
|
|
|
---
|
|
|
|
|
|
|
|
# DynamoDB CLI commands
|
|
|
|
|
2024-06-23 17:30:04 +01:00
|
|
|
## Connecting to a local (Docker)/prod (AWS) DynamoDB instance
|
2024-06-22 10:45:04 +01:00
|
|
|
|
|
|
|
In order to distinguish between local and production accounts you should keep
|
2024-06-23 17:30:04 +01:00
|
|
|
seperate profiles for each (via `.aws/config` and `.aws/credentials`).
|
|
|
|
|
|
|
|
When connecting to a local DB use the local profile and the local URL. Without
|
|
|
|
the `--profile` flag, AWS will default to the `default` profile which will
|
|
|
|
typically be your credentials for accessing AWS on the remote.
|
|
|
|
|
2024-06-23 19:15:05 +01:00
|
|
|
It also sometimes required to add the endpoint-url when working locally:
|
|
|
|
|
|
|
|
```
|
|
|
|
--endpoint-url http://localhost:800
|
|
|
|
|
|
|
|
> When using the commans below locally, assume `--endpoint-url` and `--profile`
|
|
|
|
> have been appended
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2024-06-23 17:30:04 +01:00
|
|
|
For example:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
aws dynamodb list-tables \
|
|
|
|
--profile timetracking_dev \
|
|
|
|
--endpoint-url http://localhost:800
|
|
|
|
```
|
|
|
|
|
|
|
|
## Delete a table
|
2024-06-22 10:45:04 +01:00
|
|
|
|
|
|
|
```sh
|
2024-06-23 17:30:04 +01:00
|
|
|
aws dynamodb delete-table \
|
|
|
|
--table-name TableName
|
2024-06-22 10:45:04 +01:00
|
|
|
```
|
|
|
|
|
2024-06-23 17:30:04 +01:00
|
|
|
## Create table from JSON schema
|
|
|
|
|
|
|
|
```sh
|
|
|
|
aws dynamodb create-table \
|
|
|
|
--cli-input-json file://create-timeentries-table.json \
|
|
|
|
|
|
|
|
```
|
2024-06-22 10:45:04 +01:00
|
|
|
|
2024-06-23 19:15:05 +01:00
|
|
|
## Describe the table
|
|
|
|
|
|
|
|
View the table schema:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
|
|
aws dynamodb describe-table \
|
|
|
|
--table-name TimeEntries
|
|
|
|
```
|
|
|
|
|
|
|
|
## Scan the table
|
|
|
|
|
|
|
|
```sh
|
|
|
|
aws dynamodb scan \
|
|
|
|
--table-name TimeEntries \
|
|
|
|
--output table
|
|
|
|
```
|
|
|
|
|
2024-06-22 10:45:04 +01:00
|
|
|
## Related notes
|