gpt4 book ai didi

amazon-s3 - 可以通过 S3 REST API 访问的有效 S3 key 名称是什么?

转载 作者:行者123 更新时间:2023-12-03 06:22:45 25 4
gpt4 key购买 nike

从 AWS 文档中,我了解到:

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

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

例如,如果我创建一个名为“../../d”的 key ,则当我尝试使用 GET OBJECT API 访问它时,会出现 400 错误。有趣的是,我访问“../d”没有问题。

是否有文件指定什么是合法的,什么是不合法的?

最佳答案

根据AWS S3 documentation :

Although you can use any UTF-8 characters in an object key name, the following key naming best practices help ensure maximum compatibility with other applications. Each application may parse special characters differently. The following guidelines help you maximize compliance with DNS, web safe characters, XML parsers, and other APIs.

请在下面找到

来自 AWS S3 official documentation 的对象键命名指南

<小时/>

安全字符

以下字符集在键名称中使用通常是安全的:

  • 字母数字字符:0-9 a-z A-Z
  • 特殊字符:! -_。 * ' ( )
<小时/>

关于分隔符的注释(“/”)

以下是有效对象键名称的示例:

  • 4my-organization

  • my.great_photos-2014/jan/myvacation.jpg

  • videos/2014/birthday/video1.wmv

请注意,Amazon S3 数据模型是平面结构:您创建一个存储桶,该存储桶存储对象。没有子存储桶或子文件夹的层次结构;但是,您可以像 Amazon S3 控制台一样使用键名前缀和分隔符来推断逻辑层次结构。

例如,如果您使用 Private/taxdocument.pdf 作为 key ,它将创建 Private 文件夹,其中包含 taxdocument.pdf .

Amazon S3 supports buckets and objects, there is no hierarchy in Amazon S3. However, the prefixes and delimiters in an object key name, enables the Amazon S3 console and the AWS SDKs to infer hierarchy and introduce concept of folders.

<小时/>

可能需要特殊处理的字符

键名称中的以下字符可能需要额外的代码处理,并且可能需要进行 URL 编码或作为十六进制引用。其中一些是不可打印的字符,您的浏览器可能无法处理它们,这也需要特殊处理:

  • 与号(“&”)
  • “At”符号(“@”)
  • 冒号(“:”)
  • 逗号(“,”)
  • 美元(“$”)
  • 等于 ("=")
  • 加号(“+”)
  • 问号(“?”)
  • ASCII 字符范围为 00–1F 十六进制(十进制 0–31)和 7F(十进制 127)。
  • 分号(“;”)
  • 空格 - 在某些用途中可能会丢失重要的空格序列(尤其是多个空格)
<小时/>

要避免的字符

您应该避免在键名称中使用以下字符,因为为了保证所有应用程序之间的一致性,需要进行重要的特殊处理。

  • 反斜杠(“\”)
  • 插入符(“^”)
  • 重音/反勾(“`”)
  • “大于”符号 (">")
  • “小于”符号(“<”)
  • 左大括号(“{”)
  • 右花括号(“}”)
  • 右方括号(“]”)
  • 左方括号(“[”)
  • “井号”字符(“#”)
  • 不可打印的 ASCII 字符(128–255 个十进制字符)
  • 百分号字符(“%”)
  • 引号(“”和“'”)
  • 波形符(“~”)
  • 竖线/竖线(“|”)

关于amazon-s3 - 可以通过 S3 REST API 访问的有效 S3 key 名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com