cloudenv / server /providers /aws /dynamodb_api.md
Vishvam10
initial space commit
b404de3
|
Raw History Blame Contribute Delete
10.5 kB
# DynamoDB Service API
Requests use [`CloudEnvAction`](../../../models.py): `service`, `operation`, and `payload` (boto3 parameters for the operation).
Operations are enforced by IAM as `dynamodb:<OperationName>` (see adapter).
## Operations
### CreateTable
_Boto3 client method: `create_table`_
**Other boto3 parameters (optional):** `AttributeDefinitions, BillingMode, DeletionProtectionEnabled, GlobalSecondaryIndexes, GlobalTableSettingsReplicationMode, GlobalTableSourceArn, KeySchema, LocalSecondaryIndexes, OnDemandThroughput, ProvisionedThroughput, ResourcePolicy, SSESpecification, StreamSpecification, TableClass, Tags, WarmThroughput`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "CreateTable",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### UpdateTable
_Boto3 client method: `update_table`_
**Other boto3 parameters (optional):** `AttributeDefinitions, BillingMode, DeletionProtectionEnabled, GlobalSecondaryIndexUpdates, GlobalTableSettingsReplicationMode, GlobalTableWitnessUpdates, MultiRegionConsistency, OnDemandThroughput, ProvisionedThroughput, ReplicaUpdates, SSESpecification, StreamSpecification, TableClass, WarmThroughput`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "UpdateTable",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### DeleteTable
_Boto3 client method: `delete_table`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DeleteTable",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### DescribeTable
_Boto3 client method: `describe_table`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DescribeTable",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### ListTables
_Boto3 client method: `list_tables`_
**Other boto3 parameters (optional):** `ExclusiveStartTableName, Limit`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "ListTables",
"payload": {}
}
```
---
### PutItem
_Boto3 client method: `put_item`_
**Other boto3 parameters (optional):** `ConditionExpression, ConditionalOperator, Expected, ExpressionAttributeNames, ExpressionAttributeValues, ReturnConsumedCapacity, ReturnItemCollectionMetrics, ReturnValues, ReturnValuesOnConditionCheckFailure`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "PutItem",
"payload": {
"TableName": "example-tablearn",
"Item": {
"exampleKey": {}
}
}
}
```
---
### GetItem
_Boto3 client method: `get_item`_
**Other boto3 parameters (optional):** `AttributesToGet, ConsistentRead, ExpressionAttributeNames, ProjectionExpression, ReturnConsumedCapacity`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "GetItem",
"payload": {
"TableName": "example-tablearn",
"Key": {
"exampleKey": {}
}
}
}
```
---
### DeleteItem
_Boto3 client method: `delete_item`_
**Other boto3 parameters (optional):** `ConditionExpression, ConditionalOperator, Expected, ExpressionAttributeNames, ExpressionAttributeValues, ReturnConsumedCapacity, ReturnItemCollectionMetrics, ReturnValues, ReturnValuesOnConditionCheckFailure`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DeleteItem",
"payload": {
"TableName": "example-tablearn",
"Key": {
"exampleKey": {}
}
}
}
```
---
### UpdateItem
_Boto3 client method: `update_item`_
**Other boto3 parameters (optional):** `AttributeUpdates, ConditionExpression, ConditionalOperator, Expected, ExpressionAttributeNames, ExpressionAttributeValues, ReturnConsumedCapacity, ReturnItemCollectionMetrics, ReturnValues, ReturnValuesOnConditionCheckFailure, UpdateExpression`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "UpdateItem",
"payload": {
"TableName": "example-tablearn",
"Key": {
"exampleKey": {}
}
}
}
```
---
### Query
_Boto3 client method: `query`_
**Other boto3 parameters (optional):** `AttributesToGet, ConditionalOperator, ConsistentRead, ExclusiveStartKey, ExpressionAttributeNames, ExpressionAttributeValues, FilterExpression, IndexName, KeyConditionExpression, KeyConditions, Limit, ProjectionExpression, QueryFilter, ReturnConsumedCapacity, ScanIndexForward, Select`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "Query",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### Scan
_Boto3 client method: `scan`_
**Other boto3 parameters (optional):** `AttributesToGet, ConditionalOperator, ConsistentRead, ExclusiveStartKey, ExpressionAttributeNames, ExpressionAttributeValues, FilterExpression, IndexName, Limit, ProjectionExpression, ReturnConsumedCapacity, ScanFilter, Segment, Select, TotalSegments`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "Scan",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### BatchWriteItem
_Boto3 client method: `batch_write_item`_
**Other boto3 parameters (optional):** `ReturnConsumedCapacity, ReturnItemCollectionMetrics`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "BatchWriteItem",
"payload": {
"RequestItems": {
"exampleKey": [
{}
]
}
}
}
```
---
### BatchGetItem
_Boto3 client method: `batch_get_item`_
**Other boto3 parameters (optional):** `ReturnConsumedCapacity`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "BatchGetItem",
"payload": {
"RequestItems": {
"exampleKey": {
"Keys": [
{
"exampleKey": {}
}
]
}
}
}
}
```
---
### TransactWriteItems
_Boto3 client method: `transact_write_items`_
**Other boto3 parameters (optional):** `ClientRequestToken, ReturnConsumedCapacity, ReturnItemCollectionMetrics`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "TransactWriteItems",
"payload": {
"TransactItems": [
{}
]
}
}
```
---
### TransactGetItems
_Boto3 client method: `transact_get_items`_
**Other boto3 parameters (optional):** `ReturnConsumedCapacity`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "TransactGetItems",
"payload": {
"TransactItems": [
{
"Get": {
"Key": {
"exampleKey": {}
},
"TableName": "example-tablearn"
}
}
]
}
}
```
---
### DescribeTimeToLive
_Boto3 client method: `describe_time_to_live`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DescribeTimeToLive",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### UpdateTimeToLive
_Boto3 client method: `update_time_to_live`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "UpdateTimeToLive",
"payload": {
"TableName": "example-tablearn",
"TimeToLiveSpecification": {
"Enabled": false,
"AttributeName": "example-timetoliveattributename"
}
}
}
```
---
### DescribeContinuousBackups
_Boto3 client method: `describe_continuous_backups`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DescribeContinuousBackups",
"payload": {
"TableName": "example-tablearn"
}
}
```
---
### UpdateContinuousBackups
_Boto3 client method: `update_continuous_backups`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "UpdateContinuousBackups",
"payload": {
"TableName": "example-tablearn",
"PointInTimeRecoverySpecification": {
"PointInTimeRecoveryEnabled": false
}
}
}
```
---
### DescribeEndpoints
_Boto3 client method: `describe_endpoints`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "DescribeEndpoints",
"payload": {}
}
```
---
### TagResource
_Boto3 client method: `tag_resource`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "TagResource",
"payload": {
"ResourceArn": "example-resourcearnstring",
"Tags": [
{
"Key": "example-tagkeystring",
"Value": "example-tagvaluestring"
}
]
}
}
```
---
### UntagResource
_Boto3 client method: `untag_resource`_
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "UntagResource",
"payload": {
"ResourceArn": "example-resourcearnstring",
"TagKeys": [
"example-tagkeystring"
]
}
}
```
---
### ListTagsOfResource
_Boto3 client method: `list_tags_of_resource`_
**Other boto3 parameters (optional):** `NextToken`
```bash
curl -X POST http://localhost:8000/step \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"service": "dynamodb",
"operation": "ListTagsOfResource",
"payload": {
"ResourceArn": "example-resourcearnstring"
}
}
```
---