

# AWS CLI를 사용한 Amazon S3 예시
<a name="cli_s3_code_examples"></a>

다음 코드 예시는 Amazon S3와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `abort-multipart-upload`
<a name="s3_AbortMultipartUpload_cli_topic"></a>

다음 코드 예시에서는 `abort-multipart-upload`의 사용 방법을 보여줍니다.

**AWS CLI**  
**지정된 멀티파트 업로드 중단**  
다음 `abort-multipart-upload` 명령은 `amzn-s3-demo-bucket` 버킷의 `multipart/01` 키에 대한 멀티파트 업로드를 중단합니다.  

```
aws s3api abort-multipart-upload \
    --bucket amzn-s3-demo-bucket \
    --key multipart/01 \
    --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
```
이 명령에 필요한 업로드 ID는 `create-multipart-upload`로 출력되며 `list-multipart-uploads`를 사용하여 가져올 수도 있습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [AbortMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/abort-multipart-upload.html)를 참조하세요.

### `complete-multipart-upload`
<a name="s3_CompleteMultipartUpload_cli_topic"></a>

다음 코드 예시에서는 `complete-multipart-upload`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 버킷 `amzn-s3-demo-bucket`의 키 `multipart/01`에 대한 멀티파트 업로드를 완료합니다.  

```
aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
```
이 명령에 필요한 업로드 ID는 `create-multipart-upload`로 출력되며 `list-multipart-uploads`를 사용하여 가져올 수도 있습니다.  
위 명령의 멀티파트 업로드 옵션은 전체 파일로 리어셈블해야 하는 멀티파트 업로드 부분을 설명하는 JSON 구조를 사용합니다. 이 예시에서는 `file://` 접두사를 사용하여 `mpustruct`라는 로컬 폴더에 있는 파일에서 JSON 구조를 로드합니다.  
mpustruct:  

```
{
  "Parts": [
    {
      "ETag": "e868e0f4719e394144ef36531ee6824c",
      "PartNumber": 1
    },
    {
      "ETag": "6bb2b12753d66fe86da4998aa33fffb0",
      "PartNumber": 2
    },
    {
      "ETag": "d0a0112e841abec9c9ec83406f0159c8",
      "PartNumber": 3
    }
  ]
}
```
업로드되는 각 파트의 ETag 값은 `upload-part` 명령을 사용하여 파트를 업로드할 때마다 출력되며, `list-parts`를 직접 호출하거나 각 파트의 MD5 체크섬으로 계산할 수도 있습니다.  
출력:  

```
{
    "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"",
    "Bucket": "amzn-s3-demo-bucket",
    "Location": "https://amzn-s3-demo-bucket.s3.amazonaws.com/multipart%2F01",
    "Key": "multipart/01"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CompleteMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/complete-multipart-upload.html)를 참조하세요.

### `copy-object`
<a name="s3_CopyObject_cli_topic"></a>

다음 코드 예시에서는 `copy-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `bucket-1`에서 `bucket-2`로 객체를 복사합니다.  

```
aws s3api copy-object --copy-source bucket-1/test.txt --key test.txt --bucket bucket-2
```
출력:  

```
{
    "CopyObjectResult": {
        "LastModified": "2015-11-10T01:07:25.000Z",
        "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\""
    },
    "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA"
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [CopyObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/copy-object.html)를 참조하세요.

### `cp`
<a name="s3_Cp_cli_topic"></a>

다음 코드 예시에서는 `cp`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 로컬 파일 S3에 복사**  
다음 `cp` 명령은 단일 파일을 지정된 버킷 및 키에 복사합니다.  

```
aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 2: 만료 날짜가 있는 로컬 파일을 S3에 복사**  
다음 `cp` 명령은 지정된 ISO 8601 타임스탬프에서 만료되는 지정된 버킷 및 키에 단일 파일을 복사합니다.  

```
aws s3 cp test.txt s3://amzn-s3-demo-bucket/test2.txt \
    --expires 2014-10-01T20:30:00Z
```
출력:  

```
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 3: S3에서 S3로 파일 복사**  
다음 `cp` 명령은 단일 s3 객체를 지정된 버킷 및 키에 복사합니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 4: Amazon S3 객체를 로컬 파일에 복사**  
다음 `cp` 명령은 단일 객체를 지정된 파일에 로컬로 복사합니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/test.txt test2.txt
```
출력:  

```
download: s3://amzn-s3-demo-bucket/test.txt to test2.txt
```
**예시 5: 한 버킷에서 다른 버킷으로 S3 객체 복사**  
다음 `cp` 명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷에 복사합니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt
```
**예시 6: S3 객체를 로컬 디렉터리에 반복적으로 복사**  
`--recursive` 파라미터와 함께 전달되면 다음 `cp` 명령은 지정된 접두사 및 버킷에 있는 모든 객체를 지정된 디렉터리에 반복적으로 복사합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `test2.txt` 객체가 있습니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket . \
    --recursive
```
출력:  

```
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt
download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt
```
**예시 7: 로컬 파일을 S3에 반복적으로 복사**  
`--recursive` 파라미터와 함께 전달되면 다음 `cp` 명령은 `--exclude` 파라미터를 사용하여 일부 파일을 제외하면서 지정된 디렉터리에 있는 모든 파일을 지정된 버킷 및 접두사에 반복적으로 복사합니다. 이 예시에서는 `myDir` 디렉터리에 `test1.txt` 및 `test2.jpg` 파일이 있습니다.  

```
aws s3 cp myDir s3://amzn-s3-demo-bucket/ \
    --recursive \
    --exclude "*.jpg"
```
출력:  

```
upload: myDir/test1.txt to s3://amzn-s3-demo-bucket/test1.txt
```
**예시 8: S3 객체를 다른 버킷에 반복적으로 복사**  
`--recursive` 파라미터와 함께 전달되면 다음 `cp` 명령은 `--exclude` 파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷에 있는 모든 객체를 다른 버킷에 반복적으로 복사합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `another/test1.txt` 객체가 있습니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \
    --recursive \
    --exclude "another/*"
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt
```
`--exclude` 및 `--include` 옵션을 결합하여 다른 모든 객체를 제외하고 패턴과 일치하는 객체만 복사할 수 있습니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/logs/ s3://amzn-s3-demo-bucket2/logs/ \
    --recursive \
    --exclude "*" \
    --include "*.log"
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/logs/test/test.log to s3://amzn-s3-demo-bucket2/logs/test/test.log
copy: s3://amzn-s3-demo-bucket/logs/test3.log to s3://amzn-s3-demo-bucket2/logs/test3.log
```
**예시 9: S3 객체를 복사하는 동안 액세스 제어 목록(ACL) 설정**  
다음 `cp` 명령은 ACL을 `public-read-write`로 설정하는 동안 단일 객체를 지정된 버킷 및 키에 복사합니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \
    --acl public-read-write
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
`--acl` 옵션을 사용하는 경우 관련 IAM 정책에 `"s3:PutObjectAcl"` 작업이 포함되어 있는지 확인합니다.  

```
aws iam get-user-policy \
    --user-name myuser \
    --policy-name mypolicy
```
출력:  

```
{
    "UserName": "myuser",
    "PolicyName": "mypolicy",
    "PolicyDocument": {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl"
                ],
                "Resource": [
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"
                ],
                "Effect": "Allow",
                "Sid": "Stmt1234567891234"
            }
        ]
    }
}
```
**예시 10: S3 객체에 대한 권한 부여**  
다음 `cp` 명령은 `--grants` 옵션을 사용하여 URI로 식별된 모든 사용자에게 읽기 액세스 권한을 부여하고 표준 ID로 식별된 특정 사용자에게 전체 제어를 부여하는 방법을 보여줍니다.  

```
aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
```
출력:  

```
upload: file.txt to s3://amzn-s3-demo-bucket/file.txt
```
**예시 11: S3에 로컬 파일 스트림 업로드**  
PowerShell은 의 인코딩을 변경하거나 파이프 입력에 CRLF를 추가할 수 있습니다.  
다음 `cp` 명령은 표준 입력에서 지정된 버킷 및 키로 로컬 파일 스트림을 업로드합니다.  

```
aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt
```
**예시 12: 50GB보다 큰 로컬 파일 스트림을 S3에 업로드**  
다음 `cp` 명령은 표준 입력에서 지정된 버킷 및 키로 51GB 로컬 파일 스트림을 업로드합니다. `--expected-size` 옵션을 제공해야 합니다. 그렇지 않으면 기본 부품 한도인 10,000에 도달하면 업로드가 실패할 수 있습니다.  

```
aws s3 cp - s3://amzn-s3-demo-bucket/stream.txt --expected-size 54760833024
```
**예시 13: 로컬 파일 스트림으로 S3 객체 다운로드**  
PowerShell은 의 인코딩을 변경하거나 파이프 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.  
다음 `cp` 명령은 S3 객체를 스트림으로 로컬에서 표준 출력으로 다운로드합니다. 스트림으로 다운로드는 현재 `--recursive` 파라미터와 호환되지 않습니다.  

```
aws s3 cp s3://amzn-s3-demo-bucket/stream.txt -
```
**예시 14: S3 액세스 포인트에 업로드**  
다음 `cp` 명령은 키(`mykey`)의 액세스 포인트(`myaccesspoint`)에 단일 파일(`mydoc.txt`)을 업로드합니다.  

```
aws s3 cp mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
출력:  

```
upload: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
**예시 15: S3 액세스 포인트에서 다운로드**  
다음 `cp` 명령은 액세스 포인트(`myaccesspoint`)에서 로컬 파일(`mydoc.txt`)로 단일 객체(`mykey`)를 다운로드합니다.  

```
aws s3 cp s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey mydoc.txt
```
출력:  

```
download: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey to mydoc.txt
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Cp](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/cp.html) 섹션을 참조하세요.

### `create-bucket`
<a name="s3_CreateBucket_cli_topic"></a>

다음 코드 예시에서는 `create-bucket`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷 생성**  
다음 `create-bucket` 예시에서는 `amzn-s3-demo-bucket`이라는 버킷을 생성합니다.  

```
aws s3api create-bucket \
    --bucket amzn-s3-demo-bucket \
    --region us-east-1
```
출력:  

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```
자세한 내용은 *Amazon S3 사용자 안내서*의 [버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)을 참조하세요.  
**예시 2: 소유자가 적용된 버킷 생성**  
다음 `create-bucket` 예시에서는 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하는 `amzn-s3-demo-bucket`이라는 버킷을 생성합니다.  

```
aws s3api create-bucket \
    --bucket amzn-s3-demo-bucket \
    --region us-east-1 \
    --object-ownership BucketOwnerEnforced
```
출력:  

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```
자세한 내용은 [Amazon S3 사용자 안내서](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)의 *객체 소유권 제어 및 ACL 비활성화*를 참조하세요.  
**예시 3: 'us-east-1' 리전 외부에서 버킷 생성**  
다음 `create-bucket` 예시에서는 `eu-west-1` 리전에서 `amzn-s3-demo-bucket`이라는 버킷을 생성합니다. `us-east-1` 외부 리전의 경우 원하는 리전에 버킷을 생성하려면 적절한 `LocationConstraint`를 지정해야 합니다.  

```
aws s3api create-bucket \
    --bucket amzn-s3-demo-bucket \
    --region eu-west-1 \
    --create-bucket-configuration LocationConstraint=eu-west-1
```
출력:  

```
{
    "Location": "http://amzn-s3-demo-bucket.s3.amazonaws.com/"
}
```
자세한 내용은 *Amazon S3 사용자 안내서*의 [버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)을 참조하세요.  
+  API 세부 정보는 **AWS CLI 명령 참조의 [CreateBucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html)을 참조하세요.

### `create-multipart-upload`
<a name="s3_CreateMultipartUpload_cli_topic"></a>

다음 코드 예시에서는 `create-multipart-upload`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 키 `multipart/01`를 사용하여 버킷 `amzn-s3-demo-bucket`에 멀티파트 업로드를 생성합니다.  

```
aws s3api create-multipart-upload --bucket amzn-s3-demo-bucket --key 'multipart/01'
```
출력:  

```
{
    "Bucket": "amzn-s3-demo-bucket",
    "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R",
    "Key": "multipart/01"
}
```
완성된 파일은 이름이 `01`이며 `amzn-s3-demo-bucket` 버킷의 `multipart` 폴더에 있습니다. `upload-part` 명령과 함께 사용할 업로드 ID, 키, 버킷 이름을 저장합니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateMultipartUpload](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-multipart-upload.html)를 참조하세요.

### `delete-bucket-analytics-configuration`
<a name="s3_DeleteBucketAnalyticsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-analytics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 분석 구성 삭제**  
다음 `delete-bucket-analytics-configuration` 예시에서는 지정된 버킷 및 ID에 대한 분석 구성을 제거합니다.  

```
aws s3api delete-bucket-analytics-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 1
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketAnalyticsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-analytics-configuration.html)을 참조하세요.

### `delete-bucket-cors`
<a name="s3_DeleteBucketCors_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-cors`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 Cross-Origin Resource Sharing 구성을 삭제합니다.  

```
aws s3api delete-bucket-cors --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketCors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-cors.html)를 참조하세요.

### `delete-bucket-encryption`
<a name="s3_DeleteBucketEncryption_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-encryption`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 서버 측 암호화 구성 삭제**  
다음 `delete-bucket-encryption` 예시에서는 지정된 버킷의 서버 측 암호화 구성을 삭제합니다.  

```
aws s3api delete-bucket-encryption \
    --bucket amzn-s3-demo-bucket
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketEncryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-encryption.html)을 참조하세요.

### `delete-bucket-intelligent-tiering-configuration`
<a name="s3_DeleteBucketIntelligentTieringConfiguration_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-intelligent-tiering-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에서 S3 Intelligent-Tiering 구성을 제거하는 방법**  
다음 `delete-bucket-intelligent-tiering-configuration` 예시에서는 버킷에서 ExampleConfig라는 S3 Intelligent-Tiering 구성을 제거합니다.  

```
aws s3api delete-bucket-intelligent-tiering-configuration \
    --bucket amzn-s3-demo-bucket \
    --id ExampleConfig
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon S3 사용 설명서*의 [S3 Intelligent-Tiering 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-intelligent-tiering.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketIntelligentTieringConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-intelligent-tiering-configuration.html) 섹션을 참조하세요.

### `delete-bucket-inventory-configuration`
<a name="s3_DeleteBucketInventoryConfiguration_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-inventory-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 인벤토리 구성 삭제**  
다음 `delete-bucket-inventory-configuration` 예시에서는 지정된 버킷에 대해 ID가 `1`인 인벤토리 구성을 삭제합니다.  

```
aws s3api delete-bucket-inventory-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 1
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketInventoryConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-inventory-configuration.html)을 참조하세요.

### `delete-bucket-lifecycle`
<a name="s3_DeleteBucketLifecycle_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-lifecycle`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 수명 주기 구성을 삭제합니다.  

```
aws s3api delete-bucket-lifecycle --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketLifecycle](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-lifecycle.html)을 참조하세요.

### `delete-bucket-metrics-configuration`
<a name="s3_DeleteBucketMetricsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-metrics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 지표 구성 삭제**  
다음 `delete-bucket-metrics-configuration` 예시에서는 지정된 버킷 및 ID에 대한 지표 구성을 제거합니다.  

```
aws s3api delete-bucket-metrics-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 123
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketMetricsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-metrics-configuration.html)을 참조하세요.

### `delete-bucket-ownership-controls`
<a name="s3_DeleteBucketOwnershipControls_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-ownership-controls`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 버킷 소유권 설정을 제거하는 방법**  
다음 `delete-bucket-ownership-controls` 예시에서는 버킷의 버킷 소유권 설정을 제거합니다.  

```
aws s3api delete-bucket-ownership-controls \
    --bucket amzn-s3-demo-bucket
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon S3 사용 설명서*의 [기존 버킷에 대한 객체 소유권 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketOwnershipControls](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-ownership-controls.html) 섹션을 참조하세요.

### `delete-bucket-policy`
<a name="s3_DeleteBucketPolicy_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 버킷 정책을 삭제합니다.  

```
aws s3api delete-bucket-policy --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-policy.html)를 참조하세요.

### `delete-bucket-replication`
<a name="s3_DeleteBucketReplication_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-replication`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 복제 구성을 삭제합니다.  

```
aws s3api delete-bucket-replication --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketReplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-replication.html)을 참조하세요.

### `delete-bucket-tagging`
<a name="s3_DeleteBucketTagging_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 태그 지정 구성을 삭제합니다.  

```
aws s3api delete-bucket-tagging --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-tagging.html)을 참조하세요.

### `delete-bucket-website`
<a name="s3_DeleteBucketWebsite_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket-website`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 웹 사이트 구성을 삭제합니다.  

```
aws s3api delete-bucket-website --bucket amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteBucketWebsite](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-website.html)를 참조하세요.

### `delete-bucket`
<a name="s3_DeleteBucket_cli_topic"></a>

다음 코드 예시에서는 `delete-bucket`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷을 삭제합니다.  

```
aws s3api delete-bucket --bucket amzn-s3-demo-bucket --region us-east-1
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [DeleteBucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket.html)을 참조하세요.

### `delete-object-tagging`
<a name="s3_DeleteObjectTagging_cli_topic"></a>

다음 코드 예시에서는 `delete-object-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체의 태그 세트 삭제**  
다음 `delete-object-tagging` 예시에서는 지정된 키가 있는 태그를 객체 `doc1.rtf`에서 삭제합니다.  

```
aws s3api delete-object-tagging \
    --bucket amzn-s3-demo-bucket \
    --key doc1.rtf
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteObjectTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object-tagging.html)을 참조하세요.

### `delete-object`
<a name="s3_DeleteObject_cli_topic"></a>

다음 코드 예시에서는 `delete-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 `test.txt`라는 객체를 삭제합니다.  

```
aws s3api delete-object --bucket amzn-s3-demo-bucket --key test.txt
```
버킷 버전 관리가 활성화된 경우 출력에는 삭제 마커의 버전 ID가 포함됩니다.  

```
{
  "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq",
  "DeleteMarker": true
}
```
객체를 삭제하는 방법에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 객체 삭제를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object.html)를 참조하세요.

### `delete-objects`
<a name="s3_DeleteObjects_cli_topic"></a>

다음 코드 예시에서는 `delete-objects`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 객체를 삭제합니다.  

```
aws s3api delete-objects --bucket amzn-s3-demo-bucket --delete file://delete.json
```
`delete.json`은 삭제할 객체를 지정하는 현재 디렉터리의 JSON 문서입니다.  

```
{
  "Objects": [
    {
      "Key": "test1.txt"
    }
  ],
  "Quiet": false
}
```
출력:  

```
{
    "Deleted": [
        {
            "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU",
            "Key": "test1.txt",
            "DeleteMarker": true
        }
    ]
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [DeleteObjects](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-objects.html)를 참조하세요.

### `delete-public-access-block`
<a name="s3_DeletePublicAccessBlock_cli_topic"></a>

다음 코드 예시에서는 `delete-public-access-block`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 퍼블릭 액세스 차단 구성 삭제**  
다음 `delete-public-access-block` 예시에서는 지정된 버킷에서 퍼블릭 액세스 차단 구성을 제거합니다.  

```
aws s3api delete-public-access-block \
    --bucket amzn-s3-demo-bucket
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeletePublicAccessBlock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-public-access-block.html)을 참조하세요.

### `get-bucket-accelerate-configuration`
<a name="s3_GetBucketAccelerateConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-accelerate-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 가속화 구성 가져오기**  
다음 `get-bucket-accelerate-configuration` 예시에서는 지정된 버킷에 대한 가속화 구성을 가져옵니다.  

```
aws s3api get-bucket-accelerate-configuration \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Status": "Enabled"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketAccelerateConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-accelerate-configuration.html)을 참조하세요.

### `get-bucket-acl`
<a name="s3_GetBucketAcl_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-acl`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 액세스 제어 목록을 가져옵니다.  

```
aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Owner": {
        "DisplayName": "my-username",
        "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32"
    },
    "Grants": [
        {
            "Grantee": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32"
            },
            "Permission": "FULL_CONTROL"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-acl.html)을 참조하세요.

### `get-bucket-analytics-configuration`
<a name="s3_GetBucketAnalyticsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-analytics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**특정 ID를 가진 버킷의 분석 구성 가져오기**  
다음 `get-bucket-analytics-configuration` 예시에서는 지정된 버킷 및 ID에 대한 분석 구성을 표시합니다.  

```
aws s3api get-bucket-analytics-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 1
```
출력:  

```
{
    "AnalyticsConfiguration": {
        "StorageClassAnalysis": {},
        "Id": "1"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketAnalyticsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-analytics-configuration.html)을 참조하세요.

### `get-bucket-cors`
<a name="s3_GetBucketCors_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-cors`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에 대한 Cross-Origin Resource Sharing 구성을 가져옵니다.  

```
aws s3api get-bucket-cors --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "CORSRules": [
        {
            "AllowedHeaders": [
                "*"
            ],
            "ExposeHeaders": [
                "x-amz-server-side-encryption"
            ],
            "AllowedMethods": [
                "PUT",
                "POST",
                "DELETE"
            ],
            "MaxAgeSeconds": 3000,
            "AllowedOrigins": [
                "http://www.example.com"
            ]
        },
        {
            "AllowedHeaders": [
                "Authorization"
            ],
            "MaxAgeSeconds": 3000,
            "AllowedMethods": [
                "GET"
            ],
            "AllowedOrigins": [
                "*"
            ]
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketCors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-cors.html)를 참조하세요.

### `get-bucket-encryption`
<a name="s3_GetBucketEncryption_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-encryption`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 서버 측 암호화 구성 가져오기**  
다음 `get-bucket-encryption` 예시에서는 `amzn-s3-demo-bucket` 버킷의 서버 측 암호화 구성을 가져옵니다.  

```
aws s3api get-bucket-encryption \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "ServerSideEncryptionConfiguration": {
        "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "AES256"
                }
            }
        ]
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketEncryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-encryption.html)을 참조하세요.

### `get-bucket-intelligent-tiering-configuration`
<a name="s3_GetBucketIntelligentTieringConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-intelligent-tiering-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에서 S3 Intelligent-Tiering 구성을 검색하는 방법**  
다음 `get-bucket-intelligent-tiering-configuration` 예시는 버킷에서 ExampleConfig라는 S3 Intelligent-Tiering 구성을 검색합니다.  

```
aws s3api get-bucket-intelligent-tiering-configuration \
    --bucket amzn-s3-demo-bucket \
    --id ExampleConfig
```
출력:  

```
{
    "IntelligentTieringConfiguration": {
        "Id": "ExampleConfig2",
        "Filter": {
            "Prefix": "images"
        },
        "Status": "Enabled",
        "Tierings": [
            {
                "Days": 90,
                "AccessTier": "ARCHIVE_ACCESS"
            },
            {
                "Days": 180,
                "AccessTier": "DEEP_ARCHIVE_ACCESS"
            }
        ]
    }
}
```
자세한 내용은 *Amazon S3 사용 설명서*의 [S3 Intelligent-Tiering 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-intelligent-tiering.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketIntelligentTieringConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-intelligent-tiering-configuration.html) 섹션을 참조하세요.

### `get-bucket-inventory-configuration`
<a name="s3_GetBucketInventoryConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-inventory-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 인벤토리 구성 가져오기**  
다음 `get-bucket-inventory-configuration` 예시에서는 지정된 버킷에 대해 ID가 `1`인 인벤토리 구성을 가져옵니다.  

```
aws s3api get-bucket-inventory-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 1
```
출력:  

```
{
    "InventoryConfiguration": {
        "IsEnabled": true,
        "Destination": {
            "S3BucketDestination": {
                "Format": "ORC",
                "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
                "AccountId": "123456789012"
            }
        },
        "IncludedObjectVersions": "Current",
        "Id": "1",
        "Schedule": {
            "Frequency": "Weekly"
        }
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketInventoryConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-inventory-configuration.html)을 참조하세요.

### `get-bucket-lifecycle-configuration`
<a name="s3_GetBucketLifecycleConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-lifecycle-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 수명 주기 구성을 가져옵니다.  

```
aws s3api get-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Rules": [
        {
            "ID": "Move rotated logs to Glacier",
            "Prefix": "rotated/",
            "Status": "Enabled",
            "Transitions": [
                {
                    "Date": "2015-11-10T00:00:00.000Z",
                    "StorageClass": "GLACIER"
                }
            ]
        },
        {
            "Status": "Enabled",
            "Prefix": "",
            "NoncurrentVersionTransitions": [
                {
                    "NoncurrentDays": 0,
                    "StorageClass": "GLACIER"
                }
            ],
            "ID": "Move old versions to Glacier"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketLifecycleConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-lifecycle-configuration.html)을 참조하세요.

### `get-bucket-lifecycle`
<a name="s3_GetBucketLifecycle_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-lifecycle`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 수명 주기 구성을 가져옵니다.  

```
aws s3api get-bucket-lifecycle --bucket amzn-s3-demo-bucket
```
출력:  

```
{
  "Rules": [
    {
      "ID": "Move to Glacier after sixty days (objects in logs/2015/)",
      "Prefix": "logs/2015/",
      "Status": "Enabled",
      "Transition": {
        "Days": 60,
        "StorageClass": "GLACIER"
      }
    },
    {
      "Expiration": {
        "Date": "2016-01-01T00:00:00.000Z"
      },
      "ID": "Delete 2014 logs in 2016.",
      "Prefix": "logs/2014/",
      "Status": "Enabled"
    }
  ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketLifecycle](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-lifecycle.html) 섹션을 참조하세요.

### `get-bucket-location`
<a name="s3_GetBucketLocation_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-location`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 위치 제약 조건을 가져옵니다(제약 조건이 있는 경우).  

```
aws s3api get-bucket-location --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "LocationConstraint": "us-west-2"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketLocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-location.html)을 참조하세요.

### `get-bucket-logging`
<a name="s3_GetBucketLogging_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-logging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 로깅 상태 가져오기**  
다음 `get-bucket-logging` 예시에서는 지정된 버킷의 로깅 상태를 가져옵니다.  

```
aws s3api get-bucket-logging \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "LoggingEnabled": {
        "TargetPrefix": "",
        "TargetBucket": "amzn-s3-demo-bucket-logs"
          }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-logging.html)을 참조하세요.

### `get-bucket-metrics-configuration`
<a name="s3_GetBucketMetricsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-metrics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**특정 ID를 가진 버킷의 지표 구성 가져오기**  
다음 `get-bucket-metrics-configuration` 예시에서는 지정된 버킷 및 ID의 지표 구성을 표시합니다.  

```
aws s3api get-bucket-metrics-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 123
```
출력:  

```
{
    "MetricsConfiguration": {
        "Filter": {
            "Prefix": "logs"
        },
        "Id": "123"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketMetricsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-metrics-configuration.html)을 참조하세요.

### `get-bucket-notification-configuration`
<a name="s3_GetBucketNotificationConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-notification-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 알림 구성을 가져옵니다.  

```
aws s3api get-bucket-notification-configuration --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "TopicConfigurations": [
        {
            "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl",
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic",
            "Events": [
                "s3:ObjectCreated:*"
            ]
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketNotificationConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-notification-configuration.html) 섹션을 참조하세요.

### `get-bucket-notification`
<a name="s3_GetBucketNotification_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-notification`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 알림 구성을 가져옵니다.  

```
aws s3api get-bucket-notification --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "TopicConfiguration": {
        "Topic": "arn:aws:sns:us-west-2:123456789012:my-notification-topic",
        "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl",
        "Event": "s3:ObjectCreated:*",
        "Events": [
            "s3:ObjectCreated:*"
        ]
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketNotification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-notification.html)을 참조하세요.

### `get-bucket-ownership-controls`
<a name="s3_GetBucketOwnershipControls_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-ownership-controls`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 버킷 소유권 설정을 검색하는 방법**  
다음 `get-bucket-ownership-controls` 예시에서는 버킷의 버킷 소유권 설정을 검색합니다.  

```
aws s3api get-bucket-ownership-controls \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "OwnershipControls": {
        "Rules": [
            {
                "ObjectOwnership": "BucketOwnerEnforced"
            }
        ]
    }
}
```
자세한 내용은 *Amazon S3 사용 설명서*의 [S3 버킷에 대한 객체 소유권 설정 보기](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-retrieving.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketOwnershipControls](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-ownership-controls.html) 섹션을 참조하세요.

### `get-bucket-policy-status`
<a name="s3_GetBucketPolicyStatus_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-policy-status`의 사용 방법을 보여줍니다.

**AWS CLI**  
**특정 버킷이 퍼블릭인지 나타내는 버킷 정책 상태 가져오기**  
다음 `get-bucket-policy-status` 예시에서는 버킷 `amzn-s3-demo-bucket`의 정책 상태를 가져옵니다.  

```
aws s3api get-bucket-policy-status \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "PolicyStatus": {
        "IsPublic": false
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketPolicyStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy-status.html)를 참조하세요.

### `get-bucket-policy`
<a name="s3_GetBucketPolicy_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 버킷 정책을 가져옵니다.  

```
aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::amzn-s3-demo-bucket/secret/*\"}]}"
}
```
버킷 정책 가져오기 및 넣기 다음 예시에서는 Amazon S3 버킷 정책을 다운로드하고 파일을 수정한 다음 `put-bucket-policy`를 사용하여 수정된 버킷 정책을 적용하는 방법을 보여줍니다. 버킷 정책을 파일로 다운로드하려면 다음을 실행할 수 있습니다.  

```
aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket --query Policy --output text > policy.json
```
그런 다음 필요에 따라 `policy.json` 파일을 수정할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.  
`policy.json` 파일을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.  
 파일을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.  

```
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html)를 참조하세요.

### `get-bucket-replication`
<a name="s3_GetBucketReplication_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-replication`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 복제 구성을 가져옵니다.  

```
aws s3api get-bucket-replication --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "ReplicationConfiguration": {
        "Rules": [
            {
                "Status": "Enabled",
                "Prefix": "",
                "Destination": {
                    "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket-backup",
                    "StorageClass": "STANDARD"
                },
                "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1"
            }
        ],
        "Role": "arn:aws:iam::123456789012:role/s3-replication-role"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketReplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-replication.html)을 참조하세요.

### `get-bucket-request-payment`
<a name="s3_GetBucketRequestPayment_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-request-payment`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 구매 요청 구성 가져오기**  
다음 `get-bucket-request-payment` 예시에서는 지정된 버킷의 requester pays 구성을 가져옵니다.  

```
aws s3api get-bucket-request-payment \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Payer": "BucketOwner"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketRequestPayment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-request-payment.html)를 참조하세요.

### `get-bucket-tagging`
<a name="s3_GetBucketTagging_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 태그 지정 구성을 가져옵니다.  

```
aws s3api get-bucket-tagging --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "TagSet": [
        {
            "Value": "marketing",
            "Key": "organization"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-tagging.html)을 참조하세요.

### `get-bucket-versioning`
<a name="s3_GetBucketVersioning_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-versioning`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 버전 관리 구성을 가져옵니다.  

```
aws s3api get-bucket-versioning --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Status": "Enabled"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketVersioning](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-versioning.html)을 참조하세요.

### `get-bucket-website`
<a name="s3_GetBucketWebsite_cli_topic"></a>

다음 코드 예시에서는 `get-bucket-website`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 정적 웹 사이트 구성을 가져옵니다.  

```
aws s3api get-bucket-website --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "IndexDocument": {
        "Suffix": "index.html"
    },
    "ErrorDocument": {
        "Key": "error.html"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetBucketWebsite](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-website.html)를 참조하세요.

### `get-object-acl`
<a name="s3_GetObjectAcl_cli_topic"></a>

다음 코드 예시에서는 `get-object-acl`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 객체에 대한 액세스 제어 목록을 가져옵니다.  

```
aws s3api get-object-acl --bucket amzn-s3-demo-bucket --key index.html
```
출력:  

```
{
    "Owner": {
        "DisplayName": "my-username",
        "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32"
    },
    "Grants": [
        {
            "Grantee": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32"
            },
            "Permission": "FULL_CONTROL"
        },
        {
            "Grantee": {
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-acl.html)을 참조하세요.

### `get-object-attributes`
<a name="s3_GetObjectAttributes_cli_topic"></a>

다음 코드 예시에서는 `get-object-attributes`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체 자체를 반환하지 않고 객체에서 메타데이터 가져오기**  
다음 `get-object-attributes` 예시에서는 객체 `doc1.rtf`에서 메타데이터를 가져옵니다.  

```
aws s3api get-object-attributes \
    --bucket amzn-s3-demo-bucket \
    --key doc1.rtf \
    --object-attributes "StorageClass" "ETag" "ObjectSize"
```
출력:  

```
{
    "LastModified": "2022-03-15T19:37:31+00:00",
    "VersionId": "IuCPjXTDzHNfldAuitVBIKJpF2p1fg4P",
    "ETag": "b662d79adeb7c8d787ea7eafb9ef6207",
    "StorageClass": "STANDARD",
    "ObjectSize": 405
}
```
자세한 내용은 Amazon S3 API 참조의 [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)를 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-attributes.html)를 참조하세요.

### `get-object-legal-hold`
<a name="s3_GetObjectLegalHold_cli_topic"></a>

다음 코드 예시에서는 `get-object-legal-hold`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체의 법적 보류 상태 가져오기**  
다음 `get-object-legal-hold` 예시에서는 지정된 객체의 법적 보류 상태를 가져옵니다.  

```
aws s3api get-object-legal-hold \
    --bucket amzn-s3-demo-bucket-with-object-lock \
    --key doc1.rtf
```
출력:  

```
{
    "LegalHold": {
        "Status": "ON"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectLegalHold](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-legal-hold.html)를 참조하세요.

### `get-object-lock-configuration`
<a name="s3_GetObjectLockConfiguration_cli_topic"></a>

다음 코드 예시에서는 `get-object-lock-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 객체 잠금 구성 가져오기**  
다음 `get-object-lock-configuration` 예시에서는 지정된 버킷의 객체 잠금 구성을 가져옵니다.  

```
aws s3api get-object-lock-configuration \
    --bucket amzn-s3-demo-bucket-with-object-lock
```
출력:  

```
{
    "ObjectLockConfiguration": {
        "ObjectLockEnabled": "Enabled",
        "Rule": {
            "DefaultRetention": {
                "Mode": "COMPLIANCE",
                "Days": 50
            }
        }
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectLockConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-lock-configuration.html)을 참조하세요.

### `get-object-retention`
<a name="s3_GetObjectRetention_cli_topic"></a>

다음 코드 예시에서는 `get-object-retention`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 대한 객체 보존 구성 가져오기**  
다음 `get-object-retention` 예시에서는 지정된 객체에 대한 객체 보존 구성을 가져옵니다.  

```
aws s3api get-object-retention \
    --bucket amzn-s3-demo-bucket-with-object-lock \
    --key doc1.rtf
```
출력:  

```
{
    "Retention": {
        "Mode": "GOVERNANCE",
        "RetainUntilDate": "2025-01-01T00:00:00.000Z"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectRetention](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-retention.html)을 참조하세요.

### `get-object-tagging`
<a name="s3_GetObjectTagging_cli_topic"></a>

다음 코드 예시에서는 `get-object-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 연결된 태그 가져오기**  
다음 `get-object-tagging` 예시에서는 지정된 객체에서 지정된 키의 값을 가져옵니다.  

```
aws s3api get-object-tagging \
    --bucket amzn-s3-demo-bucket \
    --key doc1.rtf
```
출력:  

```
{
    "TagSet": [
        {
            "Value": "confidential",
            "Key": "designation"
        }
    ]
}
```
다음 `get-object-tagging` 예시에서는 태그가 없는 객체 `doc2.rtf`의 태그 세트를 가져오려고 시도합니다.  

```
aws s3api get-object-tagging \
    --bucket amzn-s3-demo-bucket \
    --key doc2.rtf
```
출력:  

```
{
    "TagSet": []
}
```
다음 `get-object-tagging` 예시에서는 태그가 여러 개 있는 객체 `doc3.rtf`의 태그 세트를 가져옵니다.  

```
aws s3api get-object-tagging \
    --bucket amzn-s3-demo-bucket \
    --key doc3.rtf
```
출력:  

```
{
    "TagSet": [
        {
            "Value": "confidential",
            "Key": "designation"
        },
        {
            "Value": "finance",
            "Key": "department"
        },
        {
            "Value": "payroll",
            "Key": "team"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-tagging.html)을 참조하세요.

### `get-object-torrent`
<a name="s3_GetObjectTorrent_cli_topic"></a>

다음 코드 예시에서는 `get-object-torrent`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket` 버킷의 객체에 대한 메타데이터를 검색합니다.  

```
aws s3api get-object-torrent --bucket amzn-s3-demo-bucket --key large-video-file.mp4 large-video-file.torrent
```
torrent 파일은 현재 폴더에 로컬로 저장됩니다. 출력 파일 이름(`large-video-file.torrent`)은 옵션 이름 없이 지정되며 명령의 마지막 인수여야 합니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetObjectTorrent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-torrent.html) 섹션을 참조하세요.

### `get-object`
<a name="s3_GetObject_cli_topic"></a>

다음 코드 예시에서는 `get-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 예시에서는 `get-object` 명령을 사용하여 Amazon S3에서 객체를 다운로드합니다.  

```
aws s3api get-object --bucket text-content --key dir/my_images.tar.bz2 my_images.tar.bz2
```
참고로 outfile 파라미터는 “--outfile”과 같은 옵션 이름 없이 지정됩니다. 출력 파일의 이름은 명령의 마지막 파라미터여야 합니다.  
아래 예시에서는 `--range`를 사용하여 객체에서 특정 바이트 범위를 다운로드하는 방법을 보여줍니다. 참고로 바이트 범위에는 “bytes=”라는 접두사가 있어야 합니다.  

```
aws s3api get-object --bucket text-content --key dir/my_data --range bytes=8888-9999 my_data_range
```
객체를 가져오는 방법에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 객체 가져오기를 참조하세요.  
+  API 세부 정보는 *AWS CLI명령 참조*의 [GetObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html)를 참조하세요.

### `get-public-access-block`
<a name="s3_GetPublicAccessBlock_cli_topic"></a>

다음 코드 예시에서는 `get-public-access-block`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 퍼블릭 액세스 차단 구성을 설정하거나 수정**  
다음 `get-public-access-block` 예시에서는 지정된 버킷의 퍼블릭 액세스 차단 구성을 표시합니다.  

```
aws s3api get-public-access-block \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "PublicAccessBlockConfiguration": {
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "BlockPublicAcls": true,
        "RestrictPublicBuckets": true
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetPublicAccessBlock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-public-access-block.html)을 참조하세요.

### `head-bucket`
<a name="s3_HeadBucket_cli_topic"></a>

다음 코드 예시에서는 `head-bucket`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에 대한 액세스를 확인합니다.  

```
aws s3api head-bucket --bucket amzn-s3-demo-bucket
```
버킷이 존재하고 버킷에 대한 액세스 권한이 있는 경우 출력이 반환되지 않습니다. 그렇지 않으면 오류 메시지가 표시됩니다. 예제:  

```
A client error (404) occurred when calling the HeadBucket operation: Not Found
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [HeadBucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/head-bucket.html)을 참조하세요.

### `head-object`
<a name="s3_HeadObject_cli_topic"></a>

다음 코드 예시에서는 `head-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 객체에 대한 메타데이터를 가져옵니다.  

```
aws s3api head-object --bucket amzn-s3-demo-bucket --key index.html
```
출력:  

```
{
    "AcceptRanges": "bytes",
    "ContentType": "text/html",
    "LastModified": "Thu, 16 Apr 2015 18:19:14 GMT",
    "ContentLength": 77,
    "VersionId": "null",
    "ETag": "\"30a6ec7e1a9ad79c203d05a589c8b400\"",
    "Metadata": {}
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [HeadObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/head-object.html)를 참조하세요.

### `list-bucket-analytics-configurations`
<a name="s3_ListBucketAnalyticsConfigurations_cli_topic"></a>

다음 코드 예시에서는 `list-bucket-analytics-configurations`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 분석 구성 목록 가져오기**  
다음 `list-bucket-analytics-configurations`는 지정된 버킷의 분석 구성 목록을 가져옵니다.  

```
aws s3api list-bucket-analytics-configurations \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "AnalyticsConfigurationList": [
        {
            "StorageClassAnalysis": {},
            "Id": "1"
        }
    ],
    "IsTruncated": false
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListBucketAnalyticsConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-bucket-analytics-configurations.html)를 참조하세요.

### `list-bucket-intelligent-tiering-configurations`
<a name="s3_ListBucketIntelligentTieringConfigurations_cli_topic"></a>

다음 코드 예시에서는 `list-bucket-intelligent-tiering-configurations`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에서 모든 S3 Intelligent-Tiering 구성을 검색하는 방법**  
다음 `list-bucket-intelligent-tiering-configurations` 예시에서는 버킷의 모든 S3 Intelligent-Tiering 구성을 검색합니다.  

```
aws s3api list-bucket-intelligent-tiering-configurations \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "IsTruncated": false,
    "IntelligentTieringConfigurationList": [
        {
            "Id": "ExampleConfig",
            "Filter": {
                "Prefix": "images"
            },
            "Status": "Enabled",
            "Tierings": [
                {
                    "Days": 90,
                    "AccessTier": "ARCHIVE_ACCESS"
                },
                {
                    "Days": 180,
                    "AccessTier": "DEEP_ARCHIVE_ACCESS"
                }
            ]
        },
        {
            "Id": "ExampleConfig2",
            "Status": "Disabled",
            "Tierings": [
                {
                    "Days": 730,
                    "AccessTier": "ARCHIVE_ACCESS"
                }
            ]
        },
        {
            "Id": "ExampleConfig3",
            "Filter": {
                "Tag": {
                    "Key": "documents",
                    "Value": "taxes"
                }
            },
            "Status": "Enabled",
            "Tierings": [
                {
                    "Days": 90,
                    "AccessTier": "ARCHIVE_ACCESS"
                },
                {
                    "Days": 365,
                    "AccessTier": "DEEP_ARCHIVE_ACCESS"
                }
            ]
        }
    ]
}
```
자세한 내용은 *Amazon S3 사용 설명서*의 [S3 Intelligent-Tiering 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-intelligent-tiering.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListBucketIntelligentTieringConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-bucket-intelligent-tiering-configurations.html) 섹션을 참조하세요.

### `list-bucket-inventory-configurations`
<a name="s3_ListBucketInventoryConfigurations_cli_topic"></a>

다음 코드 예시에서는 `list-bucket-inventory-configurations`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 인벤토리 구성 가져오기**  
다음 `list-bucket-inventory-configurations` 예시에서는 지정된 버킷의 인벤토리 구성을 나열합니다.  

```
aws s3api list-bucket-inventory-configurations \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "InventoryConfigurationList": [
        {
            "IsEnabled": true,
            "Destination": {
                "S3BucketDestination": {
                    "Format": "ORC",
                    "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
                    "AccountId": "123456789012"
                }
            },
            "IncludedObjectVersions": "Current",
            "Id": "1",
            "Schedule": {
                "Frequency": "Weekly"
            }
        },
        {
            "IsEnabled": true,
            "Destination": {
                "S3BucketDestination": {
                    "Format": "CSV",
                    "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
                    "AccountId": "123456789012"
                }
            },
            "IncludedObjectVersions": "Current",
            "Id": "2",
            "Schedule": {
                "Frequency": "Daily"
            }
        }
    ],
    "IsTruncated": false
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListBucketInventoryConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-bucket-inventory-configurations.html)를 참조하세요.

### `list-bucket-metrics-configurations`
<a name="s3_ListBucketMetricsConfigurations_cli_topic"></a>

다음 코드 예시에서는 `list-bucket-metrics-configurations`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 지표 구성 목록 검색**  
다음 `list-bucket-metrics-configurations` 예시에서는 지정된 버킷에 대한 지표 구성 목록을 검색합니다.  

```
aws s3api list-bucket-metrics-configurations \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "IsTruncated": false,
    "MetricsConfigurationList": [
        {
            "Filter": {
                "Prefix": "logs"
            },
            "Id": "123"
        },
        {
            "Filter": {
                "Prefix": "tmp"
            },
            "Id": "234"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListBucketMetricsConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-bucket-metrics-configurations.html) 섹션을 참조하세요.

### `list-buckets`
<a name="s3_ListBuckets_cli_topic"></a>

다음 코드 예시에서는 `list-buckets`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `list-buckets` 명령을 사용하여 모든 Amazon S3 버킷(모든 리전)의 이름을 표시합니다.  

```
aws s3api list-buckets --query "Buckets[].Name"
```
쿼리 옵션은 `list-buckets`의 출력을 버킷 이름으로만 필터링합니다.  
버킷에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 Amazon S3 버킷 작업을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListBuckets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-buckets.html)를 참조하세요.

### `list-multipart-uploads`
<a name="s3_ListMultipartUploads_cli_topic"></a>

다음 코드 예시에서는 `list-multipart-uploads`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 활성 멀티파트 업로드를 모두 나열합니다.  

```
aws s3api list-multipart-uploads --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Uploads": [
        {
            "Initiator": {
                "DisplayName": "username",
                "ID": "arn:aws:iam::0123456789012:user/username"
            },
            "Initiated": "2015-06-02T18:01:30.000Z",
            "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R",
            "StorageClass": "STANDARD",
            "Key": "multipart/01",
            "Owner": {
                "DisplayName": "aws-account-name",
                "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b"
            }
        }
    ],
    "CommonPrefixes": []
}
```
진행 중인 멀티파트 업로드는 Amazon S3에서 스토리지 비용을 발생시킵니다. 활성 멀티파트 업로드를 완료하거나 중단하여 계정에서 해당 파트를 제거하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListMultipartUploads](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-multipart-uploads.html)를 참조하세요.

### `list-object-versions`
<a name="s3_ListObjectVersions_cli_topic"></a>

다음 코드 예시에서는 `list-object-versions`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에서 객체의 버전 정보를 가져옵니다.  

```
aws s3api list-object-versions --bucket amzn-s3-demo-bucket --prefix index.html
```
출력:  

```
{
    "DeleteMarkers": [
        {
            "Owner": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32"
            },
            "IsLatest": true,
            "VersionId": "B2VsEK5saUNNHKcOAJj7hIE86RozToyq",
            "Key": "index.html",
            "LastModified": "2015-11-10T00:57:03.000Z"
        },
        {
            "Owner": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32"
            },
            "IsLatest": false,
            "VersionId": ".FLQEZscLIcfxSq.jsFJ.szUkmng2Yw6",
            "Key": "index.html",
            "LastModified": "2015-11-09T23:32:20.000Z"
        }
    ],
    "Versions": [
        {
            "LastModified": "2015-11-10T00:20:11.000Z",
            "VersionId": "Rb_l2T8UHDkFEwCgJjhlgPOZC0qJ.vpD",
            "ETag": "\"0622528de826c0df5db1258a23b80be5\"",
            "StorageClass": "STANDARD",
            "Key": "index.html",
            "Owner": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32"
            },
            "IsLatest": false,
            "Size": 38
        },
        {
            "LastModified": "2015-11-09T23:26:41.000Z",
            "VersionId": "rasWWGpgk9E4s0LyTJgusGeRQKLVIAFf",
            "ETag": "\"06225825b8028de826c0df5db1a23be5\"",
            "StorageClass": "STANDARD",
            "Key": "index.html",
            "Owner": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32"
            },
            "IsLatest": false,
            "Size": 38
        },
        {
            "LastModified": "2015-11-09T22:50:50.000Z",
            "VersionId": "null",
            "ETag": "\"d1f45267a863c8392e07d24dd592f1b9\"",
            "StorageClass": "STANDARD",
            "Key": "index.html",
            "Owner": {
                "DisplayName": "my-username",
                "ID": "7009a8971cd660687538875e7c86c5b672fe116bd438f46db45460ddcd036c32"
            },
            "IsLatest": false,
            "Size": 533823
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListObjectVersions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-object-versions.html)를 참조하세요.

### `list-objects-v2`
<a name="s3_ListObjectsV2_cli_topic"></a>

다음 코드 예시에서는 `list-objects-v2`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 객체 목록 가져오기**  
다음 `list-objects-v2` 예시에서는 지정된 버킷의 객체를 나열합니다.  

```
aws s3api list-objects-v2 \
    --bucket amzn-s3-demo-bucket
```
출력:  

```
{
    "Contents": [
        {
            "LastModified": "2019-11-05T23:11:50.000Z",
            "ETag": "\"621503c373607d548b37cff8778d992c\"",
            "StorageClass": "STANDARD",
            "Key": "doc1.rtf",
            "Size": 391
        },
        {
            "LastModified": "2019-11-05T23:11:50.000Z",
            "ETag": "\"a2cecc36ab7c7fe3a71a273b9d45b1b5\"",
            "StorageClass": "STANDARD",
            "Key": "doc2.rtf",
            "Size": 373
        },
        {
            "LastModified": "2019-11-05T23:11:50.000Z",
            "ETag": "\"08210852f65a2e9cb999972539a64d68\"",
            "StorageClass": "STANDARD",
            "Key": "doc3.rtf",
            "Size": 399
        },
        {
            "LastModified": "2019-11-05T23:11:50.000Z",
            "ETag": "\"d1852dd683f404306569471af106988e\"",
            "StorageClass": "STANDARD",
            "Key": "doc4.rtf",
            "Size": 6225
        }
    ]
}
```
+  API 세부 정보는  **AWS CLI 명령 참조의 [ListObjectsV2](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-objects-v2.html)를 참조하세요.

### `list-objects`
<a name="s3_ListObjects_cli_topic"></a>

다음 코드 예시에서는 `list-objects`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 예시에서는 `list-objects` 명령을 사용하여 지정된 버킷에 있는 모든 객체의 이름을 표시합니다.  

```
aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'
```
이 예시에서는 `--query` 인수를 사용하여 `list-objects`의 출력을 각 객체의 키 값 및 크기로 필터링합니다.  
객체에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 Amazon S3 객체 작업을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListObjects](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-objects.html)를 참조하세요.

### `list-parts`
<a name="s3_ListParts_cli_topic"></a>

다음 코드 예시에서는 `list-parts`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket` 버킷에 `multipart/01` 키를 사용하여 멀티파트 업로드를 위해 업로드된 모든 부분을 나열합니다.  

```
aws s3api list-parts --bucket amzn-s3-demo-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
```
출력:  

```
{
    "Owner": {
        "DisplayName": "aws-account-name",
        "ID": "100719349fc3b6dcd7c820a124bf7aecd408092c3d7b51b38494939801fc248b"
    },
    "Initiator": {
        "DisplayName": "username",
        "ID": "arn:aws:iam::0123456789012:user/username"
    },
    "Parts": [
        {
            "LastModified": "2015-06-02T18:07:35.000Z",
            "PartNumber": 1,
            "ETag": "\"e868e0f4719e394144ef36531ee6824c\"",
            "Size": 5242880
        },
        {
            "LastModified": "2015-06-02T18:07:42.000Z",
            "PartNumber": 2,
            "ETag": "\"6bb2b12753d66fe86da4998aa33fffb0\"",
            "Size": 5242880
        },
        {
            "LastModified": "2015-06-02T18:07:47.000Z",
            "PartNumber": 3,
            "ETag": "\"d0a0112e841abec9c9ec83406f0159c8\"",
            "Size": 5242880
        }
    ],
    "StorageClass": "STANDARD"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListParts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-parts.html) 섹션을 참조하세요.

### `ls`
<a name="s3_Ls_cli_topic"></a>

다음 코드 예시에서는 `ls`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 사용자 소유 버킷 모두 나열**  
다음 `ls` 명령은 사용자가 소유한 모든 버킷을 나열합니다. 이 예시에서는 사용자가 `amzn-s3-demo-bucket` 및 `amzn-s3-demo-bucket2` 버킷을 소유합니다. 타임스탬프는 버킷이 생성된 날짜로, 기계의 시간대에 표시됩니다. 버킷 정책 편집과 같이 버킷을 변경할 때 이 날짜가 변경될 수 있습니다. `s3://`가 경로 인수 `<S3Uri>`에 사용되는 경우 모든 버킷도 나열됩니다.  

```
aws s3 ls
```
출력:  

```
2013-07-11 17:08:50 amzn-s3-demo-bucket
2013-07-24 14:55:44 amzn-s3-demo-bucket2
```
**예시 2: 버킷의 모든 접두사 및 객체 나열**  
다음 `ls` 명령은 지정된 버킷 및 접두사 아래에 객체와 공통 접두사를 나열합니다. 이 예시에서는 사용자가 `test.txt` 및 `somePrefix/test.txt` 객체를 사용하여 `amzn-s3-demo-bucket` 버킷을 소유합니다. `LastWriteTime` 및 `Length`는 임의입니다. `ls` 명령은 로컬 파일 시스템과 상호 작용하지 않으므로 `s3://` URI 체계는 모호성을 해결하는 데 필요하지 않으며 생략될 수 있습니다.  

```
aws s3 ls s3://amzn-s3-demo-bucket
```
출력:  

```
                           PRE somePrefix/
2013-07-25 17:06:27         88 test.txt
```
**예시 3: 특정 버킷 및 접두사에 있는 모든 접두사 및 객체 나열**  
다음 `ls` 명령은 지정된 버킷 및 접두사 아래에 객체와 공통 접두사를 나열합니다. 그러나 지정된 버킷 및 접두사 아래에는 객체나 공통 접두사가 없습니다.  

```
aws s3 ls s3://amzn-s3-demo-bucket/noExistPrefix
```
출력:  

```
None
```
**예시 4: 버킷의 모든 접두사 및 객체를 반복적으로 나열**  
다음 `ls` 명령은 버킷의 객체를 반복적으로 나열합니다. 출력에 `PRE dirname/`을 표시하는 대신 버킷의 모든 콘텐츠가 순서대로 나열됩니다.  

```
aws s3 ls s3://amzn-s3-demo-bucket \
    --recursive
```
출력:  

```
2013-09-02 21:37:53         10 a.txt
2013-09-02 21:37:53    2863288 foo.zip
2013-09-02 21:32:57         23 foo/bar/.baz/a
2013-09-02 21:32:58         41 foo/bar/.baz/b
2013-09-02 21:32:57        281 foo/bar/.baz/c
2013-09-02 21:32:57         73 foo/bar/.baz/d
2013-09-02 21:32:57        452 foo/bar/.baz/e
2013-09-02 21:32:57        896 foo/bar/.baz/hooks/bar
2013-09-02 21:32:57        189 foo/bar/.baz/hooks/foo
2013-09-02 21:32:57        398 z.txt
```
**예시 5: 버킷의 모든 접두사 및 객체 요약**  
다음 `ls` 명령은 --human-readable 및 --summarize 옵션을 사용하여 동일한 명령을 보여줍니다. --human-readable은 파일 크기를 Bytes/MiB/KiB/GiB/TiB/PiB/EiB 단위로 표시합니다. --summarize는 결과 목록 끝에 총 객체 수와 총 크기를 표시합니다.  

```
aws s3 ls s3://amzn-s3-demo-bucket \
    --recursive \
    --human-readable \
    --summarize
```
출력:  

```
2013-09-02 21:37:53   10 Bytes a.txt
2013-09-02 21:37:53  2.9 MiB foo.zip
2013-09-02 21:32:57   23 Bytes foo/bar/.baz/a
2013-09-02 21:32:58   41 Bytes foo/bar/.baz/b
2013-09-02 21:32:57  281 Bytes foo/bar/.baz/c
2013-09-02 21:32:57   73 Bytes foo/bar/.baz/d
2013-09-02 21:32:57  452 Bytes foo/bar/.baz/e
2013-09-02 21:32:57  896 Bytes foo/bar/.baz/hooks/bar
2013-09-02 21:32:57  189 Bytes foo/bar/.baz/hooks/foo
2013-09-02 21:32:57  398 Bytes z.txt

Total Objects: 10
   Total Size: 2.9 MiB
```
**예시 6: S3 액세스 포인트에서 나열**  
다음 `ls` 명령은 액세스 포인트(`myaccesspoint`)의 객체를 나열합니다.  

```
aws s3 ls s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/
```
출력:  

```
                           PRE somePrefix/
2013-07-25 17:06:27         88 test.txt
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Ls](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/ls.html) 섹션을 참조하세요.

### `mb`
<a name="s3_Mb_cli_topic"></a>

다음 코드 예시에서는 `mb`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷 생성**  
다음 `mb` 명령은 버킷을 생성합니다. 이 예시에서는 사용자가 버킷 `amzn-s3-demo-bucket`을 생성합니다. 버킷은 사용자의 구성 파일에 지정된 리전에 생성됩니다.  

```
aws s3 mb s3://amzn-s3-demo-bucket
```
출력:  

```
make_bucket: s3://amzn-s3-demo-bucket
```
**예시 2: 지정된 리전에서 버킷 생성**  
다음 `mb` 명령은 `--region` 파라미터에 의해 지정된 리전에 버킷을 생성합니다. 이 예시에서는 사용자가 `us-west-1` 리전에서 `amzn-s3-demo-bucket` 버킷을 만듭니다.  

```
aws s3 mb s3://amzn-s3-demo-bucket \
    --region us-west-1
```
출력:  

```
make_bucket: s3://amzn-s3-demo-bucket
```
**예제 3: 지정된 태그를 사용하여 버킷 생성**  
다음 `mb` 명령은 `--tags` 파라미터로 지정된 태그를 사용하여 버킷을 생성합니다. 이 예제에서 사용자는 각각 `Key1` 및 `Key2` 키가 있는 두 개의 태그로 `amzn-s3-demo-bucket` 버킷을 생성합니다.  

```
aws s3 mb s3://amzn-s3-demo-bucket \
    --tags Key1 Value1 \
    --tags Key2 Value2
```
출력:  

```
make_bucket: s3://amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Mb](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/mb.html) 섹션을 참조하세요.

### `mv`
<a name="s3_Mv_cli_topic"></a>

다음 코드 예시에서는 `mv`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 로컬 파일을 지정된 버킷으로 이동**  
다음 `mv` 명령은 단일 파일을 지정된 버킷 및 키로 이동합니다.  

```
aws s3 mv test.txt s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
move: test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 2: 객체를 지정된 버킷 및 키로 이동**  
다음 `mv` 명령은 단일 s3 객체를 지정된 버킷 및 키로 이동합니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 3: S3 객체를 로컬 디렉터리로 이동**  
다음 `mv` 명령은 단일 객체를 로컬로 지정된 파일로 이동합니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket/test.txt test2.txt
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test.txt to test2.txt
```
**예시 4: 원래 이름을 가진 객체를 지정된 버킷으로 이동**  
다음 `mv` 명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷으로 이동합니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket2/
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt
```
**예시 5: 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동**  
`--recursive` 파라미터와 함께 전달되면 다음 `mv` 명령은 지정된 접두사 및 버킷에 있는 모든 객체를 지정된 디렉터리에 반복적으로 이전합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `test2.txt` 객체가 있습니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket . \
    --recursive
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test1.txt to test1.txt
move: s3://amzn-s3-demo-bucket/test2.txt to test2.txt
```
**예시 6: ``.jpg`` 파일을 제외한 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동**  
`--recursive` 파라미터와 함께 전달되면 다음 `mv` 명령은 `--exclude` 파라미터를 사용하여 일부 파일을 제외하면서 지정된 디렉터리에 있는 모든 파일을 지정된 버킷 및 접두사에 반복적으로 이전합니다. 이 예시에서는 `myDir` 디렉터리에 `test1.txt` 및 `test2.jpg` 파일이 있습니다.  

```
aws s3 mv myDir s3://amzn-s3-demo-bucket/ \
    --recursive \
    --exclude "*.jpg"
```
출력:  

```
move: myDir/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt
```
**예시 7: 지정된 접두사를 제외한 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동**  
`--recursive` 파라미터와 함께 전달되면 다음 `mv` 명령은 `--exclude` 파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷에 있는 모든 객체를 다른 버킷에 반복적으로 이전합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `another/test1.txt` 객체가 있습니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket/ s3://amzn-s3-demo-bucket2/ \
    --recursive \
    --exclude "amzn-s3-demo-bucket/another/*"
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test1.txt to s3://amzn-s3-demo-bucket2/test1.txt
```
**예시 8: 객체를 지정된 버킷으로 이동하고 ACL 설정**  
다음 `mv` 명령은 ACL을 `public-read-write`로 설정하는 동안 단일 객체를 지정된 버킷 및 키에 이전합니다.  

```
aws s3 mv s3://amzn-s3-demo-bucket/test.txt s3://amzn-s3-demo-bucket/test2.txt \
    --acl public-read-write
```
출력:  

```
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 9: 로컬 파일을 지정된 버킷으로 이동하고 권한 부여**  
다음 `mv` 명령은 모든 사용자에게 읽기 권한을 부여하고 이메일 주소로 식별되는 특정 사용자에게 모든 권한을 부여하는 `--grants` 옵션을 사용하는 방법을 보여줍니다.  

```
aws s3 mv file.txt s3://amzn-s3-demo-bucket/ \
    --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com
```
출력:  

```
move: file.txt to s3://amzn-s3-demo-bucket/file.txt
```
**예시 10: 파일을 S3 액세스 포인트로 이동**  
다음 `mv` 명령은 단일 `mydoc.txt` 파일을 `mykey` 키의 `myaccesspoint` 액세스 포인트로 이동합니다.  

```
aws s3 mv mydoc.txt s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
출력:  

```
move: mydoc.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Mv](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/mv.html) 섹션을 참조하세요.

### `presign`
<a name="s3_Presign_cli_topic"></a>

다음 코드 예시에서는 `presign`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: S3 버킷의 객체에 연결하는 기본 1시간 수명으로 미리 서명된 URL 생성**  
다음 `presign` 명령은 1시간 동안 유효한 지정된 버킷 및 키에 대해 미리 서명된 URL을 생성합니다.  

```
aws s3 presign s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456
```
**예시 2: S3 버킷의 객체에 연결하는 사용자 지정 수명 주기로 미리 서명된 URL 생성**  
다음 `presign` 명령은 1주일 동안 유효한 지정된 버킷 및 키에 대해 미리 서명된 URL을 생성합니다.  

```
aws s3 presign s3://amzn-s3-demo-bucket/test2.txt \
    --expires-in 604800
```
출력:  

```
https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE123456789%2F20210621%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210621T041609Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=EXAMBLE1234494d5fba3fed607f98018e1dfc62e2529ae96d844123456
```
자세한 내용은 *S3 개발자 안내서*의 [다른 사람과 객체 공유](https://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURL.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Presign](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/presign.html) 섹션을 참조하세요.

### `put-bucket-accelerate-configuration`
<a name="s3_PutBucketAccelerateConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-accelerate-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 가속화 구성 설정**  
다음 `put-bucket-accelerate-configuration` 예시에서는 지정된 버킷의 가속화 구성을 활성화합니다.  

```
aws s3api put-bucket-accelerate-configuration \
    --bucket amzn-s3-demo-bucket \
    --accelerate-configuration Status=Enabled
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketAccelerateConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-accelerate-configuration.html)을 참조하세요.

### `put-bucket-acl`
<a name="s3_PutBucketAcl_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-acl`의 사용 방법을 보여줍니다.

**AWS CLI**  
이 예제에서는 두 명의 AWS 사용자(*user1@example.com* 및 *user2@example.com*)에게 `full control` 권한을 부여하고 모든 사용자에게 `read` 권한을 부여합니다.  

```
aws s3api put-bucket-acl --bucket amzn-s3-demo-bucket --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers
```
사용자 지정 ACL에 대한 자세한 내용은 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html을 참조하세요(`put-bucket-acl`과 같은 s3api ACL 명령은 동일한 간편 인수 표기법을 사용함).  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-acl.html)을 참조하세요.

### `put-bucket-analytics-configuration`
<a name="s3_PutBucketAnalyticsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-analytics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 분석 구성 설정**  
다음 `put-bucket-analytics-configuration` 예시는 지정된 버킷에 대한 분석을 구성합니다.  

```
aws s3api put-bucket-analytics-configuration \
    --bucket amzn-s3-demo-bucket --id 1 \
    --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketAnalyticsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-analytics-configuration.html) 섹션을 참조하세요.

### `put-bucket-cors`
<a name="s3_PutBucketCors_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-cors`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 예시에서는 *www.example.com*의 `PUT`, `POST` 및 `DELETE` 요청을 활성화하고 모든 도메인의 `GET` 요청을 활성화합니다.  

```
aws s3api put-bucket-cors --bucket amzn-s3-demo-bucket --cors-configuration file://cors.json

cors.json:
{
  "CORSRules": [
    {
      "AllowedOrigins": ["http://www.example.com"],
      "AllowedHeaders": ["*"],
      "AllowedMethods": ["PUT", "POST", "DELETE"],
      "MaxAgeSeconds": 3000,
      "ExposeHeaders": ["x-amz-server-side-encryption"]
    },
    {
      "AllowedOrigins": ["*"],
      "AllowedHeaders": ["Authorization"],
      "AllowedMethods": ["GET"],
      "MaxAgeSeconds": 3000
    }
  ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketCors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-cors.html)를 참조하세요.

### `put-bucket-encryption`
<a name="s3_PutBucketEncryption_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-encryption`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 서버 측 암호화 구성**  
다음 `put-bucket-encryption` 예시에서는 AES256 암호화를 지정된 버킷의 기본값으로 설정합니다.  

```
aws s3api put-bucket-encryption \
    --bucket amzn-s3-demo-bucket \
    --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketEncryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-encryption.html)을 참조하세요.

### `put-bucket-intelligent-tiering-configuration`
<a name="s3_PutBucketIntelligentTieringConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-intelligent-tiering-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에서 S3 Intelligent-Tiering 구성을 업데이트하는 방법**  
다음 `put-bucket-intelligent-tiering-configuration` 예시에서는 버킷에서 ExampleConfig라는 S3 Intelligent-Tiering 구성을 업데이트합니다. 구성은 접두사 이미지에서 액세스하지 않은 객체를 90일 후에 아카이브 액세스로, 180일 후에 딥 아카이브 액세스로 전환합니다.  

```
aws s3api put-bucket-intelligent-tiering-configuration \
    --bucket amzn-s3-demo-bucket \
    --id "ExampleConfig" \
    --intelligent-tiering-configuration file://intelligent-tiering-configuration.json
```
`intelligent-tiering-configuration.json`의 콘텐츠:  

```
{
    "Id": "ExampleConfig",
    "Status": "Enabled",
    "Filter": {
        "Prefix": "images"
        },
    "Tierings": [
        {
            "Days": 90,
            "AccessTier": "ARCHIVE_ACCESS"
        },
        {
            "Days": 180,
            "AccessTier": "DEEP_ARCHIVE_ACCESS"
        }
    ]
}
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon S3 사용 설명서*의 [기존 버킷에 대한 객체 소유권 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketIntelligentTieringConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-intelligent-tiering-configuration.html) 섹션을 참조하세요.

### `put-bucket-inventory-configuration`
<a name="s3_PutBucketInventoryConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-inventory-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷에 대한 인벤토리 구성 설정**  
다음 `put-bucket-inventory-configuration` 예시에서는 `amzn-s3-demo-bucket` 버킷 에 대한 주간 ORC 형식 인벤토리 보고서를 설정합니다.  

```
aws s3api put-bucket-inventory-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 1 \
    --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}'
```
이 명령은 출력을 생성하지 않습니다.  
**예시 2: 버킷에 대한 인벤토리 구성 설정**  
다음 `put-bucket-inventory-configuration` 예시에서는 `amzn-s3-demo-bucket` 버킷 에 대한 일일 CSV 형식 인벤토리 보고서를 설정합니다.  

```
aws s3api put-bucket-inventory-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 2 \
    --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketInventoryConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-inventory-configuration.html) 섹션을 참조하세요.

### `put-bucket-lifecycle-configuration`
<a name="s3_PutBucketLifecycleConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-lifecycle-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에 수명 주기 구성을 적용합니다.  

```
aws s3api put-bucket-lifecycle-configuration --bucket amzn-s3-demo-bucket --lifecycle-configuration  file://lifecycle.json
```
`lifecycle.json` 파일은 다음 두 규칙을 지정하는 현재 폴더의 JSON 문서입니다.  

```
{
    "Rules": [
        {
            "ID": "Move rotated logs to Glacier",
            "Prefix": "rotated/",
            "Status": "Enabled",
            "Transitions": [
                {
                    "Date": "2015-11-10T00:00:00.000Z",
                    "StorageClass": "GLACIER"
                }
            ]
        },
        {
            "Status": "Enabled",
            "Prefix": "",
            "NoncurrentVersionTransitions": [
                {
                    "NoncurrentDays": 2,
                    "StorageClass": "GLACIER"
                }
            ],
            "ID": "Move old versions to Glacier"
        }
    ]
}
```
첫 번째 규칙은 `rotated` 접두사가 있는 파일을 지정된 날짜에 Glacier로 옮깁니다. 두 번째 규칙은 이전 객체 버전이 더 이상 최신 버전이 아닌 경우 Glacier로 옮깁니다. 허용되는 타임스탬프 형식에 대한 자세한 내용은 *AWS CLI 사용자 안내서*의 파라미터 값 지정을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketLifecycleConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-lifecycle-configuration.html)을 참조하세요.

### `put-bucket-lifecycle`
<a name="s3_PutBucketLifecycle_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-lifecycle`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket` 버킷에 수명 주기 구성을 적용합니다.  

```
aws s3api put-bucket-lifecycle --bucket amzn-s3-demo-bucket --lifecycle-configuration file://lifecycle.json
```
`lifecycle.json` 파일은 다음 두 규칙을 지정하는 현재 폴더의 JSON 문서입니다.  

```
{
  "Rules": [
    {
      "ID": "Move to Glacier after sixty days (objects in logs/2015/)",
      "Prefix": "logs/2015/",
      "Status": "Enabled",
      "Transition": {
        "Days": 60,
        "StorageClass": "GLACIER"
      }
    },
    {
      "Expiration": {
        "Date": "2016-01-01T00:00:00.000Z"
      },
      "ID": "Delete 2014 logs in 2016.",
      "Prefix": "logs/2014/",
      "Status": "Enabled"
    }
  ]
}
```
첫 번째 규칙은 60일 후에 Amazon Glacier로 파일을 이동합니다. 두 번째 규칙은 지정된 날짜에 Amazon S3에서 파일을 삭제합니다. 허용되는 타임스탬프 형식에 대한 자세한 내용은 *AWS CLI 사용자 안내서*의 파라미터 값 지정을 참조하세요.  
위 예시의 각 규칙은 적용되는 정책(`Transition` 또는 `Expiration`) 및 파일 접두사(폴더 이름)를 지정합니다. 빈 접두사를 지정하여 전체 버킷에 적용되는 규칙을 생성할 수도 있습니다.  

```
{
  "Rules": [
    {
      "ID": "Move to Glacier after sixty days (all objects in bucket)",
      "Prefix": "",
      "Status": "Enabled",
      "Transition": {
        "Days": 60,
        "StorageClass": "GLACIER"
      }
    }
  ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketLifecycle](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-lifecycle.html) 섹션을 참조하세요.

### `put-bucket-logging`
<a name="s3_PutBucketLogging_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-logging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷 정책 로깅 설정**  
다음 `put-bucket-logging` 예제에서는 *amzn-s3-demo-bucket*에 대한 로깅 정책을 설정합니다. 먼저 `put-bucket-policy` 명령을 사용하여 버킷 정책에서 로깅 서비스 위탁자 권한을 부여합니다.  

```
aws s3api put-bucket-policy \
    --bucket amzn-s3-demo-bucket \
    --policy file://policy.json
```
`policy.json`의 콘텐츠:  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ServerAccessLogsPolicy",
            "Effect": "Allow",
            "Principal": {"Service": "logging.s3.amazonaws.com"},
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/Logs/*",
            "Condition": {
                "ArnLike": {"aws:SourceARN": "arn:aws:s3:::SOURCE-BUCKET-NAME"},
                "StringEquals": {"aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID"}
            }
        }
    ]
}
```
로깅 정책을 적용하려면 `put-bucket-logging`을 사용합니다.  

```
aws s3api put-bucket-logging \
    --bucket amzn-s3-demo-bucket \
    --bucket-logging-status file://logging.json
```
`logging.json`의 콘텐츠:  

```
{
     "LoggingEnabled": {
         "TargetBucket": "amzn-s3-demo-bucket",
         "TargetPrefix": "Logs/"
     }
 }
```
로깅 서비스 위탁자에 `s3:PutObject` 권한을 부여하려면 `put-bucket-policy` 명령이 필요합니다.  
자세한 내용은 *Amazon S3 사용자 안내서*의 [Amazon S3 서버 액세스 로깅](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)을 참조하세요.  
**예시 2: 단일 사용자에게만 액세스 로깅에 대한 버킷 정책 설정**  
다음 `put-bucket-logging` 예제에서는 *amzn-s3-demo-bucket*에 대한 로깅 정책을 설정합니다. AWS 사용자 *bob@example.com*은 로그 파일을 완전히 제어할 수 있으며 다른 사용자는 액세스 권한을 갖지 않습니다. 먼저 `put-bucket-acl`을 사용하여 S3 권한을 부여합니다.  

```
aws s3api put-bucket-acl \
    --bucket amzn-s3-demo-bucket \
    --grant-write URI=http://acs.amazonaws.com/groups/s3/LogDelivery \
    --grant-read-acp URI=http://acs.amazonaws.com/groups/s3/LogDelivery
```
그런 다음 `put-bucket-logging`을 사용하여 로깅 정책을 적용합니다.  

```
aws s3api put-bucket-logging \
    --bucket amzn-s3-demo-bucket \
    --bucket-logging-status file://logging.json
```
`logging.json`의 콘텐츠:  

```
{
    "LoggingEnabled": {
        "TargetBucket": "amzn-s3-demo-bucket",
        "TargetPrefix": "amzn-s3-demo-bucket-logs/",
        "TargetGrants": [
            {
                "Grantee": {
                    "Type": "AmazonCustomerByEmail",
                    "EmailAddress": "bob@example.com"
                },
                "Permission": "FULL_CONTROL"
            }
        ]
    }
}
```
S3의 로그 전달 시스템에 필수 권한(write 및 read-acp 권한)을 부여하려면 `put-bucket-acl` 명령이 필요합니다.  
자세한 내용은 *Amazon S3 개발자 안내서*의 [Amazon S3 서버 액세스 로깅](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-logging.html)을 참조하세요.

### `put-bucket-metrics-configuration`
<a name="s3_PutBucketMetricsConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-metrics-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 지표 구성 설정**  
다음 `put-bucket-metrics-configuration` 예시에서는 지정된 버킷의 ID 123에 대한 지표 구성을 설정합니다.  

```
aws s3api put-bucket-metrics-configuration \
    --bucket amzn-s3-demo-bucket \
    --id 123 \
    --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketMetricsConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-metrics-configuration.html) 섹션을 참조하세요.

### `put-bucket-notification-configuration`
<a name="s3_PutBucketNotificationConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-notification-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에 지정된 알림 활성화**  
다음 `put-bucket-notification-configuration` 예시에서는 `amzn-s3-demo-bucket`이라는 버킷에 알림 구성을 적용합니다. `notification.json` 파일은 모니터링할 SNS 주제와 이벤트 유형을 지정하는 현재 폴더의 JSON 문서입니다.  

```
aws s3api put-bucket-notification-configuration \
    --bucket amzn-s3-demo-bucket \
    --notification-configuration file://notification.json
```
`notification.json`의 콘텐츠:  

```
{
    "TopicConfigurations": [
        {
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic",
            "Events": [
                "s3:ObjectCreated:*"
            ]
        }
    ]
}
```
SNS 주제에 IAM 정책이 연결되어 있어야 Amazon S3이 해당 주제에 게시할 수 있습니다.  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "example-statement-ID",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": [
                "SNS:Publish"
            ],
            "Resource": "arn:aws:sns:us-west-2:123456789012::s3-notification-topic",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket"
                }
            }
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketNotificationConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-notification-configuration.html)을 참조하세요.

### `put-bucket-notification`
<a name="s3_PutBucketNotification_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-notification`의 사용 방법을 보여줍니다.

**AWS CLI**  
`amzn-s3-demo-bucket`이라는 버킷에 알림 구성을 적용합니다.  

```
aws s3api put-bucket-notification --bucket amzn-s3-demo-bucket --notification-configuration file://notification.json
```
`notification.json` 파일은 모니터링할 SNS 주제와 이벤트 유형을 지정하는 현재 폴더의 JSON 문서입니다.  

```
{
  "TopicConfiguration": {
    "Event": "s3:ObjectCreated:*",
    "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic"
  }
}
```
SNS 주제에 IAM 정책이 연결되어 있어야 Amazon S3이 해당 주제에 게시할 수 있습니다.  

```
{
 "Version":"2012-10-17",		 	 	 
 "Id": "example-ID",
 "Statement": [
  {
   "Sid": "example-statement-ID",
   "Effect": "Allow",
   "Principal": {
     "Service": "s3.amazonaws.com"
   },
   "Action": [
    "SNS:Publish"
   ],
   "Resource": "arn:aws:sns:us-west-2:123456789012:amzn-s3-demo-bucket",
   "Condition": {
      "ArnLike": {
      "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket"
    }
   }
  }
 ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketNotification](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-notification.html)을 참조하세요.

### `put-bucket-ownership-controls`
<a name="s3_PutBucketOwnershipControls_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-ownership-controls`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 버킷 소유권 설정을 업데이트하는 방법**  
다음 `put-bucket-ownership-controls` 예시에서는 버킷의 버킷 소유권 설정을 업데이트합니다.  

```
aws s3api put-bucket-ownership-controls \
    --bucket amzn-s3-demo-bucket \
    --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon S3 사용 설명서*의 [기존 버킷에 대한 객체 소유권 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html) 섹션을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketOwnershipControls](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-ownership-controls.html) 섹션을 참조하세요.

### `put-bucket-policy`
<a name="s3_PutBucketPolicy_cli_topic"></a>

다음 코드 예시는 `put-bucket-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
이 예제에서는 모든 사용자가 *MySecretFolder*에 있는 객체를 제외하고 *amzn-s3-demo-bucket*에 있는 모든 객체를 가져올 수 있습니다. 또한 `1234-5678-9012`라는 AWS 계정의 루트 사용자에게 `put` 및 `delete` 권한을 부여합니다.  

```
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json

policy.json:
{
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "s3:GetObject",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      },
      {
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:GetObject",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/MySecretFolder/*"
      },
      {
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::123456789012:root"
         },
         "Action": [
            "s3:DeleteObject",
            "s3:PutObject"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
      }
   ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-policy.html)를 참조하세요.

### `put-bucket-replication`
<a name="s3_PutBucketReplication_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-replication`의 사용 방법을 보여줍니다.

**AWS CLI**  
**S3 버킷의 복제 구성**  
다음 `put-bucket-replication` 예시에서는 지정된 S3 버킷에 복제 구성을 적용합니다.  

```
aws s3api put-bucket-replication \
    --bucket amzn-s3-demo-bucket1 \
    --replication-configuration file://replication.json
```
`replication.json`의 콘텐츠:  

```
{
    "Role": "arn:aws:iam::123456789012:role/s3-replication-role",
    "Rules": [
        {
            "Status": "Enabled",
            "Priority": 1,
            "DeleteMarkerReplication": { "Status": "Disabled" },
            "Filter" : { "Prefix": ""},
            "Destination": {
                "Bucket": "arn:aws:s3:::amzn-s3-demo-bucket2"
            }
        }
    ]
}
```
대상 버킷에 버전 관리가 활성화되어 있어야 합니다. 지정된 역할에는 대상 버킷에 쓰기 위한 권한이 있어야 하며 Amazon S3가 역할을 맡도록 허용하는 신뢰 관계가 있어야 합니다.  
예시 역할 권한 정책:  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetReplicationConfiguration",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObjectVersion",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket1/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete",
                "s3:ReplicateTags"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/*"
        }
    ]
}
```
예시 신뢰 관계 정책:  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon Simple Storage Service 콘솔 사용자 안내서*의 [주제 제목](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-replication.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketReplication](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-replication.html)을 참조하세요.

### `put-bucket-request-payment`
<a name="s3_PutBucketRequestPayment_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-request-payment`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷의 `requester pays` 구성 활성화**  
다음 `put-bucket-request-payment` 예시에서는 지정된 버킷의 `requester pays`를 활성화합니다.  

```
aws s3api put-bucket-request-payment \
    --bucket amzn-s3-demo-bucket \
    --request-payment-configuration '{"Payer":"Requester"}'
```
이 명령은 출력을 생성하지 않습니다.  
**예시 2: 버킷의 `requester pays` 구성 비활성화**  
다음 `put-bucket-request-payment` 예시에서는 지정된 버킷의 `requester pays`를 비활성화합니다.  

```
aws s3api put-bucket-request-payment \
    --bucket amzn-s3-demo-bucket \
    --request-payment-configuration '{"Payer":"BucketOwner"}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketRequestPayment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-request-payment.html)를 참조하세요.

### `put-bucket-tagging`
<a name="s3_PutBucketTagging_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷에 태그 지정 구성을 적용합니다.  

```
aws s3api put-bucket-tagging --bucket amzn-s3-demo-bucket --tagging file://tagging.json
```
`tagging.json` 파일은 태그를 지정하는 현재 폴더의 JSON 문서입니다.  

```
{
   "TagSet": [
     {
       "Key": "organization",
       "Value": "marketing"
     }
   ]
}
```
또는 명령줄에서 태그 지정 구성을 `amzn-s3-demo-bucket`에 직접 적용할 수도 있습니다.  

```
aws s3api put-bucket-tagging --bucket amzn-s3-demo-bucket --tagging 'TagSet=[{Key=organization,Value=marketing}]'
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-tagging.html)을 참조하세요.

### `put-bucket-versioning`
<a name="s3_PutBucketVersioning_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-versioning`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `amzn-s3-demo-bucket`이라는 버킷의 버전 관리를 활성화합니다.  

```
aws s3api put-bucket-versioning --bucket amzn-s3-demo-bucket --versioning-configuration Status=Enabled
```
다음 명령은 버전 관리를 활성화하고 mfa 코드를 사용합니다.  

```
aws s3api put-bucket-versioning --bucket amzn-s3-demo-bucket --versioning-configuration Status=Enabled --mfa "SERIAL 123456"
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketVersioning](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-versioning.html)을 참조하세요.

### `put-bucket-website`
<a name="s3_PutBucketWebsite_cli_topic"></a>

다음 코드 예시에서는 `put-bucket-website`의 사용 방법을 보여줍니다.

**AWS CLI**  
`amzn-s3-demo-bucket`이라는 버킷에 정적 웹 사이트 구성을 적용합니다.  

```
aws s3api put-bucket-website --bucket amzn-s3-demo-bucket --website-configuration file://website.json
```
`website.json` 파일은 웹 사이트의 색인 및 오류 페이지를 지정하는 현재 폴더의 JSON 문서입니다.  

```
{
    "IndexDocument": {
        "Suffix": "index.html"
    },
    "ErrorDocument": {
        "Key": "error.html"
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutBucketWebsite](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-website.html)를 참조하세요.

### `put-object-acl`
<a name="s3_PutObjectAcl_cli_topic"></a>

다음 코드 예시에서는 `put-object-acl`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 두 명의 AWS 사용자(*user1@example.com* 및 *user2@example.com*)에게 `full control` 권한을 부여하고 모든 사용자에게 `read` 권한을 부여합니다.  

```
aws s3api put-object-acl --bucket amzn-s3-demo-bucket --key file.txt --grant-full-control emailaddress=user1@example.com,emailaddress=user2@example.com --grant-read uri=http://acs.amazonaws.com/groups/global/AllUsers
```
사용자 지정 ACL에 대한 자세한 내용은 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html을 참조하세요(`put-object-acl`과 같은 s3api ACL 명령은 동일한 간편 인수 표기법을 사용함).  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutObjectAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-acl.html)을 참조하세요.

### `put-object-legal-hold`
<a name="s3_PutObjectLegalHold_cli_topic"></a>

다음 코드 예시에서는 `put-object-legal-hold`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 법적 보류 적용**  
다음 `put-object-legal-hold` 예시에서는 `doc1.rtf` 객체에 법적 보존을 설정합니다.  

```
aws s3api put-object-legal-hold \
    --bucket amzn-s3-demo-bucket-with-object-lock \
    --key doc1.rtf \
    --legal-hold Status=ON
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutObjectLegalHold](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-legal-hold.html)를 참조하세요.

### `put-object-lock-configuration`
<a name="s3_PutObjectLockConfiguration_cli_topic"></a>

다음 코드 예시에서는 `put-object-lock-configuration`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷에 객체 잠금 구성 설정**  
다음 `put-object-lock-configuration` 예시에서는 지정된 버킷에 50일 객체 잠금을 설정합니다.  

```
aws s3api put-object-lock-configuration \
    --bucket amzn-s3-demo-bucket-with-object-lock \
    --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutObjectLockConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-lock-configuration.html)을 참조하세요.

### `put-object-retention`
<a name="s3_PutObjectRetention_cli_topic"></a>

다음 코드 예시에서는 `put-object-retention`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 대한 객체 보존 구성 설정**  
다음 `put-object-retention` 예시에서는 지정된 객체에 대한 객체 보존 구성을 2025년 1월 1일 전까지로 설정합니다.  

```
aws s3api put-object-retention \
    --bucket amzn-s3-demo-bucket-with-object-lock \
    --key doc1.rtf \
    --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutObjectRetention](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-retention.html)을 참조하세요.

### `put-object-tagging`
<a name="s3_PutObjectTagging_cli_topic"></a>

다음 코드 예시에서는 `put-object-tagging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 태그를 설정하는 방법**  
다음 `put-object-tagging` 예시에서는 키 이름 `designation` 및 값 `confidential`이 있는 태그를 지정된 객체에 추가합니다.  

```
aws s3api put-object-tagging \
    --bucket amzn-s3-demo-bucket \
    --key doc1.rtf \
    --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'
```
이 명령은 출력을 생성하지 않습니다.  
다음 `put-object-tagging` 예시에서는 지정된 객체에 여러 태그 세트를 설정합니다.  

```
aws s3api put-object-tagging \
    --bucket amzn-s3-demo-bucket-example \
    --key doc3.rtf \
    --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}'
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutObjectTagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object-tagging.html) 섹션을 참조하세요.

### `put-object`
<a name="s3_PutObject_cli_topic"></a>

다음 코드 예시는 `put-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예제 1: Amazon S3에 객체 업로드**  
다음 `put-object` 예제에서는 Amazon S3에 객체를 업로드합니다.  

```
aws s3api put-object \
    --bucket amzn-s3-demo-bucket \
    --key my-dir/MySampleImage.png \
    --body MySampleImage.png
```
객체 업로드에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 객체 업로드 < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>를 참조하세요.  
**예제 2: Amazon S3에 비디오 파일 업로드**  
다음 `put-object` 예제 명령은 비디오 파일을 업로드합니다.  

```
aws s3api put-object \
    --bucket amzn-s3-demo-bucket \
    --key my-dir/big-video-file.mp4 \
    --body /media/videos/f-sharp-3-data-services.mp4
```
객체 업로드에 대한 자세한 내용은 *Amazon S3 개발자 안내서*의 객체 업로드 < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>를 참조하세요.  
+  API 세부 정보는 **AWS CLI 명령 참조의 [PutObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html)를 참조하세요.

### `put-public-access-block`
<a name="s3_PutPublicAccessBlock_cli_topic"></a>

다음 코드 예시에서는 `put-public-access-block`의 사용 방법을 보여줍니다.

**AWS CLI**  
**버킷의 퍼블릭 액세스 차단 구성 설정**  
다음 `put-public-access-block` 예시는 지정된 버킷에 대한 퍼블릭 액세스 차단 구성을 설정합니다.  

```
aws s3api put-public-access-block \
    --bucket amzn-s3-demo-bucket \
    --public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [PutPublicAccessBlock](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html) 섹션을 참조하세요.

### `rb`
<a name="s3_Rb_cli_topic"></a>

다음 코드 예시에서는 `rb`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 버킷 삭제**  
다음 `rb` 명령은 버킷을 제거합니다. 이 예시에서 사용자의 버킷은 `amzn-s3-demo-bucket`입니다. 버킷을 제거하려면 비어 있어야 합니다.  

```
aws s3 rb s3://amzn-s3-demo-bucket
```
출력:  

```
remove_bucket: amzn-s3-demo-bucket
```
**예시 2: 버킷 강제 삭제**  
다음 `rb` 명령은 `--force` 파라미터를 사용하여 먼저 버킷의 모든 객체를 제거한 다음 버킷 자체를 제거합니다. 이 예시에서 사용자의 버킷은 `amzn-s3-demo-bucket`이고 `amzn-s3-demo-bucket`의 객체는 `test1.txt` 및 `test2.txt`입니다.  

```
aws s3 rb s3://amzn-s3-demo-bucket \
    --force
```
출력:  

```
delete: s3://amzn-s3-demo-bucket/test1.txt
delete: s3://amzn-s3-demo-bucket/test2.txt
remove_bucket: amzn-s3-demo-bucket
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Rb](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/rb.html) 섹션을 참조하세요.

### `restore-object`
<a name="s3_RestoreObject_cli_topic"></a>

다음 코드 예시에서는 `restore-object`의 사용 방법을 보여줍니다.

**AWS CLI**  
**객체에 대한 복원 요청 생성**  
다음 `restore-object` 예시에서는 `my-glacier-bucket` 버킷의 지정된 Amazon S3 Glacier 객체를 10일 동안 복원합니다.  

```
aws s3api restore-object \
    --bucket my-glacier-bucket \
    --key doc1.rtf \
    --restore-request Days=10
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [RestoreObject](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/restore-object.html)를 참조하세요.

### `rm`
<a name="s3_Rm_cli_topic"></a>

다음 코드 예시에서는 `rm`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: S3 객체 삭제**  
다음 `rm` 명령은 단일 s3 객체를 삭제합니다.  

```
aws s3 rm s3://amzn-s3-demo-bucket/test2.txt
```
출력:  

```
delete: s3://amzn-s3-demo-bucket/test2.txt
```
**예시 2: 버킷의 모든 콘텐츠 삭제**  
다음 `rm` 명령은 `--recursive` 파라미터와 함께 전달될 때 지정된 버킷 및 접두사 아래의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `test2.txt` 객체가 포함되어 있습니다.  

```
aws s3 rm s3://amzn-s3-demo-bucket \
    --recursive
```
출력:  

```
delete: s3://amzn-s3-demo-bucket/test1.txt
delete: s3://amzn-s3-demo-bucket/test2.txt
```
**예시 3: ``.jpg`` 파일을 제외한 버킷의 모든 콘텐츠 삭제**  
다음 `rm` 명령은 `--recursive` 파라미터를 사용하여 일부 객체를 제외하면서 `--exclude` 파라미터와 함께 전달될 때 지정된 버킷 및 접두사 아래의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `test2.jpg` 객체가 있습니다.  

```
aws s3 rm s3://amzn-s3-demo-bucket/ \
    --recursive \
    --exclude "*.jpg"
```
출력:  

```
delete: s3://amzn-s3-demo-bucket/test1.txt
```
**예시 4: 지정된 접두사 아래의 객체를 제외한 버킷의 모든 콘텐츠 삭제**  
다음 `rm` 명령은 `--recursive` 파라미터를 사용하여 특정 접두사 아래의 모든 객체를 제외하면서 `--exclude` 파라미터와 함께 전달될 때 지정된 버킷 및 접두사 아래의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 `amzn-s3-demo-bucket` 버킷에 `test1.txt` 및 `another/test.txt` 객체가 있습니다.  

```
aws s3 rm s3://amzn-s3-demo-bucket/ \
    --recursive \
    --exclude "another/*"
```
출력:  

```
delete: s3://amzn-s3-demo-bucket/test1.txt
```
**예시 5: S3 액세스 포인트에서 객체 삭제**  
다음 `rm` 명령은 액세스 포인트(`myaccesspoint`)에서 단일 객체(`mykey`)를 삭제합니다. :: 다음 `rm` 명령은 액세스 포인트(`myaccesspoint`)에서 단일 객체(`mykey`)를 삭제합니다.  

```
aws s3 rm s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
출력:  

```
delete: s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykey
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Rm](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/rm.html) 섹션을 참조하세요.

### `select-object-content`
<a name="s3_SelectObjectContent_cli_topic"></a>

다음 코드 예시에서는 `select-object-content`의 사용 방법을 보여줍니다.

**AWS CLI**  
**SQL 문을 기반으로 Amazon S3 객체의 콘텐츠 필터링**  
다음 `select-object-content` 예시에서는 지정된 SQL 문으로 객체 `my-data-file.csv`를 필터링하고 출력을 파일로 보냅니다.  

```
aws s3api select-object-content \
    --bucket amzn-s3-demo-bucket \
    --key my-data-file.csv \
    --expression "select * from s3object limit 100" \
    --expression-type 'SQL' \
    --input-serialization '{"CSV": {}, "CompressionType": "NONE"}' \
    --output-serialization '{"CSV": {}}' "output.csv"
```
이 명령은 출력을 생성하지 않습니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [SelectObjectContent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/select-object-content.html)를 참조하세요.

### `sync`
<a name="s3_Sync_cli_topic"></a>

다음 코드 예시에서는 `sync`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예시 1: 모든 로컬 객체를 지정된 버킷에 동기화**  
다음 `sync` 명령은 로컬 파일을 S3에 업로드하여 로컬 디렉터리의 객체를 지정된 접두사 및 버킷으로 동기화합니다. 로컬 파일의 크기가 S3 객체의 크기와 다르거나 로컬 파일의 마지막 수정 시간이 S3 객체의 마지막 수정 시간보다 최신이거나 로컬 파일이 지정된 버킷 및 접두사에 존재하지 않는 경우 로컬 파일을 업로드해야 합니다. 이 예시에서는 사용자가 `amzn-s3-demo-bucket` 버킷을 로컬 현재 디렉터리에 동기화합니다. 현재 로컬 디렉터리에는 `test.txt` 및 `test2.txt` 파일이 들어 있습니다. `amzn-s3-demo-bucket` 버킷에 객체가 없습니다.  

```
aws s3 sync . s3://amzn-s3-demo-bucket
```
출력:  

```
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예시 2: 지정된 S3 버킷의 모든 S3 객체를 다른 버킷과 동기화**  
다음 `sync` 명령은 S3 객체를 복사하여 지정된 접두사 및 버킷 아래의 객체를 다른 지정된 접두사 및 버킷 아래의 객체와 동기화합니다. 두 S3 객체의 크기가 S3 다르거나, 소스의 마지막 수정 시간이 대상의 마지막 수정 시간보다 빠르거나, 지정된 버킷 및 접두사 대상 아래에 S3 객체가 없는 경우 S3 객체를 복사해야 합니다.  
이 예시에서는 사용자가 `amzn-s3-demo-bucket` 버킷을 `amzn-s3-demo-bucket2` 버킷에 동기화합니다. `amzn-s3-demo-bucket` 버킷에는 `test.txt` 및 `test2.txt` 객체가 포함되어 있습니다. `amzn-s3-demo-bucket2` 버킷에 객체가 없습니다.  

```
aws s3 sync s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket2
```
출력:  

```
copy: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket2/test.txt
copy: s3://amzn-s3-demo-bucket/test2.txt to s3://amzn-s3-demo-bucket2/test2.txt
```
**예시 3: 지정된 S3 버킷의 모든 S3 객체를 로컬 디렉터리로 동기화**  
다음 `sync` 명령은 S3 객체를 다운로드하여 지정된 S3 버킷의 파일을 로컬 디렉터리로 동기화합니다. S3 객체의 크기가 로컬 파일의 크기와 다르거나, S3 객체의 마지막 수정 시간이 로컬 파일의 마지막 수정 시간보다 최신인 경우, 또는 S3 객체가 로컬 디렉터리에 없는 경우에는 다운로드해야 합니다. S3에서 객체를 다운로드하면 로컬 파일의 마지막 수정 시간이 S3 객체의 마지막 수정 시간으로 변경됩니다. 이 예시에서는 사용자가 `amzn-s3-demo-bucket` 버킷을 현재 로컬 디렉터리와 동기화합니다. `amzn-s3-demo-bucket` 버킷에는 `test.txt` 및 `test2.txt` 객체가 포함되어 있습니다. 현재 로컬 디렉터리에는 파일이 없습니다.  

```
aws s3 sync s3://amzn-s3-demo-bucket .
```
출력:  

```
download: s3://amzn-s3-demo-bucket/test.txt to test.txt
download: s3://amzn-s3-demo-bucket/test2.txt to test2.txt
```
**예시 4: 모든 로컬 객체를 지정된 버킷에 동기화하고 일치하지 않는 모든 파일 삭제**  
다음 `sync` 명령은 로컬 파일을 S3에 업로드하여 지정된 접두사 및 버킷 아래의 객체를 로컬 디렉터리의 파일에 동기화합니다. `--delete` 파라미터를 사용하면 지정된 접두사와 버킷 아래에 존재하지만 로컬 디렉토리에 존재하지 않는 모든 파일이 삭제됩니다. 이 예시에서는 사용자가 `amzn-s3-demo-bucket` 버킷을 로컬 현재 디렉터리에 동기화합니다. 현재 로컬 디렉터리에는 `test.txt` 및 `test2.txt` 파일이 들어 있습니다. `amzn-s3-demo-bucket` 버킷에는 `test3.txt` 객체가 포함되어 있습니다.  

```
aws s3 sync . s3://amzn-s3-demo-bucket \
    --delete
```
출력:  

```
upload: test.txt to s3://amzn-s3-demo-bucket/test.txt
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
delete: s3://amzn-s3-demo-bucket/test3.txt
```
**예시 5: ``.jpg`` 파일을 제외한 모든 로컬 객체를 지정된 버킷에 동기화**  
다음 `sync` 명령은 로컬 파일을 S3에 업로드하여 지정된 접두사 및 버킷 아래의 객체를 로컬 디렉터리의 파일에 동기화합니다. `--exclude` 파라미터로 인해 S3 및 로컬 모두에 존재하는 패턴과 일치하는 모든 파일은 동기화에서 제외됩니다. 이 예시에서는 사용자가 `amzn-s3-demo-bucket` 버킷을 로컬 현재 디렉터리에 동기화합니다. 현재 로컬 디렉터리에는 `test.jpg` 및 `test2.txt` 파일이 들어 있습니다. `amzn-s3-demo-bucket` 버킷에는 로컬 `test.jpg`와 다른 크기의 `test.jpg` 객체가 포함되어 있습니다.  

```
aws s3 sync . s3://amzn-s3-demo-bucket \
    --exclude "*.jpg"
```
출력:  

```
upload: test2.txt to s3://amzn-s3-demo-bucket/test2.txt
```
**예제 6: 지정된 디렉터리 파일을 제외한 모든 로컬 객체를 지정된 버킷에 동기화**  
다음 `sync` 명령은 S3 객체를 다운로드하여 로컬 디렉터리 아래의 파일을 지정된 접두사 및 버킷 아래의 객체에 동기화합니다. 이 예시에서는 `--exclude` 파라미터 플래그를 사용하여 지정된 디렉터리와 S3 접두사를 `sync` 명령에서 제외합니다. 이 예시에서는 사용자가 로컬 현재 디렉터리를 `amzn-s3-demo-bucket` 버킷에 동기화합니다. 현재 로컬 디렉터리에는 `test.txt` 및 `another/test2.txt` 파일이 들어 있습니다. `amzn-s3-demo-bucket` 버킷에는 `another/test5.txt` 및 `test1.txt` 객체가 포함되어 있습니다.  

```
aws s3 sync s3://amzn-s3-demo-bucket/ . \
    --exclude "*another/*"
```
출력:  

```
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt
```
**예시 7: 서로 다른 리전의 버킷 간에 모든 객체 동기화**  
다음 `sync` 명령은 서로 다른 리전의 두 버킷 간에 파일을 동기화합니다.  

```
aws s3 sync s3://my-us-west-2-bucket s3://my-us-east-1-bucket \
    --source-region us-west-2 \
    --region us-east-1
```
출력:  

```
download: s3://my-us-west-2-bucket/test1.txt to s3://my-us-east-1-bucket/test1.txt
```
**예시 8: S3 액세스 포인트에 동기화**  
다음 `sync` 명령은 현재 디렉터리를 액세스 포인트(`myaccesspoint`)와 동기화합니다.  

```
aws s3 sync . s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/
```
출력:  

```
upload: test.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test.txt
upload: test2.txt to s3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/test2.txt
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Sync](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/sync.html) 섹션을 참조하세요.

### `upload-part-copy`
<a name="s3_UploadPartCopy_cli_topic"></a>

다음 코드 예시에서는 `upload-part-copy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**기존 객체의 데이터를 데이터 소스로 복사하여 객체의 일부를 업로드하는 방법**  
다음 `upload-part-copy` 예시에서는 기존 객체의 데이터를 데이터 소스로 복사하여 파트를 업로드합니다.  

```
aws s3api upload-part-copy \
    --bucket amzn-s3-demo-bucket \
    --key "Map_Data_June.mp4" \
    --copy-source "amzn-s3-demo-bucket/copy_of_Map_Data_June.mp4" \
    --part-number 1 \
    --upload-id "bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"
```
출력:  

```
{
    "CopyPartResult": {
        "LastModified": "2019-12-13T23:16:03.000Z",
        "ETag": "\"711470fc377698c393d94aed6305e245\""
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UploadPartCopy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/upload-part-copy.html) 섹션을 참조하세요.

### `upload-part`
<a name="s3_UploadPart_cli_topic"></a>

다음 코드 예시에서는 `upload-part`의 사용 방법을 보여줍니다.

**AWS CLI**  
다음 명령은 `create-multipart-upload` 명령으로 시작된 멀티파트 업로드의 첫 번째 부분을 업로드합니다.  

```
aws s3api upload-part --bucket amzn-s3-demo-bucket --key 'multipart/01' --part-number 1 --body part01 --upload-id  "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"
```
`body` 옵션은 업로드할 로컬 파일의 이름 또는 경로를 사용합니다. file:// 접두사는 사용하지 마세요. 최소 파트 크기는 5MB입니다. 업로드 ID는 `create-multipart-upload`에 의해 반환되며 `list-multipart-uploads`를 사용하여 가져올 수도 있습니다. 멀티파트 업로드를 생성할 때 버킷과 키가 지정됩니다.  
출력:  

```
{
    "ETag": "\"e868e0f4719e394144ef36531ee6824c\""
}
```
나중을 위해 각 파트의 ETag 값을 저장하세요. 멀티파트 업로드를 완료하는 데 필요합니다.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UploadPart](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/upload-part.html)를 참조하세요.

### `website`
<a name="s3_Website_cli_topic"></a>

다음 코드 예시는 `website`의 사용 방법을 보여줍니다.

**AWS CLI**  
**정적 웹 사이트로 Amazon S3 버킷 구성**  
다음 명령은 `amzn-s3-demo-bucket` 버킷의 정적 웹 사이트 구성을 검색합니다. 인덱스 문서 옵션은 방문자가 웹사이트 URL로 이동할 때 `amzn-s3-demo-bucket`으로 연결되는 파일을 지정합니다. 이 경우 버킷은 us-west-2 리전에 있으므로 사이트는 `http://amzn-s3-demo-bucket.s3-website-us-west-2.amazonaws.com`에 표시됩니다.  
정적 사이트에 표시되는 버킷의 모든 파일은 방문자가 파일을 열 수 있도록 구성해야 합니다. 파일 권한은 버킷 웹 사이트 구성과 별도로 구성됩니다.  

```
aws s3 website s3://amzn-s3-demo-bucket/ \
    --index-document index.html \
    --error-document error.html
```
Amazon S3에서 정적 웹사이트를 호스팅하는 방법에 대한 자세한 내용은 *Amazon Simple Storage Service 개발자 안내서*의 [정적 웹사이트 호스팅](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [Website](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/website.html) 섹션을 참조하세요.