我在使用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);
});
});
不幸的是,它不包括用户元数据映射。
答案 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