import boto3 from ssavva.amazon_unlimited.backfilling import data client = boto3.client('dynamodb') def populate_table(table_name): for date in data.ingestion_dates: client.put_item( TableName=table_name, Item={'date': {'S': date}}) def update_item(table_name, key_name, key_value, attribute_name, attribute_value): response = client.update_item( TableName=table_name, Key={key_name: {'S': key_value}}, AttributeUpdates={ attribute_name: { 'Value': {'S': attribute_value}, 'Action': 'PUT'} }) assert response['ResponseMetadata']['HTTPStatusCode'] == 200 return response def get_all_items_except_status(table_name, status_value): response = client.scan( TableName=table_name, Select='ALL_ATTRIBUTES', ScanFilter={ 'status': { 'AttributeValueList': [ {'S': status_value}, ], 'ComparisonOperator': 'NE' } }) return response['Items'] if __name__ == '__main__': populate_table('prod_amazon_unlimited_feed_ingestion_statuses')