SNS 可以在对象创建事件后将用户元数据传递到休息层吗?
Can SNS pass user-metadata to rest layer after object created event?
当我执行放置操作以将新对象添加到 s3 存储桶时,我需要传递用户元数据。上传文件(创建对象)后,我希望 s3:ObjectCreated:put 将通知传递给其余 api 方法调用以进行进一步处理。
我找到了关于如何将用户元数据传递给 put 操作的文档,但没有找到关于如何在将消息发送到 rest api 方法时使 sns 消息包含用户元数据的文档。
sns 消息是否会自动包含新创建对象的用户元数据,或者我是否必须执行一些额外的配置才能实现这一点?
更新:
我是否应该使用 node.js:
生成这样的 head 请求
let authString: string = "AWS AKIAIOSFODNN7EXAMPLE:02236Q3V0RonhpaBX5sCYVf1bNRuU=";
var options = {
host: 'bucket.s3.amazonaws.com',
path: '/filename.jpg',
method: 'HEAD',
headers: { 'Authorization': authString, 'Date': 'Date: Wed, 28 Oct 2009 22:32:00 GMT' }
};
var req = https.request(options, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
接收 SNS 消息的代码需要向存储桶发送 HEAD
请求以获取对象的元数据。此操作在 SDK 中采用类似于 getObjectMetadata
的各种名称。
它不包含在事件通知中。
或者您可以编写一个 Lambda 函数来接收初始事件、获取元数据并将所有内容组合到一个包含您需要的所有内容的新通知消息结构中,然后将其发送回 SNS 或 SQS 或直接发送到您的 API.
当我执行放置操作以将新对象添加到 s3 存储桶时,我需要传递用户元数据。上传文件(创建对象)后,我希望 s3:ObjectCreated:put 将通知传递给其余 api 方法调用以进行进一步处理。
我找到了关于如何将用户元数据传递给 put 操作的文档,但没有找到关于如何在将消息发送到 rest api 方法时使 sns 消息包含用户元数据的文档。
sns 消息是否会自动包含新创建对象的用户元数据,或者我是否必须执行一些额外的配置才能实现这一点?
更新:
我是否应该使用 node.js:
生成这样的 head 请求 let authString: string = "AWS AKIAIOSFODNN7EXAMPLE:02236Q3V0RonhpaBX5sCYVf1bNRuU=";
var options = {
host: 'bucket.s3.amazonaws.com',
path: '/filename.jpg',
method: 'HEAD',
headers: { 'Authorization': authString, 'Date': 'Date: Wed, 28 Oct 2009 22:32:00 GMT' }
};
var req = https.request(options, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
接收 SNS 消息的代码需要向存储桶发送 HEAD
请求以获取对象的元数据。此操作在 SDK 中采用类似于 getObjectMetadata
的各种名称。
它不包含在事件通知中。
或者您可以编写一个 Lambda 函数来接收初始事件、获取元数据并将所有内容组合到一个包含您需要的所有内容的新通知消息结构中,然后将其发送回 SNS 或 SQS 或直接发送到您的 API.