snowplow_analytics_sdk/run_manifests.py
def create_manifest_table(dynamodb_client, table_name):
    """Create DynamoDB table for run manifests

    Arguments:
    dynamodb_client - boto3 DynamoDB client (not service)
    table_name - string representing existing table name
    """
    try:
        dynamodb_client.create_table(
            AttributeDefinitions=[
                {
                    'AttributeName': DYNAMODB_RUNID_ATTRIBUTE,
                    'AttributeType': 'S'
                },
            ],
            TableName=table_name,
            KeySchema=[
                {
                    'AttributeName': DYNAMODB_RUNID_ATTRIBUTE,
                    'KeyType': 'HASH'
                },
            ],
            ProvisionedThroughput={
                'ReadCapacityUnits': 5,
                'WriteCapacityUnits': 5
            }
        )
        dynamodb_client.get_waiter('table_exists').wait(TableName=table_name)
    except ClientError as e:
        # Table already exists
        if e.response['Error']['Code'] == 'ResourceInUseException':
            pass
        else:
            raise e
def create_manifest_table(dynamodb_client, table_name):
    try:
        dynamodb_client.create_table(
            AttributeDefinitions=[
                {
                    'AttributeName': DYNAMODB_RUNID_ATTRIBUTE,
                    'AttributeType': 'S'
                },
            ],
            TableName=table_name,
            KeySchema=[
                {
                    'AttributeName': DYNAMODB_RUNID_ATTRIBUTE,
                    'KeyType': 'HASH'
                },
            ],
            ProvisionedThroughput={
                'ReadCapacityUnits': 5,
                'WriteCapacityUnits': 5
            }
        )
        dynamodb_client.get_waiter('table_exists').wait(TableName=table_name)
    except ClientError as e:
        # Table already exists
        if e.response['Error']['Code'] == 'ResourceInUseException':
            pass
        else:
            raise e
def create_manifest_table ( dynamodb_client , table_name ) : try : dynamodb_client . create_table ( AttributeDefinitions = [ { 'AttributeName' : DYNAMODB_RUNID_ATTRIBUTE , 'AttributeType' : 'S' } , ] , TableName = table_name , KeySchema = [ { 'AttributeName' : DYNAMODB_RUNID_ATTRIBUTE , 'KeyType' : 'HASH' } , ] , ProvisionedThroughput = { 'ReadCapacityUnits' : 5 , 'WriteCapacityUnits' : 5 } ) dynamodb_client . get_waiter ( 'table_exists' ) . wait ( TableName = table_name ) except ClientError as e : # Table already exists if e . response [ 'Error' ] [ 'Code' ] == 'ResourceInUseException' : pass else : raise e
Create DynamoDB table for run manifests

    Arguments:
    dynamodb_client - boto3 DynamoDB client (not service)
    table_name - string representing existing table name
Create DynamoDB table for run manifests