如何使用用户元数据模拟S3 putObject()?

时间:2016-12-20 17:58:33

标签: amazon-web-services amazon-s3 mock-aws-s3

我在使用putObject()时需要模拟AWS S3。

调用函数时,我需要使用用户元数据值创建文件。 我试图通过网络找到一些代码示例,但我发现只有这个基本代码:

var AWSMock = require('mock-aws-s3');
AWSMock.config.basePath = '/tmp/buckets/' // Can configure a basePath for your local buckets
var s3 = AWSMock.S3({
    params: { Bucket: 'example' }
});
s3.putObject({Key: 'sea/animal.json', Body: '{"is dog":false,"name":"otter","stringified object?":true}'}, function(err, data) {
    s3.listObjects({Prefix: 'sea'}, function (err, data) {
        console.log(data);
    });
});

不幸的是,它不包括用户元数据映射。

1 个答案:

答案 0 :(得分:1)

在您传递给putObject()函数的参数中,包含一个Metadata键,其中包含您要与S3对象一起存储的元数据的键/值对。

示例:

s3.putObject({Key: 'sea/animal.json', Metadata: {MyKey: 'MyValue', MyKey2: 'MyValue2'}, Body: '{"is dog":false,"name":"otter","stringified object?":true}'}, function(err, data) { ... });

请参阅:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property