

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Lightsail 객체 스토리지 버킷의 키 이름
<a name="understanding-bucket-object-key-names-in-amazon-lightsail"></a>

버킷에 업로드하는 파일은 Amazon Lightsail 객체 스토리지 서비스에 객체로 저장됩니다. 객체 키(또는 키 이름)는 버킷에 저장된 객체를 고유하게 식별합니다. 이 가이드에서는 Lightsail 콘솔을 통해 볼 수 있는 버킷의 폴더 구조를 구성하는 키 이름 및 키 이름 접두사의 개념을 안내합니다. 버킷에 대한 자세한 내용은 [객체 스토리지](buckets-in-amazon-lightsail.md)를 참조하세요.

## 키 이름
<a name="bucket-object-key-names"></a>

Lightsail 객체 스토리지 서비스 데이터 모델은 파일 시스템에서 볼 수 있는 계층 구조 대신 단순한 구조를 사용합니다. 이 모델에는 폴더 및 하위 폴더의 계층이 없습니다. 그러나 키 이름 접두사와 구분 기호를 사용하여 논리적 계층을 유추할 수 있습니다. Lightsail 콘솔은 키 이름 접두사를 사용하여 객체를 폴더 구조로 표시합니다.

버킷에 다음과 같은 객체 키를 가진 4개의 객체가 있다고 가정해 보겠습니다.
+ `Development/Projects.xls`
+ `Finance/statement1.pdf`
+ `Private/taxdocument.pdf`
+ `to-dos.doc`

Lightsail 콘솔은 키 이름 접두사(`Development/`, `Finance/`, `Private/`) 및 구분 기호(`/`)를 사용하여 폴더 구조를 표현합니다. `to-dos.doc` 키 이름에는 접두사가 없으므로, 이 객체는 버킷의 루트 수준에 표시됩니다. Lightsail 콘솔에서 `Development/` 폴더를 찾으면 `Projects.xls` 객체가 표시됩니다. `Finance/` 폴더에는 `statement1.pdf` 객체가 표시되고, `Private/` 폴더에는 `taxdocument.pdf` 객체가 표시됩니다.

Lightsail 콘솔에서는 키 이름 접두사 및 구분 기호 값을 키 이름으로 사용하여 0바이트 객체를 만들어 폴더를 생성할 수 있습니다. 이러한 폴더 객체는 콘솔에 표시되지 않습니다. 그러나 다른 객체처럼 동작합니다. Amazon S3 API, AWS Command Line Interface (AWS CLI) 또는 AWS SDKs.

## 객체 키 명명 지침
<a name="object-key-naming-guidelines"></a>

객체 키 이름에 임의의 UTF-8 문자를 사용할 수 있습니다. 하지만 특정 문자는 키 이름에 사용하면 일부 애플리케이션 또는 프로토콜에 문제가 발생할 수도 있습니다. 다음 지침에 따르면 DNS, 웹 안전 문자, XML 파싱 프로그램 및 기타 API의 호환성을 극대화할 수 있습니다.

### 사용 가능 문자
<a name="w2aac59c37b7b5"></a>

다음 문자 집합은 일반적으로 키 이름으로 사용해도 문제가 되지 않습니다.
+ 영숫자
  + 0\~9
  + a-z
  + A\~Z
+ 특수 문자
  + 슬래시(`/`)
  + 느낌표(`!`)
  + 하이픈(`-`)
  + 밑줄(`_`)
  + 마침표(`.`)
  + 별표(`*`)
  + 작은 따옴표(`'`)
  + 여는 괄호(`(`)
  + 닫는 괄호(`)`)

다음은 유효한 객체 키 이름의 예입니다.
+ `4my-organization`
+ `my.great_photos-2014/jan/myvacation.jpg`
+ `videos/2014/birthday/video1.wmv`

**중요**  
객체 키 이름이 마침표(.) 또는 2개의 마침표(..)로 끝나는 경우 Lightsail 콘솔을 사용하여 객체를 다운로드할 수 없습니다. 키 이름이 하나 또는 두 마침표로 끝나는 객체를 다운로드하려면 Amazon S3 API AWS CLI및 AWS SDKs 사용해야 합니다. 자세한 내용은 [버킷의 객체 다운로드](amazon-lightsail-downloading-bucket-objects.md)를 참조하세요.

### 특별한 처리가 필요한 문자
<a name="asdf"></a>

키 이름에서 다음 문자는 추가 코드 처리가 필요할 수도 있으며 URL 인코딩되거나 HEX로 참조해야 할 수 있습니다. 이러한 문자 중 일부는 인쇄가 되지 않으며 브라우저에서 처리하지 못할 수 있으므로 특별한 처리가 필요합니다.
+ 앰퍼샌드(‘`&`‘)
+ 달러(‘`$`‘)
+ ASCII 문자 범위 00-1F(16진수, 10진수: 0\~31) 및 7F(10진수: 127)
+ '@' 기호(‘`@`‘)
+ 등호(‘`=`‘)
+ 세미콜론(‘`;`")
+ 콜론(‘`:`‘)
+ 더하기(‘`+`‘)
+ 공백 – 경우에 따라 중요한 의미가 있는 공백의 순서가 사라질 수 있음(특히 공백이 여러 개 있는 경우)
+ 쉼표(‘`,`‘)
+ 물음표(‘`?`‘)

### 피해야 하는 문자
<a name="key-name-characters-to-avoid"></a>

모든 애플리케이션 간 일관성을 유지하기 위해 상당한 특수 처리가 필요하므로 다음과 같은 문자는 키 이름에서 사용하지 않는 것이 좋습니다.
+ 백슬래시(‘`\`‘)
+ 왼쪽 중괄호(‘`{`‘)
+ 인쇄되지 않는 ASCII 문자(128\~255 사이의 10진수)
+ 캐럿(‘`^`‘)
+ 오른쪽 중괄호(‘`}`‘)
+ 백분율 문자(‘`%`‘)
+ 억음 악센트 기호(‘```‘)
+ 오른쪽 대괄호(‘`]`‘)
+ 인용 부호
+ '보다 큼' 기호(‘`>`‘)
+ 왼쪽 대괄호(‘`[`‘)
+ 물결표(‘`~`‘)
+ '보다 작음' 기호(‘`<`‘)
+ '파운드' 문자(‘`#`‘)
+ 세로 막대/파이프(‘`|`‘)

## XML 관련 객체 키 제한 사항
<a name="xml-object-key-constraints"></a>

[줄 끝 처리의 XML 표준](https://www.w3.org/TR/REC-xml/#sec-line-ends)에서 지정한 대로 모든 XML 텍스트는 단일 캐리지 리턴(ASCII 코드 13) 및 줄 바꿈 바로 뒤에 오는 캐리지 리턴(ASCII 코드 10)이 단일 줄 바꿈 문자로 대체되도록 정규화됩니다. XML 요청에서 객체 키를 올바르게 구문 분석하려면 캐리지 리턴 및 [기타 특수 문자가 XML 태그 내에 삽입될 때 해당 XML 엔터티 코드로 대체되어야](https://www.w3.org/TR/xml/#syntax) 합니다. 다음은 이러한 특수 문자 및 대응하는 엔터티 코드의 목록입니다.
+ `'` 문자: `&apos;`
+ `”` 문자: `&quot;`
+ `&` 문자: `&amp;`
+ `<` 문자: `&lt;`
+ `<` 문자: `&gt;`
+ `\r` 문자: `&#13;` 또는 `&#x0D;`
+ `\n` 문자: `&#10;` 또는 `&#x0A;`

다음 예에서는 캐리지 리턴의 대체물로 XML 엔터티 코드를 사용하는 방법을 보여줍니다. `DeleteObjects` 요청은 `/some/prefix/objectwith\rcarriagereturn` 키 파라미터가 있는 객체를 삭제합니다. 여기서 \\r은 캐리지 리턴입니다.

```
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <Object>
        <Key>/some/prefix/objectwith&#13;carriagereturn</Key>
      </Object>
    </Delete>
```