Object
对象由查询 S3 存储桶对象的 S3Client.* 方法返回。具体来说,包括 listObjects
、getObject
、putObject
和 deleteObject
。Object 结构描述了一个 Amazon S3 对象。
名称 | 类型 | 描述 |
---|---|---|
Object.key | string | S3 对象的名称。 |
Object.lastModified | number | S3 对象的上次修改日期。 |
Object.etag | string | S3 对象的 etag 是对象的哈希值。ETag 仅反映对象内容的更改,不反映其元数据的更改。ETag 可能或可能不是对象数据的 MD5 摘要。 |
Object.size | size | S3 对象的大小(字节)。 |
Object.storageClass | STANDARD | REDUCED_REDUNDANCY | GLACIER | STANDARD_IA | INTELLIGENT_TIERING | DEEP_ARCHIVE | OUTPOSTS | GLACIER_IR | 用于存储 S3 对象的存储类别。 |
Object.data | string 或 bytes 或 null | S3 对象的内容。 |
示例
import exec from 'k6/execution';
import {
// listBuckets,
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,
});
const s3 = new S3Client(awsConfig);
const testBucketName = 'test-jslib-aws';
const testFileKey = 'bonjour.txt';
export default async function () {
const objects = await s3.listObjects(testBucketName);
// If our test object does not exist, abort the execution.
if (objects.filter((o) => o.key === testFileKey).length == 0) {
exec.test.abort();
}
// Let's download our test object and print its content
const object = await s3.getObject(testBucketName, testFileKey);
console.log(JSON.stringify(object));
}
一个将查询 S3 存储桶对象并打印其内容和元数据的 k6 脚本