3

使用 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);
    });
});

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

4

1 回答 1

3

在传递给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

于 2016-12-20T23:21:34.940 回答