相关疑难解决方法(0)

什么是可以通过S3 rest API访问的有效S3密钥名称?

从AWS文档中,我理解:

  • S3密钥名称可以是任何UNICODE名称<1024个字符
  • 使用GET OBJ时,我需要对密钥名称进行URL编码以访问它.

但是,这些规则似乎过于宽松.

例如,如果我创建一个名为"../../d"的密钥,当我尝试使用GET OBJECT API访问它时会发生400 ERROR.有趣的是,访问'../d'没问题.

是否有文件说明什么是合法的?

amazon-s3

45
推荐指数
2
解决办法
4万
查看次数

使用 Javascript 'aws-sdk' v3 获取上传的对象 URL

目前我们使用的是aws-sdkv2,通过这种方式提取上传的文件URL

  const res = await S3Client
    .upload({
      Body: body,
      Bucket: bucket,
      Key: key,
      ContentType: contentType,
    })
    .promise();

  return res.Location;
Run Code Online (Sandbox Code Playgroud)

现在我们要升级到aws-sdkv3,新的文件上传方式如下所示

const command = new PutObjectCommand({
  Body: body,
  Bucket: bucket,
  Key: key,
  ContentType: contentType,
});

const res = await S3Client.send(command);
Run Code Online (Sandbox Code Playgroud)

不幸的是,res对象现在不包含Location属性。

getSignedUrlSDK功能看起来不太合适,因为它只是生成一个带有到期日期的URL(可能可以将其设置为一些额外的巨大持续时间,但无论如何,我们仍然需要有可能分析URL路径)

对我来说,手动构建 URL 看起来不是一个好主意,也不是一个稳定的解决方案。

amazon-s3 aws-sdk aws-sdk-nodejs aws-sdk-js

9
推荐指数
1
解决办法
4347
查看次数

AWS S3 Cli获取对象url

我想列出我的公共存储桶中所有文件的对象 URL。我阅读了所有有关 s3 和 s3api 的文档,但找不到我要找的内容。

我不想定义预签名 URL。我想列出文件夹中所有文件的现有 URL。

很抱歉我无法添加代码,但我有一个非常具体的问题,我找不到我的起点。

如果有人帮忙,我将不胜感激。

解决方案: https: //github.com/cagdasdemirer/AWS-S3-URL-Listing

url object command-line-interface amazon-s3 amazon-web-services

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