Skip to content

Instantly share code, notes, and snippets.

@crabba
Last active February 23, 2024 03:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save crabba/6ca903b0846fcfefdcc2943f8215d684 to your computer and use it in GitHub Desktop.
Save crabba/6ca903b0846fcfefdcc2943f8215d684 to your computer and use it in GitHub Desktop.
Basis for a boto3 script
#! /usr/bin/env python3
import argparse
import boto3
import logging
parser = argparse.ArgumentParser(description='Retrieve Omics test run results')
parser.add_argument('-p', '--profile', dest='profile', metavar='PROFILE', help='AWS profile to use')
parser.add_argument('-n', '--name', dest='name', metavar='NAME', help='Name of test (run prefix)')
parser.add_argument('-v', '--verbose', dest='verbose', action='count', default=0, help='Verbosity (up to 3x)')
args = parser.parse_args()
FORMAT = '%(asctime)s %(levelname)s %(message)s'
levels = [logging.WARNING, logging.INFO, logging.DEBUG]
level = levels[min(args.verbose, len(levels) - 1)] # cap to last level index
logging.basicConfig(format=FORMAT, level=level)
logger = logging.getLogger('myLogger')
if (logging.root.level < logging.WARNING):
print(f'Logging at level {logging.getLevelName(logging.root.level)}')
session = boto3.session.Session(profile_name=args.profile)
s3 = session.client('s3')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment