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.")