in subscribers/python/download-entitled-assets/download-entitled-assets.py [0:0]
def export_assets(assets, bucket):
asset_destinations = []
for asset in assets:
asset_destinations.append({
"AssetId": asset.get('Id'),
"Bucket": bucket,
"Key": asset.get('Name')
})
job = dx.create_job(Type='EXPORT_ASSETS_TO_S3', Details={
"ExportAssetsToS3": {
"RevisionId": asset.get("RevisionId"), "DataSetId": asset.get("DataSetId"),
"AssetDestinations": asset_destinations
}
})
job_id = job.get('Id')
dx.start_job(JobId=job_id)
while True:
job = dx.get_job(JobId=job_id)
if job.get('State') == 'COMPLETED':
break
elif job.get('State') == 'ERROR':
raise Exception("Job {} failed to complete - {}".format(
job_id, job.get('Errors')[0].get('Message'))
)
time.sleep(1)