Skip to content

DynamoDBServiceResource#

Index > DynamoDB > DynamoDBServiceResource

Auto-generated documentation for DynamoDB type annotations stubs module mypy-boto3-dynamodb.

DynamoDBServiceResource#

Type annotations and code completion for boto3.resource("dynamodb"), included resources and collections. boto3 documentation

# DynamoDBServiceResource usage example

from mypy_boto3_dynamodb.service_resource import DynamoDBServiceResource

def get_dynamodb_resource() -> DynamoDBServiceResource:
    return boto3.resource("dynamodb")

Attributes#

Collections#

ServiceResourceTablesCollection#

Provides access to Table resource.

Type annotations and code completion for boto3.resource("dynamodb").tables collection. boto3 documentation

# ServiceResourceTablesCollection usage example

from mypy_boto3_dynamodb.service_resource import ServiceResourceTablesCollection

def get_collection() -> ServiceResourceTablesCollection:
    return boto3.resource("dynamodb").tables

Methods#

DynamoDBServiceResource.Table method#

Creates a Table resource.

Type annotations and code completion for boto3.resource("dynamodb").Table method. boto3 documentation

# Table method definition

def Table(
    self,
    name: str,
) -> Table:
    ...

DynamoDBServiceResource.batch_get_item method#

The BatchGetItem operation returns the attributes of one or more items from one or more tables.

Type annotations and code completion for boto3.resource("dynamodb").batch_get_item method. boto3 documentation

# batch_get_item method definition

def batch_get_item(
    self,
    *,
    RequestItems: Mapping[str, Union[KeysAndAttributesServiceResourceTypeDef, KeysAndAttributesServiceResourceOutputTypeDef]],  # (1)
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (2)
) -> BatchGetItemOutputServiceResourceTypeDef:  # (3)
    ...
  1. See KeysAndAttributesServiceResourceTypeDef KeysAndAttributesServiceResourceOutputTypeDef
  2. See ReturnConsumedCapacityType
  3. See BatchGetItemOutputServiceResourceTypeDef
# batch_get_item method usage example with argument unpacking

kwargs: BatchGetItemInputServiceResourceBatchGetItemTypeDef = {  # (1)
    "RequestItems": ...,
}

parent.batch_get_item(**kwargs)
  1. See BatchGetItemInputServiceResourceBatchGetItemTypeDef

DynamoDBServiceResource.batch_write_item method#

The BatchWriteItem operation puts or deletes multiple items in one or more tables.

Type annotations and code completion for boto3.resource("dynamodb").batch_write_item method. boto3 documentation

# batch_write_item method definition

def batch_write_item(
    self,
    *,
    RequestItems: Mapping[str, Sequence[Union[WriteRequestServiceResourceTypeDef, WriteRequestServiceResourceOutputTypeDef]]],  # (1)
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (2)
    ReturnItemCollectionMetrics: ReturnItemCollectionMetricsType = ...,  # (3)
) -> BatchWriteItemOutputServiceResourceTypeDef:  # (4)
    ...
  1. See WriteRequestServiceResourceTypeDef WriteRequestServiceResourceOutputTypeDef
  2. See ReturnConsumedCapacityType
  3. See ReturnItemCollectionMetricsType
  4. See BatchWriteItemOutputServiceResourceTypeDef
# batch_write_item method usage example with argument unpacking

kwargs: BatchWriteItemInputServiceResourceBatchWriteItemTypeDef = {  # (1)
    "RequestItems": ...,
}

parent.batch_write_item(**kwargs)
  1. See BatchWriteItemInputServiceResourceBatchWriteItemTypeDef

DynamoDBServiceResource.create_table method#

The CreateTable operation adds a new table to your account.

Type annotations and code completion for boto3.resource("dynamodb").create_table method. boto3 documentation

# create_table method definition

def create_table(
    self,
    *,
    AttributeDefinitions: Sequence[AttributeDefinitionTypeDef],  # (1)
    TableName: str,
    KeySchema: Sequence[KeySchemaElementTypeDef],  # (2)
    LocalSecondaryIndexes: Sequence[LocalSecondaryIndexTypeDef] = ...,  # (3)
    GlobalSecondaryIndexes: Sequence[Union[GlobalSecondaryIndexTypeDef, GlobalSecondaryIndexOutputTypeDef]] = ...,  # (4)
    BillingMode: BillingModeType = ...,  # (5)
    ProvisionedThroughput: ProvisionedThroughputTypeDef = ...,  # (6)
    StreamSpecification: StreamSpecificationTypeDef = ...,  # (7)
    SSESpecification: SSESpecificationTypeDef = ...,  # (8)
    Tags: Sequence[TagTypeDef] = ...,  # (9)
    TableClass: TableClassType = ...,  # (10)
    DeletionProtectionEnabled: bool = ...,
    ResourcePolicy: str = ...,
    OnDemandThroughput: OnDemandThroughputTypeDef = ...,  # (11)
) -> Table:
    ...
  1. See AttributeDefinitionTypeDef
  2. See KeySchemaElementTypeDef
  3. See LocalSecondaryIndexTypeDef
  4. See GlobalSecondaryIndexTypeDef GlobalSecondaryIndexOutputTypeDef
  5. See BillingModeType
  6. See ProvisionedThroughputTypeDef
  7. See StreamSpecificationTypeDef
  8. See SSESpecificationTypeDef
  9. See TagTypeDef
  10. See TableClassType
  11. See OnDemandThroughputTypeDef
# create_table method usage example with argument unpacking

kwargs: CreateTableInputServiceResourceCreateTableTypeDef = {  # (1)
    "AttributeDefinitions": ...,
    "TableName": ...,
    "KeySchema": ...,
}

parent.create_table(**kwargs)
  1. See CreateTableInputServiceResourceCreateTableTypeDef

DynamoDBServiceResource.get_available_subresources method#

Returns a list of all the available sub-resources for this Resource.

Type annotations and code completion for boto3.resource("dynamodb").get_available_subresources method. boto3 documentation

# get_available_subresources method definition

def get_available_subresources(
    self,
) -> Sequence[str]:
    ...

Table#

Type annotations and code completion for boto3.resource("dynamodb").Table class. boto3 documentation

# Table usage example

from mypy_boto3_dynamodb.service_resource import Table

def get_resource() -> Table:
    return boto3.resource("dynamodb").Table(...)

Table attributes#

Table methods#

Table.batch_writer method#

Create a batch writer object.

Type annotations and code completion for boto3.resource("dynamodb").batch_writer method. boto3 documentation

# batch_writer method definition

def batch_writer(
    self,
    overwrite_by_pkeys: List[str] = ...,
) -> BatchWriter:
    ...
# batch_writer method usage example with argument unpacking

kwargs: TableBatchWriterRequestTypeDef = {  # (1)
    "overwrite_by_pkeys": ...,
}

parent.batch_writer(**kwargs)
  1. See TableBatchWriterRequestTypeDef

Table.delete method#

The DeleteTable operation deletes a table and all of its items.

Type annotations and code completion for boto3.resource("dynamodb").delete method. boto3 documentation

# delete method definition

def delete(
    self,
) -> DeleteTableOutputTypeDef:  # (1)
    ...
  1. See DeleteTableOutputTypeDef

Table.delete_item method#

Deletes a single item in a table by primary key.

Type annotations and code completion for boto3.resource("dynamodb").delete_item method. boto3 documentation

# delete_item method definition

def delete_item(
    self,
    *,
    Key: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]],
    Expected: Mapping[str, ExpectedAttributeValueTableTypeDef] = ...,  # (1)
    ConditionalOperator: ConditionalOperatorType = ...,  # (2)
    ReturnValues: ReturnValueType = ...,  # (3)
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (4)
    ReturnItemCollectionMetrics: ReturnItemCollectionMetricsType = ...,  # (5)
    ConditionExpression: Union[str, ConditionBase] = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
    ExpressionAttributeValues: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ReturnValuesOnConditionCheckFailure: ReturnValuesOnConditionCheckFailureType = ...,  # (6)
) -> DeleteItemOutputTableTypeDef:  # (7)
    ...
  1. See ExpectedAttributeValueTableTypeDef
  2. See ConditionalOperatorType
  3. See ReturnValueType
  4. See ReturnConsumedCapacityType
  5. See ReturnItemCollectionMetricsType
  6. See ReturnValuesOnConditionCheckFailureType
  7. See DeleteItemOutputTableTypeDef
# delete_item method usage example with argument unpacking

kwargs: DeleteItemInputTableDeleteItemTypeDef = {  # (1)
    "Key": ...,
}

parent.delete_item(**kwargs)
  1. See DeleteItemInputTableDeleteItemTypeDef

Table.get_available_subresources method#

Returns a list of all the available sub-resources for this Resource.

Type annotations and code completion for boto3.resource("dynamodb").get_available_subresources method. boto3 documentation

# get_available_subresources method definition

def get_available_subresources(
    self,
) -> Sequence[str]:
    ...

Table.get_item method#

The GetItem operation returns a set of attributes for the item with the given primary key.

Type annotations and code completion for boto3.resource("dynamodb").get_item method. boto3 documentation

# get_item method definition

def get_item(
    self,
    *,
    Key: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]],
    AttributesToGet: Sequence[str] = ...,
    ConsistentRead: bool = ...,
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (1)
    ProjectionExpression: str = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
) -> GetItemOutputTableTypeDef:  # (2)
    ...
  1. See ReturnConsumedCapacityType
  2. See GetItemOutputTableTypeDef
# get_item method usage example with argument unpacking

kwargs: GetItemInputTableGetItemTypeDef = {  # (1)
    "Key": ...,
}

parent.get_item(**kwargs)
  1. See GetItemInputTableGetItemTypeDef

Table.load method#

Calls 🇵🇾meth:DynamoDB.Client.describe_table to update the attributes of the Table resource.

Type annotations and code completion for boto3.resource("dynamodb").load method. boto3 documentation

# load method definition

def load(
    self,
) -> None:
    ...

Table.put_item method#

Creates a new item, or replaces an old item with a new item.

Type annotations and code completion for boto3.resource("dynamodb").put_item method. boto3 documentation

# put_item method definition

def put_item(
    self,
    *,
    Item: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]],
    Expected: Mapping[str, ExpectedAttributeValueTableTypeDef] = ...,  # (1)
    ReturnValues: ReturnValueType = ...,  # (2)
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (3)
    ReturnItemCollectionMetrics: ReturnItemCollectionMetricsType = ...,  # (4)
    ConditionalOperator: ConditionalOperatorType = ...,  # (5)
    ConditionExpression: Union[str, ConditionBase] = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
    ExpressionAttributeValues: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ReturnValuesOnConditionCheckFailure: ReturnValuesOnConditionCheckFailureType = ...,  # (6)
) -> PutItemOutputTableTypeDef:  # (7)
    ...
  1. See ExpectedAttributeValueTableTypeDef
  2. See ReturnValueType
  3. See ReturnConsumedCapacityType
  4. See ReturnItemCollectionMetricsType
  5. See ConditionalOperatorType
  6. See ReturnValuesOnConditionCheckFailureType
  7. See PutItemOutputTableTypeDef
# put_item method usage example with argument unpacking

kwargs: PutItemInputTablePutItemTypeDef = {  # (1)
    "Item": ...,
}

parent.put_item(**kwargs)
  1. See PutItemInputTablePutItemTypeDef

Table.query method#

You must provide the name of the partition key attribute and a single value for that attribute.

Type annotations and code completion for boto3.resource("dynamodb").query method. boto3 documentation

# query method definition

def query(
    self,
    *,
    IndexName: str = ...,
    Select: SelectType = ...,  # (1)
    AttributesToGet: Sequence[str] = ...,
    Limit: int = ...,
    ConsistentRead: bool = ...,
    KeyConditions: Mapping[str, ConditionTableTypeDef] = ...,  # (2)
    QueryFilter: Mapping[str, ConditionTableTypeDef] = ...,  # (2)
    ConditionalOperator: ConditionalOperatorType = ...,  # (4)
    ScanIndexForward: bool = ...,
    ExclusiveStartKey: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (5)
    ProjectionExpression: str = ...,
    FilterExpression: Union[str, ConditionBase] = ...,
    KeyConditionExpression: Union[str, ConditionBase] = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
    ExpressionAttributeValues: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
) -> QueryOutputTableTypeDef:  # (6)
    ...
  1. See SelectType
  2. See ConditionTableTypeDef
  3. See ConditionTableTypeDef
  4. See ConditionalOperatorType
  5. See ReturnConsumedCapacityType
  6. See QueryOutputTableTypeDef
# query method usage example with argument unpacking

kwargs: QueryInputTableQueryTypeDef = {  # (1)
    "IndexName": ...,
}

parent.query(**kwargs)
  1. See QueryInputTableQueryTypeDef

Table.reload method#

Calls 🇵🇾meth:DynamoDB.Client.describe_table to update the attributes of the Table resource.

Type annotations and code completion for boto3.resource("dynamodb").reload method. boto3 documentation

# reload method definition

def reload(
    self,
) -> None:
    ...

Table.scan method#

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index.

Type annotations and code completion for boto3.resource("dynamodb").scan method. boto3 documentation

# scan method definition

def scan(
    self,
    *,
    IndexName: str = ...,
    AttributesToGet: Sequence[str] = ...,
    Limit: int = ...,
    Select: SelectType = ...,  # (1)
    ScanFilter: Mapping[str, ConditionTableTypeDef] = ...,  # (2)
    ConditionalOperator: ConditionalOperatorType = ...,  # (3)
    ExclusiveStartKey: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (4)
    TotalSegments: int = ...,
    Segment: int = ...,
    ProjectionExpression: str = ...,
    FilterExpression: Union[str, ConditionBase] = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
    ExpressionAttributeValues: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ConsistentRead: bool = ...,
) -> ScanOutputTableTypeDef:  # (5)
    ...
  1. See SelectType
  2. See ConditionTableTypeDef
  3. See ConditionalOperatorType
  4. See ReturnConsumedCapacityType
  5. See ScanOutputTableTypeDef
# scan method usage example with argument unpacking

kwargs: ScanInputTableScanTypeDef = {  # (1)
    "IndexName": ...,
}

parent.scan(**kwargs)
  1. See ScanInputTableScanTypeDef

Table.update method#

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

Type annotations and code completion for boto3.resource("dynamodb").update method. boto3 documentation

# update method definition

def update(
    self,
    *,
    AttributeDefinitions: Sequence[AttributeDefinitionTypeDef] = ...,  # (1)
    BillingMode: BillingModeType = ...,  # (2)
    ProvisionedThroughput: ProvisionedThroughputTypeDef = ...,  # (3)
    GlobalSecondaryIndexUpdates: Sequence[GlobalSecondaryIndexUpdateTypeDef] = ...,  # (4)
    StreamSpecification: StreamSpecificationTypeDef = ...,  # (5)
    SSESpecification: SSESpecificationTypeDef = ...,  # (6)
    ReplicaUpdates: Sequence[ReplicationGroupUpdateTypeDef] = ...,  # (7)
    TableClass: TableClassType = ...,  # (8)
    DeletionProtectionEnabled: bool = ...,
    OnDemandThroughput: OnDemandThroughputTypeDef = ...,  # (9)
) -> Table:
    ...
  1. See AttributeDefinitionTypeDef
  2. See BillingModeType
  3. See ProvisionedThroughputTypeDef
  4. See GlobalSecondaryIndexUpdateTypeDef
  5. See StreamSpecificationTypeDef
  6. See SSESpecificationTypeDef
  7. See ReplicationGroupUpdateTypeDef
  8. See TableClassType
  9. See OnDemandThroughputTypeDef
# update method usage example with argument unpacking

kwargs: UpdateTableInputTableUpdateTypeDef = {  # (1)
    "AttributeDefinitions": ...,
}

parent.update(**kwargs)
  1. See UpdateTableInputTableUpdateTypeDef

Table.update_item method#

Edits an existing item's attributes, or adds a new item to the table if it does not already exist.

Type annotations and code completion for boto3.resource("dynamodb").update_item method. boto3 documentation

# update_item method definition

def update_item(
    self,
    *,
    Key: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]],
    AttributeUpdates: Mapping[str, AttributeValueUpdateTableTypeDef] = ...,  # (1)
    Expected: Mapping[str, ExpectedAttributeValueTableTypeDef] = ...,  # (2)
    ConditionalOperator: ConditionalOperatorType = ...,  # (3)
    ReturnValues: ReturnValueType = ...,  # (4)
    ReturnConsumedCapacity: ReturnConsumedCapacityType = ...,  # (5)
    ReturnItemCollectionMetrics: ReturnItemCollectionMetricsType = ...,  # (6)
    UpdateExpression: str = ...,
    ConditionExpression: Union[str, ConditionBase] = ...,
    ExpressionAttributeNames: Mapping[str, str] = ...,
    ExpressionAttributeValues: Mapping[str, Union[bytes, bytearray, str, int, Decimal, bool, Set[int], Set[Decimal], Set[str], Set[bytes], Set[bytearray], Sequence[Any], Mapping[str, Any], None]] = ...,
    ReturnValuesOnConditionCheckFailure: ReturnValuesOnConditionCheckFailureType = ...,  # (7)
) -> UpdateItemOutputTableTypeDef:  # (8)
    ...
  1. See AttributeValueUpdateTableTypeDef
  2. See ExpectedAttributeValueTableTypeDef
  3. See ConditionalOperatorType
  4. See ReturnValueType
  5. See ReturnConsumedCapacityType
  6. See ReturnItemCollectionMetricsType
  7. See ReturnValuesOnConditionCheckFailureType
  8. See UpdateItemOutputTableTypeDef
# update_item method usage example with argument unpacking

kwargs: UpdateItemInputTableUpdateItemTypeDef = {  # (1)
    "Key": ...,
}

parent.update_item(**kwargs)
  1. See UpdateItemInputTableUpdateItemTypeDef

Table.wait_until_exists method#

Waits until this Table is exists.

Type annotations and code completion for boto3.resource("dynamodb").wait_until_exists method. boto3 documentation

# wait_until_exists method definition

def wait_until_exists(
    self,
) -> None:
    ...

Table.wait_until_not_exists method#

Waits until this Table is not exists.

Type annotations and code completion for boto3.resource("dynamodb").wait_until_not_exists method. boto3 documentation

# wait_until_not_exists method definition

def wait_until_not_exists(
    self,
) -> None:
    ...