70 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
id: l045
 | 
						|
title: DynamoDB CLI commands
 | 
						|
tags: [AWS, databases, dynamodb]
 | 
						|
created: Saturday, June 22, 2024
 | 
						|
---
 | 
						|
 | 
						|
# DynamoDB CLI commands
 | 
						|
 | 
						|
## Connecting to a local (Docker)/prod (AWS) DynamoDB instance
 | 
						|
 | 
						|
In order to distinguish between local and production accounts you should keep
 | 
						|
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.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
```
 | 
						|
 | 
						|
For example:
 | 
						|
 | 
						|
```sh
 | 
						|
aws dynamodb list-tables \
 | 
						|
--profile timetracking_dev \
 | 
						|
--endpoint-url http://localhost:800
 | 
						|
```
 | 
						|
 | 
						|
## Delete a table
 | 
						|
 | 
						|
```sh
 | 
						|
aws dynamodb delete-table \
 | 
						|
--table-name TableName
 | 
						|
```
 | 
						|
 | 
						|
## Create table from JSON schema
 | 
						|
 | 
						|
```sh
 | 
						|
aws dynamodb create-table \
 | 
						|
--cli-input-json file://create-timeentries-table.json \
 | 
						|
 | 
						|
```
 | 
						|
 | 
						|
## 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
 | 
						|
```
 | 
						|
 | 
						|
## Related notes
 |