S3Part S3Part is returned by the
uploadPart(bucketName, objectKey, uploadId, partNumber, data)
method when uploading a part to a multipart upload. The S3Part object describes an Amazon S3 Part.
Expand table
Name Type Description S3Part.partNumber
number The S3 Part’number S3Part.eTag
String The S3 Part’s etag
Example Expand code
import crypto from 'k6/crypto' ;
import exec from 'k6/execution' ;
import {
AWSConfig,
S3Client,
} from 'https://jslib.k6.io/aws/0.13.0/s3.js' ;
const awsConfig = new AWSConfig ( {
region : __ENV. AWS_REGION ,
accessKeyId : __ENV. AWS_ACCESS_KEY_ID ,
secretAccessKey : __ENV. AWS_SECRET_ACCESS_KEY ,
sessionToken : __ENV. AWS_SESSION_TOKEN ,
} ) ;
const s3 = new S3Client ( awsConfig) ;
const testBucketName = 'test-jslib-aws' ;
const testFileKey = 'multipart.txt' ;
export default async function ( ) {
const bigFile = crypto. randomBytes ( 12 * 1024 * 1024 ) ;
const multipartUpload = await s3. createMultipartUpload ( testBucketName, testFileKey) ;
const firstPartData = bigFile. slice ( 0 , 6 * 1024 * 1024 ) ;
const firstPart = await s3. uploadPart (
testBucketName,
testFileKey,
multipartUpload. uploadId,
1 ,
firstPartData
) ;
const secondPartData = bigFile. slice ( 6 * 1024 * 1024 , 12 * 1024 * 1024 ) ;
const secondPart = await s3. uploadPart (
testBucketName,
testFileKey,
multipartUpload. uploadId,
2 ,
secondPartData
) ;
await s3. completeMultipartUpload ( testBucketName, testFileKey, multipartUpload. uploadId, [
firstPart,
secondPart,
] ) ;
const obj = await s3. getObject ( testBucketName, testFileKey) ;
await s3. deleteObject ( testBucketName, testFileKey) ;
}
A k6 script that will upload a part in a multipart upload to an S3 bucket