Package: jblibaws
jblib-awsAuthor: Justin BardThis module was written to minimize the need to write the functions I use often.INSTALL:python3 -m pip install jblibawsThe source code can be viewed here:https://github.com/ANamelessDrake/jblib-awsMore of my projects can be found here:http://justbard.comtalk_with_dynamoA class that provides functionality for interacting with AWS DynamoDB tables. It allows you to perform various operations like querying, getting items, updating, inserting, deleting, and scanning the table.classtalk_with_dynamo(table,boto_session,region='us-east-1')Example:table_name="table-name"boto_session=boto3.session.Session()dynamo=talk_with_dynamo(table_name,boto_session)# Generate Database Objectresponse=dynamo.query(partition_key,partition_key_attribute,sorting_key=False,sorting_key_attribute=False,index=False,queryOperator=False,betweenValue=False)print("Response:{}".format(response))getResponse=dynamo.getItem(partition_key,partition_key_attribute,sorting_key=False,sorting_key_attribute=False)batch_keys={'tableName':{'Keys':[{'PartitionKey':'PartitionKeyAttribute','SortingKey':'SortingKey'}]}}batchResponse=dynamo.batchGetItem(batch_keys)insert_response=dynamo.insert(json_object)print("Insert Response:{}".format(insert_response))update_response=dynamo.update(partition_key_attribute,sorting_key_attribute,update_key,update_attribute)update_response=dynamo.updateV2(partition_key_attribute,update_key,update_attribute,sorting_key_attribute=None)delete_response=dynamo.delete(partition_key_attribute,sorting_key_attribute=False,sorting_key=None,partition_key=None)scan_results=dynamo.scan(filter_expression=None,expression_attribute_values=None,max_pages=None)get_table_description=dynamo.getTableDescription()dynamo.clearTable()# Delete all entries in a table -- Use with cautionextractDynamoDBDataExtracts and cleans data from a payload retrieved from DynamoDB.Parameters:payload (dict): The payload containing data retrieved from DynamoDB as a dictionary.record (str): The key to access a specific piece of data within the payload.dataType (str, optional): The type of data to retrieve. Default is "S" (string).Returns:str or int or False: The extracted and cleaned data based on the specified record and dataType.Returns False if the specified record is not found, or if there is an error during data extraction.functionextractDynamoDBData(payload,record,dataType="S")Example:payload={"name":"John Doe","age":{"N":"30"},"address":"123 Main Street"}data=returnData(payload,"name")print(data)# Output: "John Doe"data=returnData(payload,"age",dataType="N")print(data)# Output: 30data=returnData(payload,"email")print(data)# Output: False (record not found in payload)talk_with_cognitoA class that provides functionality for interacting with AWS Cognito. It allows you to get a user's email address using their Cognito user ID.classtalk_with_cognito(boto_client,cognito_user_pool_id)Example:Functions:get_user_email(cognito_user_id)-GetsUserEmailAddressget_secretA function that retrieves a decoded secret from AWS Secrets Manager.functionget_secret(secret_name,region='us-east-1')Example:Functions:get_secret(secret_name)-ReturnsdecodedsecretfromAWSSecretsManager