def main()

in subscribers/python/export-data-sets/export-data-sets.py [0:0]


def main(bucket,data_set_ids,region,key_pattern):
    global dx,s3
    if not bucket:
        print("No s3 bucket provided")
    elif not data_set_ids:
        print("No data_set_ids provided")
    if not region:
        print("No region provided")
    else:
        #Override region for connections.
        if not key_pattern:
            key_pattern= "${Revision.Id}/${Asset.Name}" 
        dx = boto3.client('dataexchange', region_name=region)
        s3 = boto3.client('s3', region_name=region)
        print(s3.get_bucket_location(Bucket=bucket))
        location = s3.get_bucket_location(Bucket=bucket)['LocationConstraint']
        if location == None:
            location='us-east-1'

        if region != location.replace("'",""):
            print ('Data set region does not match bucket\'s region. Cross region exports incur additional charges and cross-region exports over 100GB might fail.')
            if input('Do You Want To Continue? (y/n) ') != 'y':
                print('Cancelling export.')
                exit()
        
        #loop through data_set_ids and extract
        for data_set_id in data_set_ids.split(","):
            revisions = get_revisions(data_set_id)
            print("Initiating export for data set {} ".format(data_set_id))
            export_revisions(data_set_id,revisions,bucket,key_pattern)
            print("Export for data set {} is complete".format(data_set_id))
        print("Export complete.")