小编Str*_*Hat的帖子

AWS S3 签名 url - X-Amz-Security-Token 过期太早

我处于这种情况,我需要一个预签名的网址才能生存一个月左右。由于签名 v4 无法提供此功能,因此我决定暂时使用 V2。

我已将过期时间设置为 1 个月,但由于某种原因它会在 1 天后过期?(不知道具体到期时间,可能是同一天)

<Code>ExpiredToken</Code>
<Message>The provided token has expired.</Message>
Run Code Online (Sandbox Code Playgroud)

当我进一步深入研究时,问题似乎出在 X-Amz-Security-Token 上,它过期得太早了。但我不知道如何为此标头设置值?(找不到任何相关信息)

设置:它是一个 lambda 函数,可生成签名 url 以从 S3 获取文件。一切都是通过云信息来完成的。并使用 JavaScript SDK 完成

    const s3 = new AWS.S3({
    signatureVersion: 'v2',
    region: 'eu-west-1'
});

const bucketParam = {
    Bucket: 'test-bucket',
    Key: 'testFile-1111-2222',
    Expires: 2592000
};
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激

amazon-s3 amazon-web-services aws-cloudformation pre-signed-url aws-lambda

6
推荐指数
2
解决办法
8347
查看次数

使用 cloudformation yaml 在 Lambda 函数上添加 S3 触发器

所以我有这个问题,我很想:

  1. 创建 S3 存储桶
  2. 将此 S3 存储桶作为触发器添加到我正在使用的当前 lambda 函数中。

这是必须在 YAML 中完成的事情

我不知道如何设置它......到目前为止我已经设法创建了一个完美运行的 s3 存储桶,现在我只需要将它作为触发器附加到 lambda 函数。

在 AWS 控制台中设置非常容易,但我对 YAML 没有太多经验。所以我不知道如何正确设置它,而且该文件非常敏感,所以它很痛苦:-)。

  • 运行时:node.js 10.x

yaml 的最终结果:

在此处输入图片说明

yaml amazon-web-services aws-cloudformation aws-sdk aws-lambda

5
推荐指数
1
解决办法
4299
查看次数

AWS - 元数据设置为小写

所以我有一个问题,每当我尝试使用预签名 URL 将文件发布到 s3 存储桶时,元数据的密钥将被强制为小写?

我查看了预签名 URL,当 URL 生成时它已经设置了小写部分,我想知道为什么?我该如何解决这个问题?

我尝试在文件的 s3 存储桶中创建手动键值对,显然我也可以在其中设置大写字母的键?

   const params = {
        Bucket: 'buckets3',
        Key: 'hoho-fileUpload-' + uuid.v4(),
        Metadata: {"FooBar": "FooBar"},
        Expires: 600
    };
Run Code Online (Sandbox Code Playgroud)

s3 中的电流输出:

x-amz-meta-foobar: FooBar

许愿输出:

x-amz-meta-FooBar:FooBar

metadata amazon-s3 amazon-web-services pre-signed-url aws-sdk

2
推荐指数
1
解决办法
1359
查看次数