我正在将数据从 aws s3 存储桶迁移到 GCS。我正在使用 gc 中的这个函数来创建一个每段时间都运行的作业。 sink_bucket 发生异常,请使用 %tb 查看完整的回溯。" SystemExit: 2
是否有另一种方法可以将数据从 aws s3 存储桶迁移到 gcs 中?
如何解决?
def main(description, project_id, start_date, start_time, source_bucket,
access_key_id, secret_access_key, sink_bucket):
storagetransfer = googleapiclient.discovery.build('storagetransfer', 'v1')
# Edit this template with desired parameters.
transfer_job = {
'description': 'migrate from s3 to gcs',
'status': 'ENABLED',
'projectId': '*******',
'schedule': {
'scheduleStartDate': {
'day': '6',
'month': '5',
'year': '2020'
},
'scheduleEndDate': {
'day': '7',
'month': '5',
'year': '2020'
},
'startTimeOfDay': {
'hours': '12',
'minutes': '01',
'seconds': '01'
}
},
'transferSpec': {
'awsS3DataSource': {
'bucketName': '*****',
'awsAccessKey': {
'accessKeyId': '*******',
'secretAccessKey': '*******'
}
},
'gcsDataSink': {
'bucketName': '*****'
}
}
}
result = storagetransfer.transferJobs().create(body=transfer_job).execute()
print('Returned transferJob: {}'.format(
json.dumps(result, indent=4)))
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('description', help='Transfer description.')
parser.add_argument('project_id', help='Your Google Cloud project ID.')
parser.add_argument('start_date', help='Date YYYY/MM/DD.')
parser.add_argument('start_time', help='UTC Time (24hr) HH:MM:SS.')
parser.add_argument('source_bucket', help='AWS source bucket name.')
parser.add_argument('access_key_id', help='Your AWS access key id.')
parser.add_argument(
'secret_access_key',
help='Your AWS secret access key.'
)
parser.add_argument('sink_bucket', help='GCS sink bucket name.')
args = parser.parse_args()
start_date = datetime.datetime.strptime(args.start_date, '%Y/%m/%d')
start_time = datetime.datetime.strptime(args.start_time, '%H:%M:%S')
main(
args.description,
args.project_id,
start_date,
start_time,
args.source_bucket,
args.access_key_id,
args.secret_access_key,
args.sink_bucket)