boto3-helpers 2.3.0

Last updated:

0 purchases

boto3-helpers 2.3.0 Image
boto3-helpers 2.3.0 Images
Add to Cart

Description:

boto3helpers 2.3.0

boto3_helpers is a Python library that aims to provide a smoother interface for
some of the functions in the AWS boto3 package.
You know how to install it:
pip install boto3-helpers
Have you ever seen anybody make this mistake?
from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key

# Don't do this; you'll miss out if there is more than one page
ddb_table = boto3.resource('dynamodb').Table('example-table')
resp = ddb_table.query(
KeyConditionExpression=Key('username').eq('johndoe')
)
for item in resp.get('Items', []):
print(item)
What they should have done is this:
from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key

# Loop through all the pages
ddb_table = boto3.resource('dynamodb').Table('example-table')
kwargs = {'KeyConditionExpression': Key('username').eq('johndoe')}
while True:
resp = ddb_table.query(**kwargs)
for item in resp.get('Items', []):
print(item)
if 'LastEvaluatedKey' not in resp:
break
kwargs['ExclusiveStartKey'] = resp['LastEvaluatedKey']
With boto3_helpers, you can do the right thing more easily:
from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key
from boto3_helpers.dynamodb import query_table

ddb_table = boto3.resource('dynamodb').Table('example-table')
for item in query_table(
ddb_table, KeyConditionExpression=Key('username').eq('johndoe')
):
print(item)
This package provides helper functions for several similar actions in AWS, such as:

Paging through S3 listings
Updating items in DynamoDB
Assuming roles with STS
Sending and deleting messages with SQS
Pulling metric data from CloudWatch

See the latest docs for more.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.