def doUploadPart(partETags, bucketName, objectKey, partNumber, uploadId, filePath, partSize, offset): if IS_WINDOWS: global obsClient else: obsClient = ObsClient(access_key_id=AK, secret_access_key=SK, server=server) resp = obsClient.uploadPart(bucketName, objectKey, partNumber, uploadId, content=filePath, isFile=True, partSize=partSize, offset=offset) if resp.status < 300: partETags[partNumber] = resp.body.etag print('Part#' + str(partNumber) + 'done\n') else: print('\tPart#' + str(partNumber) + ' failed\n')
# Constructs a obs client instance with your account for accessing OBS obsClient = ObsClient(access_key_id=AK, secret_access_key=SK, server=server) # Create bucket print('Create a new bucket for demo\n') obsClient.createBucket(bucketName) # Step 1: initiate multipart upload print('Step 1: initiate multipart upload \n') resp = obsClient.initiateMultipartUpload(bucketName, objectKey) uploadId = resp.body.uploadId # Step 2: upload a part print('Step 2: upload a part\n') partNum = 1 resp = obsClient.uploadPart(bucketName, objectKey, partNumber=partNum, uploadId=uploadId, content='Hello OBS') etag = dict(resp.header).get('etag') # Step 3: complete multipart upload print('Step 3: complete multipart upload\n') resp = obsClient.completeMultipartUpload( bucketName, objectKey, uploadId, CompleteMultipartUploadRequest([CompletePart(partNum=partNum, etag=etag)])) if resp.status < 300: print('Complete finished\n')