in usecase-4/usecase-4-step-1.py [0:0]
def main():
"""
###################################################################################
# DynamoDB table shared_variables_crypto_builders for storing shared variables #
###################################################################################
"""
try:
ddb_client = boto3.client('dynamodb')
# Create DynamoDB table for storing shared variables across python modules
try:
ddb_client.describe_table(TableName='shared_variables_crypto_builders')
print("shared_variables_crypto_builders Table already exists, please delete it before re-running this module")
except ddb_client.exceptions.ResourceNotFoundException:
# Since table does not exist create it
ddb_client.create_table(
TableName='shared_variables_crypto_builders',
KeySchema=[
{
'AttributeName': 'shared_variables',
'KeyType': 'HASH'
},
{
'AttributeName': 'session',
'KeyType': 'RANGE'
}
],
AttributeDefinitions=[
{
'AttributeName': 'shared_variables',
'AttributeType': 'N'
},
{
'AttributeName': 'session',
'AttributeType': 'N'
},
],
ProvisionedThroughput={
'ReadCapacityUnits': 5,
'WriteCapacityUnits': 5
},
SSESpecification={
'Enabled': True,
}
)
print("Pending DynamoDB table creation for storing shared variables")
print("\nThis step will take about 30 seconds to complete")
waiter = ddb_client.get_waiter('table_exists')
waiter.wait(TableName='shared_variables_crypto_builders')
ddb_client.put_item(TableName='shared_variables_crypto_builders', \
Item={'shared_variables':{'N':'1000'}, 'session':{'N':'1000'}})
print("\nshared_variables_crypto_builders DynamoDB table created")
print("\nStep-1 has been successfully completed \n")
except:
print("Unexpected error:", sys.exc_info()[0])
raise
else:
exit(0)