70 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								id: l045
							 | 
						||
| 
								 | 
							
								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
							 |