AWS CLI를 사용한 Amazon S3 예시
다음 코드 예시는 Amazon S3와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 abort-multipart-upload
의 사용 방법을 보여줍니다.
- AWS CLI
-
지정된 멀티파트 업로드 중단
다음
abort-multipart-upload
명령은my-bucket
버킷의multipart/01
키에 대한 멀티파트 업로드를 중단합니다.aws s3api abort-multipart-upload \ --bucket
my-bucket
\ --keymultipart/01
\ --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R
이 명령에 필요한 업로드 ID는
create-multipart-upload
로 출력되며list-multipart-uploads
를 사용하여 가져올 수도 있습니다.-
API 세부 정보는 AWS CLI 명령 참조의 AbortMultipartUpload
를 참조하세요.
-
다음 코드 예시에서는 complete-multipart-upload
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 버킷
my-bucket
의 키multipart/01
에 대한 멀티파트 업로드를 완료합니다.aws s3api complete-multipart-upload --multipart-upload
file://mpustruct
--bucketmy-bucket
--key 'multipart/01
' --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.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": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
-
API 세부 정보는 AWS CLI 명령 참조의 CompleteMultipartUpload
를 참조하세요.
-
다음 코드 예시에서는 copy-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
bucket-1
에서bucket-2
로 객체를 복사합니다.aws s3api copy-object --copy-source
bucket-1/test.txt
--keytest.txt
--bucketbucket-2
출력:
{ "CopyObjectResult": { "LastModified": "2015-11-10T01:07:25.000Z", "ETag": "\"589c8b79c230a6ecd5a7e1d040a9a030\"" }, "VersionId": "YdnYvTCVDqRRFA.NFJjy36p0hxifMlkA" }
-
API 세부 정보는 AWS CLI 명령 참조의 CopyObject
를 참조하세요.
-
다음 코드 예시에서는 cp
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 로컬 파일을 S3에 복사
다음
cp
명령은 단일 파일을 지정된 버킷 및 키에 복사합니다.aws s3 cp
test.txt
s3://mybucket/test2.txt
출력:
upload: test.txt to s3://mybucket/test2.txt
예시 2: 만료 날짜가 있는 로컬 파일을 S3에 복사
다음
cp
명령은 지정된 ISO 8601 타임스탬프에 만료되는 지정된 버킷 및 키에 단일 파일을 복사합니다.aws s3 cp
test.txt
s3://mybucket/test2.txt
\ --expires2014-10-01T20:30:00Z
출력:
upload: test.txt to s3://mybucket/test2.txt
예시 3: S3에서 S3으로 파일 복사
다음
cp
명령은 단일 S3 객체를 지정된 버킷 및 키에 복사합니다.aws s3 cp
s3://mybucket/test.txt
s3://mybucket/test2.txt
출력:
copy: s3://mybucket/test.txt to s3://mybucket/test2.txt
예시 4: S3 객체를 로컬 파일에 복사
다음
cp
명령은 단일 객체를 지정된 파일에 로컬로 복사합니다.aws s3 cp
s3://mybucket/test.txt
test2.txt
출력:
download: s3://mybucket/test.txt to test2.txt
예시 5: 한 버킷에서 다른 버킷으로 S3 객체 복사
다음
cp
명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷에 복사합니다.aws s3 cp
s3://mybucket/test.txt
s3://mybucket2/
출력:
copy: s3://mybucket/test.txt to s3://mybucket2/test.txt
예시 6: S3 객체를 로컬 디렉터리에 반복적으로 복사
파라미터
--recursive
와 함께 전달되면 다음cp
명령은 지정된 접두사 및 버킷에 있는 모든 객체를 지정된 디렉터리에 반복적으로 복사합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및test2.txt
가 있습니다.aws s3 cp
s3://mybucket
.
\ --recursive출력:
download: s3://mybucket/test1.txt to test1.txt download: s3://mybucket/test2.txt to test2.txt
예시 7: 로컬 파일을 S3에 반복적으로 복사
파라미터
--recursive
와 함께 전달되면 다음cp
명령은--exclude
파라미터를 사용하여 일부 파일을 제외하면서 지정된 디렉터리에 있는 모든 파일을 지정된 버킷 및 접두사에 반복적으로 복사합니다. 이 예시에서는 디렉터리myDir
에 파일test1.txt
및test2.jpg
가 있습니다.aws s3 cp
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
출력:
upload: myDir/test1.txt to s3://mybucket/test1.txt
예시 8: S3 객체를 다른 버킷에 반복적으로 복사
파라미터
--recursive
와 함께 전달되면 다음cp
명령은--exclude
파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷에 있는 모든 객체를 다른 버킷에 반복적으로 복사합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및another/test1.txt
가 있습니다.aws s3 cp
s3://mybucket/
s3://mybucket2/
\ --recursive \ --exclude"another/*"
출력:
copy: s3://mybucket/test1.txt to s3://mybucket2/test1.txt
--exclude
및--include
옵션을 결합하여 다른 모든 객체를 제외하고 패턴과 일치하는 객체만 복사할 수 있습니다.aws s3 cp
s3://mybucket/logs/
s3://mybucket2/logs/
\ --recursive \ --exclude"*"
\ --include"*.log"
출력:
copy: s3://mybucket/logs/test/test.log to s3://mybucket2/logs/test/test.log copy: s3://mybucket/logs/test3.log to s3://mybucket2/logs/test3.log
예시 9: S3 객체를 복사하는 동안 액세스 제어 목록(ACL) 설정
다음
cp
명령은 ACL을public-read-write
로 설정하는 동안 단일 객체를 지정된 버킷 및 키에 복사합니다.aws s3 cp
s3://mybucket/test.txt
s3://mybucket/test2.txt
\ --aclpublic-read-write
출력:
copy: s3://mybucket/test.txt to s3://mybucket/test2.txt
--acl
옵션을 사용하는 경우 관련 IAM 정책에"s3:PutObjectAcl"
작업이 포함되어 있는지 확인합니다.aws iam get-user-policy \ --user-name
myuser
\ --policy-namemypolicy
출력:
{ "UserName": "myuser", "PolicyName": "mypolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::mybucket/*" ], "Effect": "Allow", "Sid": "Stmt1234567891234" } ] } }
예시 10: S3 객체에 대한 권한 부여
다음
cp
명령은--grants
옵션을 사용하여 URI로 식별된 모든 사용자에게 읽기 액세스 권한을 부여하고 표준 ID로 식별된 특정 사용자에게 전체 제어를 부여하는 방법을 보여줍니다.aws s3 cp
file.txt
s3://mybucket/
--grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsers
full=id=79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
출력:
upload: file.txt to s3://mybucket/file.txt
예시 11: S3에 로컬 파일 스트림 업로드
PowerShell은 파이프 처리된 입력의 인코딩을 변경하거나 해당 입력에 CRLF를 추가할 수 있습니다.
다음
cp
명령은 표준 입력에서 지정된 버킷 및 키로 로컬 파일 스트림을 업로드합니다.aws s3 cp
-
s3://mybucket/stream.txt
예시 12: 50GB보다 큰 로컬 파일 스트림을 S3에 업로드
다음
cp
명령은 표준 입력에서 지정된 버킷 및 키로 51GB 로컬 파일 스트림을 업로드합니다.--expected-size
옵션을 제공해야 합니다. 그러지 않으면 기본 부분 한도인 10,000에 도달하면 업로드가 실패할 수 있습니다.aws s3 cp
-
s3://mybucket/stream.txt
--expected-size54760833024
예시 13: S3 객체를 로컬 파일 스트림으로 다운로드
PowerShell은 파이프 처리 또는 리디렉션된 출력의 인코딩을 변경하거나 해당 출력에 CRLF를 추가할 수 있습니다.
다음
cp
명령은 S3 객체를 스트림으로 로컬에서 표준 출력으로 다운로드합니다. 스트림으로 다운로드하는 것은 현재--recursive
파라미터와 호환되지 않습니다.aws s3 cp
s3://mybucket/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
를 참조하세요.
-
다음 코드 예시에서는 create-bucket
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷 생성
다음
create-bucket
예시에서는my-bucket
이라는 버킷을 생성합니다.aws s3api create-bucket \ --bucket
my-bucket
\ --regionus-east-1
출력:
{ "Location": "/my-bucket" }
자세한 내용은 Amazon S3 사용자 안내서의 버킷 생성을 참조하세요.
예시 2: 소유자가 적용된 버킷 생성
다음
create-bucket
예시에서는 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하는my-bucket
이라는 버킷을 생성합니다.aws s3api create-bucket \ --bucket
my-bucket
\ --regionus-east-1
\ --object-ownershipBucketOwnerEnforced
출력:
{ "Location": "/my-bucket" }
자세한 내용은 Amazon S3 사용자 안내서의 객체 소유권 제어 및 ACL 비활성화를 참조하세요.
예시 3: 'us-east-1' 리전 외부에서 버킷 생성
다음
create-bucket
예시에서는eu-west-1
리전에서my-bucket
이라는 버킷을 생성합니다.us-east-1
외부 리전의 경우 원하는 리전에 버킷을 생성하려면 적절한LocationConstraint
를 지정해야 합니다.aws s3api create-bucket \ --bucket
my-bucket
\ --regioneu-west-1
\ --create-bucket-configurationLocationConstraint=eu-west-1
출력:
{ "Location": "http://my-bucket.s3.amazonaws.com/" }
자세한 내용은 Amazon S3 사용자 안내서의 버킷 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateBucket
을 참조하세요.
-
다음 코드 예시에서는 create-multipart-upload
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 키
multipart/01
를 사용하여 버킷my-bucket
에 멀티파트 업로드를 생성합니다.aws s3api create-multipart-upload --bucket
my-bucket
--key 'multipart/01
'출력:
{ "Bucket": "my-bucket", "UploadId": "dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R", "Key": "multipart/01" }
완성된 파일은 이름이
01
이며my-bucket
버킷의multipart
폴더에 있습니다.upload-part
명령과 함께 사용할 업로드 ID, 키, 버킷 이름을 저장합니다.-
API 세부 정보는 AWS CLI 명령 참조의 CreateMultipartUpload
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-analytics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 분석 구성 삭제
다음
delete-bucket-analytics-configuration
예시에서는 지정된 버킷 및 ID에 대한 분석 구성을 제거합니다.aws s3api delete-bucket-analytics-configuration \ --bucket
my-bucket
\ --id1
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketAnalyticsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-cors
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 Cross-Origin Resource Sharing 구성을 삭제합니다.aws s3api delete-bucket-cors --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketCors
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-encryption
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 서버 측 암호화 구성 삭제
다음
delete-bucket-encryption
예시에서는 지정된 버킷의 서버 측 암호화 구성을 삭제합니다.aws s3api delete-bucket-encryption \ --bucket
my-bucket
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketEncryption
을 참조하세요.
-
다음 코드 예시에서는 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
DOC-EXAMPLE-BUCKET
\ --idExampleConfig
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon S3 사용자 안내서의 S3 Intelligent-Tiering 사용을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketIntelligentTieringConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-inventory-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 인벤토리 구성 삭제
다음
delete-bucket-inventory-configuration
예시에서는 지정된 버킷에 대해 ID가1
인 인벤토리 구성을 삭제합니다.aws s3api delete-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketInventoryConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-lifecycle
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 수명 주기 구성을 삭제합니다.aws s3api delete-bucket-lifecycle --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketLifecycle
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-metrics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 삭제
다음
delete-bucket-metrics-configuration
예시에서는 지정된 버킷 및 ID에 대한 지표 구성을 제거합니다.aws s3api delete-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketMetricsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-ownership-controls
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정 제거
다음
delete-bucket-ownership-controls
예시에서는 버킷의 버킷 소유권 설정을 제거합니다.aws s3api delete-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon S3 사용자 안내서의 기존 버킷에 대한 객체 소유권 설정을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketOwnershipControls
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-policy
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 버킷 정책을 삭제합니다.aws s3api delete-bucket-policy --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketPolicy
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-replication
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 복제 구성을 삭제합니다.aws s3api delete-bucket-replication --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketReplication
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 태그 지정 구성을 삭제합니다.aws s3api delete-bucket-tagging --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-website
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 웹 사이트 구성을 삭제합니다.aws s3api delete-bucket-website --bucket
my-bucket
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketWebsite
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷을 삭제합니다.aws s3api delete-bucket --bucket
my-bucket
--regionus-east-1
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucket
을 참조하세요.
-
다음 코드 예시에서는 delete-object-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체의 태그 세트 삭제
다음
delete-object-tagging
예시에서는 지정된 키가 있는 태그를 객체doc1.rtf
에서 삭제합니다.aws s3api delete-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteObjectTagging
을 참조하세요.
-
다음 코드 예시에서는 delete-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서test.txt
라는 객체를 삭제합니다.aws s3api delete-object --bucket
my-bucket
--keytest.txt
버킷 버전 관리가 활성화된 경우 출력에는 삭제 마커의 버전 ID가 포함됩니다.
{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }
객체를 삭제하는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteObject
를 참조하세요.
-
다음 코드 예시에서는 delete-objects
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 객체를 삭제합니다.aws s3api delete-objects --bucket
my-bucket
--deletefile://delete.json
delete.json
은 삭제할 객체를 지정하는 현재 디렉터리의 JSON 문서입니다.{ "Objects": [ { "Key": "test1.txt" } ], "Quiet": false }
출력:
{ "Deleted": [ { "DeleteMarkerVersionId": "mYAT5Mc6F7aeUL8SS7FAAqUPO1koHwzU", "Key": "test1.txt", "DeleteMarker": true } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteObjects
를 참조하세요.
-
다음 코드 예시에서는 delete-public-access-block
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 퍼블릭 액세스 차단 구성 삭제
다음
delete-public-access-block
예시에서는 지정된 버킷에서 퍼블릭 액세스 차단 구성을 제거합니다.aws s3api delete-public-access-block \ --bucket
my-bucket
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeletePublicAccessBlock
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-accelerate-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 가속화 구성 가져오기
다음
get-bucket-accelerate-configuration
예시에서는 지정된 버킷에 대한 가속화 구성을 가져옵니다.aws s3api get-bucket-accelerate-configuration \ --bucket
my-bucket
출력:
{ "Status": "Enabled" }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketAccelerateConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-acl
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 액세스 제어 목록을 가져옵니다.aws s3api get-bucket-acl --bucket
my-bucket
출력:
{ "Owner": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Grants": [ { "Grantee": { "DisplayName": "my-username", "ID": "7009a8971cd538e11f6b6606438875e7c86c5b672f46db45460ddcd087d36c32" }, "Permission": "FULL_CONTROL" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketAcl
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-analytics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
특정 ID를 가진 버킷의 분석 구성 가져오기
다음
get-bucket-analytics-configuration
예시에서는 지정된 버킷 및 ID에 대한 분석 구성을 표시합니다.aws s3api get-bucket-analytics-configuration \ --bucket
my-bucket
\ --id1
출력:
{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketAnalyticsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-cors
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에 대한 Cross-Origin Resource Sharing 구성을 가져옵니다.aws s3api get-bucket-cors --bucket
my-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
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-encryption
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 서버 측 암호화 구성 가져오기
다음
get-bucket-encryption
예시에서는my-bucket
버킷의 서버 측 암호화 구성을 가져옵니다.aws s3api get-bucket-encryption \ --bucket
my-bucket
출력:
{ "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketEncryption
을 참조하세요.
-
다음 코드 예시에서는 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
DOC-EXAMPLE-BUCKET
\ --idExampleConfig
출력:
{ "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 사용을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketIntelligentTieringConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-inventory-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 인벤토리 구성 가져오기
다음
get-bucket-inventory-configuration
예시에서는 지정된 버킷에 대해 ID가1
인 인벤토리 구성을 가져옵니다.aws s3api get-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
출력:
{ "InventoryConfiguration": { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketInventoryConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-lifecycle-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 수명 주기 구성을 가져옵니다.aws s3api get-bucket-lifecycle-configuration --bucket
my-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-lifecycle
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 수명 주기 구성을 가져옵니다.aws s3api get-bucket-lifecycle --bucket
my-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-location
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 위치 제약 조건을 가져옵니다(제약 조건이 있는 경우).aws s3api get-bucket-location --bucket
my-bucket
출력:
{ "LocationConstraint": "us-west-2" }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketLocation
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-logging
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 로깅 상태 가져오기
다음
get-bucket-logging
예시에서는 지정된 버킷의 로깅 상태를 가져옵니다.aws s3api get-bucket-logging \ --bucket
my-bucket
출력:
{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "my-bucket-logs" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketLogging
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-metrics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
특정 ID를 가진 버킷의 지표 구성 가져오기
다음
get-bucket-metrics-configuration
예시에서는 지정된 버킷 및 ID의 지표 구성을 표시합니다.aws s3api get-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
출력:
{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketMetricsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-notification-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 알림 구성을 가져옵니다.aws s3api get-bucket-notification-configuration --bucket
my-bucket
출력:
{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketNotificationConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-notification
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 알림 구성을 가져옵니다.aws s3api get-bucket-notification --bucket
my-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-ownership-controls
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정 가져오기
다음
get-bucket-ownership-controls
예시에서는 버킷의 버킷 소유권 설정을 가져옵니다.aws s3api get-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
출력:
{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }
자세한 내용은 Amazon S3 사용자 안내서의 S3 버킷의 객체 소유권 설정 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketOwnershipControls
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-policy-status
의 사용 방법을 보여줍니다.
- AWS CLI
-
특정 버킷이 퍼블릭인지 나타내는 버킷 정책 상태 가져오기
다음
get-bucket-policy-status
예시에서는 버킷my-bucket
의 정책 상태를 가져옵니다.aws s3api get-bucket-policy-status \ --bucket
my-bucket
출력:
{ "PolicyStatus": { "IsPublic": false } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketPolicyStatus
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-policy
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 버킷 정책을 가져옵니다.aws s3api get-bucket-policy --bucket
my-bucket
출력:
{ "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/*\"},{\"Sid\":\"\",\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket/secret/*\"}]}" }
버킷 정책 가져오기 및 넣기 다음 예시에서는 Amazon S3 버킷 정책을 다운로드하고 파일을 수정한 다음
put-bucket-policy
를 사용하여 수정된 버킷 정책을 적용하는 방법을 보여줍니다. 버킷 정책을 파일로 다운로드하려면 다음을 실행할 수 있습니다.aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json
그런 다음 필요에 따라
policy.json
파일을 수정할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.policy.json
파일을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.파일을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다. 마지막으로 다음을 실행하여 수정된 정책을 S3 버킷에 다시 적용할 수 있습니다.
aws s3api put-bucket-policy --bucket mybucket --policy file://policy.json
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketPolicy
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-replication
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 복제 구성을 가져옵니다.aws s3api get-bucket-replication --bucket
my-bucket
출력:
{ "ReplicationConfiguration": { "Rules": [ { "Status": "Enabled", "Prefix": "", "Destination": { "Bucket": "arn:aws:s3:::my-bucket-backup", "StorageClass": "STANDARD" }, "ID": "ZmUwNzE4ZmQ4tMjVhOS00MTlkLOGI4NDkzZTIWJjNTUtYTA1" } ], "Role": "arn:aws:iam::123456789012:role/s3-replication-role" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketReplication
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-request-payment
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 구매 요청 구성 가져오기
다음
get-bucket-request-payment
예시에서는 지정된 버킷의 requester pays 구성을 가져옵니다.aws s3api get-bucket-request-payment \ --bucket
my-bucket
출력:
{ "Payer": "BucketOwner" }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketRequestPayment
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 태그 지정 구성을 가져옵니다.aws s3api get-bucket-tagging --bucket
my-bucket
출력:
{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-versioning
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 버전 관리 구성을 가져옵니다.aws s3api get-bucket-versioning --bucket
my-bucket
출력:
{ "Status": "Enabled" }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketVersioning
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-website
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 정적 웹 사이트 구성을 가져옵니다.aws s3api get-bucket-website --bucket
my-bucket
출력:
{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketWebsite
를 참조하세요.
-
다음 코드 예시에서는 get-object-acl
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 객체에 대한 액세스 제어 목록을 가져옵니다.aws s3api get-object-acl --bucket
my-bucket
--keyindex.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
을 참조하세요.
-
다음 코드 예시에서는 get-object-attributes
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체 자체를 반환하지 않고 객체에서 메타데이터 가져오기
다음
get-object-attributes
예시에서는 객체doc1.rtf
에서 메타데이터를 가져옵니다.aws s3api get-object-attributes \ --bucket
my-bucket
\ --keydoc1.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를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectAttributes
를 참조하세요.
-
다음 코드 예시에서는 get-object-legal-hold
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체의 법적 보류 상태 가져오기
다음
get-object-legal-hold
예시에서는 지정된 객체의 법적 보류 상태를 가져옵니다.aws s3api get-object-legal-hold \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
출력:
{ "LegalHold": { "Status": "ON" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectLegalHold
를 참조하세요.
-
다음 코드 예시에서는 get-object-lock-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 객체 잠금 구성 가져오기
다음
get-object-lock-configuration
예시에서는 지정된 버킷의 객체 잠금 구성을 가져옵니다.aws s3api get-object-lock-configuration \ --bucket
my-bucket-with-object-lock
출력:
{ "ObjectLockConfiguration": { "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 } } } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectLockConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-object-retention
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 대한 객체 보존 구성 가져오기
다음
get-object-retention
예시에서는 지정된 객체에 대한 객체 보존 구성을 가져옵니다.aws s3api get-object-retention \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
출력:
{ "Retention": { "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00.000Z" } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectRetention
을 참조하세요.
-
다음 코드 예시에서는 get-object-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 연결된 태그 가져오기
다음
get-object-tagging
예시에서는 지정된 객체에서 지정된 키의 값을 가져옵니다.aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
출력:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }
다음
get-object-tagging
예시에서는 태그가 없는 객체doc2.rtf
의 태그 세트를 가져오려고 시도합니다.aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc2.rtf
출력:
{ "TagSet": [] }
다음
get-object-tagging
예시에서는 태그가 여러 개 있는 객체doc3.rtf
의 태그 세트를 가져옵니다.aws s3api get-object-tagging \ --bucket
my-bucket
\ --keydoc3.rtf
출력:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" }, { "Value": "finance", "Key": "department" }, { "Value": "payroll", "Key": "team" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectTagging
을 참조하세요.
-
다음 코드 예시에서는 get-object-torrent
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 객체의 토렌트를 생성합니다.aws s3api get-object-torrent --bucket
my-bucket
--keylarge-video-file.mp4
large-video-file.torrent
토렌트 파일은 현재 폴더에 로컬로 저장됩니다. 출력 파일 이름(
large-video-file.torrent
)은 옵션 이름 없이 지정되며 명령의 마지막 인수여야 합니다.-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectTorrent
를 참조하세요.
-
다음 코드 예시에서는 get-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 예시에서는
get-object
명령을 사용하여 Amazon S3에서 객체를 다운로드합니다.aws s3api get-object --bucket
text-content
--keydir/my_images.tar.bz2
my_images.tar.bz2
참고로 outfile 파라미터는 “--outfile”과 같은 옵션 이름 없이 지정됩니다. 출력 파일의 이름은 명령의 마지막 파라미터여야 합니다.
아래 예시에서는
--range
를 사용하여 객체에서 특정 바이트 범위를 다운로드하는 방법을 보여줍니다. 참고로 바이트 범위에는 “bytes=”라는 접두사가 있어야 합니다.aws s3api get-object --bucket
text-content
--keydir/my_data
--rangebytes=8888-9999
my_data_range
객체를 가져오는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 가져오기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetObject
를 참조하세요.
-
다음 코드 예시에서는 get-public-access-block
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 퍼블릭 액세스 차단 구성을 설정하거나 수정
다음
get-public-access-block
예시에서는 지정된 버킷의 퍼블릭 액세스 차단 구성을 표시합니다.aws s3api get-public-access-block \ --bucket
my-bucket
출력:
{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }
-
API 세부 정보는 AWS CLI 명령 참조의 GetPublicAccessBlock
을 참조하세요.
-
다음 코드 예시에서는 head-bucket
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에 대한 액세스를 확인합니다.aws s3api head-bucket --bucket
my-bucket
버킷이 존재하고 버킷에 대한 액세스 권한이 있는 경우 출력이 반환되지 않습니다. 그렇지 않으면 오류 메시지가 표시됩니다. 예:
A client error (404) occurred when calling the HeadBucket operation: Not Found
-
API 세부 정보는 AWS CLI 명령 참조의 HeadBucket
을 참조하세요.
-
다음 코드 예시에서는 head-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 객체에 대한 메타데이터를 가져옵니다.aws s3api head-object --bucket
my-bucket
--keyindex.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
를 참조하세요.
-
다음 코드 예시에서는 list-bucket-analytics-configurations
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 분석 구성 목록 가져오기
다음
list-bucket-analytics-configurations
는 지정된 버킷의 분석 구성 목록을 가져옵니다.aws s3api list-bucket-analytics-configurations \ --bucket
my-bucket
출력:
{ "AnalyticsConfigurationList": [ { "StorageClassAnalysis": {}, "Id": "1" } ], "IsTruncated": false }
-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketAnalyticsConfigurations
를 참조하세요.
-
다음 코드 예시에서는 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
DOC-EXAMPLE-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 사용을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketIntelligentTieringConfigurations
를 참조하세요.
-
다음 코드 예시에서는 list-bucket-inventory-configurations
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 인벤토리 구성 가져오기
다음
list-bucket-inventory-configurations
예시에서는 지정된 버킷의 인벤토리 구성을 나열합니다.aws s3api list-bucket-inventory-configurations \ --bucket
my-bucket
출력:
{ "InventoryConfigurationList": [ { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "ORC", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "1", "Schedule": { "Frequency": "Weekly" } }, { "IsEnabled": true, "Destination": { "S3BucketDestination": { "Format": "CSV", "Bucket": "arn:aws:s3:::my-bucket", "AccountId": "123456789012" } }, "IncludedObjectVersions": "Current", "Id": "2", "Schedule": { "Frequency": "Daily" } } ], "IsTruncated": false }
-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketInventoryConfigurations
를 참조하세요.
-
다음 코드 예시에서는 list-bucket-metrics-configurations
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 목록 가져오기
다음
list-bucket-metrics-configurations
예시에서는 지정된 버킷의 지표 구성 목록을 가져옵니다.aws s3api list-bucket-metrics-configurations \ --bucket
my-bucket
출력:
{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketMetricsConfigurations
를 참조하세요.
-
다음 코드 예시에서는 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
를 참조하세요.
-
다음 코드 예시에서는 list-multipart-uploads
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 활성 멀티파트 업로드를 모두 나열합니다.aws s3api list-multipart-uploads --bucket
my-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
를 참조하세요.
-
다음 코드 예시에서는 list-object-versions
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에서 객체의 버전 정보를 가져옵니다.aws s3api list-object-versions --bucket
my-bucket
--prefixindex.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
를 참조하세요.
-
다음 코드 예시에서는 list-objects-v2
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 객체 목록 가져오기
다음
list-objects-v2
예시에서는 지정된 버킷의 객체를 나열합니다.aws s3api list-objects-v2 \ --bucket
my-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
를 참조하세요.
-
다음 코드 예시에서는 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
를 참조하세요.
-
다음 코드 예시에서는 list-parts
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 버킷
my-bucket
에 키multipart/01
을 사용하여 멀티파트 업로드를 위해 업로드된 모든 부분을 나열합니다.aws s3api list-parts --bucket
my-bucket
--key 'multipart/01
' --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.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
를 참조하세요.
-
다음 코드 예시에서는 ls
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 사용자 소유 버킷 모두 나열
다음
ls
명령은 사용자가 소유한 모든 버킷을 나열합니다. 이 예시에서는 사용자가 버킷mybucket
및mybucket2
를 소유합니다. 타임스탬프는 버킷이 생성된 날짜로, 시스템의 시간대로 표시됩니다. 버킷 정책 편집과 같이 버킷을 변경할 때 이 날짜를 변경할 수 있습니다.s3://
가 경로 인수<S3Uri>
에 사용되는 경우 모든 버킷도 나열됩니다.aws s3 ls
출력:
2013-07-11 17:08:50 mybucket 2013-07-24 14:55:44 mybucket2
예시 2: 버킷의 모든 접두사 및 객체 나열
다음
ls
명령은 지정된 버킷 및 접두사의 객체와 공통 접두사를 나열합니다. 이 예시에서는 사용자가 객체test.txt
및somePrefix/test.txt
를 사용하여 버킷mybucket
을 소유합니다.LastWriteTime
및Length
는 임의입니다.ls
명령은 로컬 파일 시스템과 상호 작용하지 않으므로s3://
URI 체계는 모호성을 해결하는 데 필요하지 않으며 생략될 수 있습니다.aws s3 ls
s3://mybucket
출력:
PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt
예시 3: 특정 버킷 및 접두사의 모든 접두사 및 객체 나열
다음
ls
명령은 지정된 버킷 및 접두사의 객체와 공통 접두사를 나열합니다. 그러나 지정된 버킷 및 접두사 아래에는 객체나 공통 접두사가 없습니다.aws s3 ls
s3://mybucket/noExistPrefix
출력:
None
예시 4: 버킷의 모든 접두사 및 객체를 반복적으로 나열
다음
ls
명령은 버킷의 객체를 반복적으로 나열합니다. 출력에PRE dirname/
가 표시되지 않고 버킷의 모든 콘텐츠가 순서대로 나열됩니다.aws s3 ls
s3://mybucket
\ --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://mybucket
\ --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
를 참조하세요.
-
다음 코드 예시에서는 mb
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷 생성
다음
mb
명령은 버킷을 생성합니다. 이 예시에서는 사용자가 버킷mybucket
을 만듭니다. 버킷은 사용자의 구성 파일에 지정된 리전에 생성됩니다.aws s3 mb
s3://mybucket
출력:
make_bucket: s3://mybucket
예시 2: 지정된 리전에 버킷 생성
다음
mb
명령은--region
파라미터에 의해 지정된 리전에 버킷을 생성합니다. 이 예시에서는 사용자가 리전us-west-1
에서 버킷mybucket
을 만듭니다.aws s3 mb
s3://mybucket
\ --regionus-west-1
출력:
make_bucket: s3://mybucket
-
API 세부 정보는 AWS CLI 명령 참조의 Mb
를 참조하세요.
-
다음 코드 예시에서는 mv
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 로컬 파일을 지정된 버킷으로 이동
다음
mv
명령은 단일 파일을 지정된 버킷 및 키로 이동합니다.aws s3 mv
test.txt
s3://mybucket/test2.txt
출력:
move: test.txt to s3://mybucket/test2.txt
예시 2: 객체를 지정된 버킷 및 키로 이동
다음
mv
명령은 단일 S3 객체를 지정된 버킷 및 키로 이동합니다.aws s3 mv
s3://mybucket/test.txt
s3://mybucket/test2.txt
출력:
move: s3://mybucket/test.txt to s3://mybucket/test2.txt
예시 3: S3 객체를 로컬 디렉터리로 이동
다음
mv
명령은 단일 객체를 로컬로 지정된 파일로 이동합니다.aws s3 mv
s3://mybucket/test.txt
test2.txt
출력:
move: s3://mybucket/test.txt to test2.txt
예시 4: 원래 이름을 가진 객체를 지정된 버킷으로 이동
다음
mv
명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷으로 이동합니다.aws s3 mv
s3://mybucket/test.txt
s3://mybucket2/
출력:
move: s3://mybucket/test.txt to s3://mybucket2/test.txt
예시 5: 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동
파라미터
--recursive
와 함께 전달되면 다음mv
명령은 지정된 접두사 및 버킷의 모든 객체를 지정된 디렉터리로 반복적으로 이동합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및test2.txt
가 있습니다.aws s3 mv
s3://mybucket
.
\ --recursive출력:
move: s3://mybucket/test1.txt to test1.txt move: s3://mybucket/test2.txt to test2.txt
예시 6: '.jpg' 파일을 제외한 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동
파라미터
--recursive
와 함께 전달되면 다음mv
명령은 지정된 디렉터리의 모든 파일을--exclude
파라미터를 사용하여 일부 파일을 제외하면서 지정된 버킷 및 접두사로 반복적으로 이동합니다. 이 예시에서는 디렉터리myDir
에 파일test1.txt
및test2.jpg
가 있습니다.aws s3 mv
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
출력:
move: myDir/test1.txt to s3://mybucket2/test1.txt
예시 7: 지정된 접두사를 제외한 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동
파라미터
--recursive
와 함께 전달되면 다음mv
명령은--exclude
파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷의 모든 객체를 다른 버킷으로 반복적으로 이동합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및another/test1.txt
가 있습니다.aws s3 mv
s3://mybucket/
s3://mybucket2/
\ --recursive \ --exclude"mybucket/another/*"
출력:
move: s3://mybucket/test1.txt to s3://mybucket2/test1.txt
예시 8: 객체를 지정된 버킷으로 이동하고 ACL 설정
다음
mv
명령은 단일 객체를 지정된 버킷 및 키로 이동하고 ACL을public-read-write
로 설정합니다.aws s3 mv
s3://mybucket/test.txt
s3://mybucket/test2.txt
\ --aclpublic-read-write
출력:
move: s3://mybucket/test.txt to s3://mybucket/test2.txt
예시 9: 로컬 파일을 지정된 버킷으로 이동하고 권한 부여
다음
mv
명령은--grants
옵션을 사용하여 모든 사용자에게 읽기 액세스 권한을 부여하고 이메일 주소로 식별되는 특정 사용자에게 전체 제어 권한을 부여하는 방법을 보여줍니다.aws s3 mv
file.txt
s3://mybucket/
\ --grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsers
full=emailaddress=user@example.com
출력:
move: file.txt to s3://mybucket/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
를 참조하세요.
-
다음 코드 예시에서는 presign
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: S3 버킷의 객체에 연결하는 기본 1시간 수명 주기의 사전 서명된 URL 생성
다음
presign
명령은 1시간 동안 유효한 지정된 버킷 및 키에 대해 사전 서명된 URL을 생성합니다.aws s3 presign
s3://DOC-EXAMPLE-BUCKET/test2.txt
출력:
https://DOC-EXAMPLE-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://DOC-EXAMPLE-BUCKET/test2.txt
\ --expires-in604800
출력:
https://DOC-EXAMPLE-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 개발자 안내서의 다른 사람과 객체 공유를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 Presign
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-accelerate-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 가속화 구성 설정
다음
put-bucket-accelerate-configuration
예시에서는 지정된 버킷의 가속화 구성을 활성화합니다.aws s3api put-bucket-accelerate-configuration \ --bucket
my-bucket
\ --accelerate-configurationStatus=Enabled
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketAccelerateConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-acl
의 사용 방법을 보여줍니다.
- AWS CLI
-
이 예시에서는 두 명의 AWS 사용자(user1@example.com 및 user2@example.com)에게
full control
권한을 부여하고 모든 사용자에게read
권한을 부여합니다.aws s3api put-bucket-acl --bucket
MyBucket
--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com
--grant-readuri=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
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-analytics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 분석 구성 설정
다음
put-bucket-analytics-configuration
예시에서는 지정된 버킷의 분석을 구성합니다.aws s3api put-bucket-analytics-configuration \ --bucket
my-bucket
--id1
\ --analytics-configuration '{"Id": "1","StorageClassAnalysis": {}}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketAnalyticsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-cors
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 예시에서는 www.example.com의
PUT
,POST
및DELETE
요청을 활성화하고 모든 도메인의GET
요청을 활성화합니다.aws s3api put-bucket-cors --bucket
MyBucket
--cors-configurationfile://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
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-encryption
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 서버 측 암호화 구성
다음
put-bucket-encryption
예시에서는 AES256 암호화를 지정된 버킷의 기본값으로 설정합니다.aws s3api put-bucket-encryption \ --bucket
my-bucket
\ --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketEncryption
을 참조하세요.
-
다음 코드 예시에서는 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
DOC-EXAMPLE-BUCKET
\ --id"ExampleConfig"
\ --intelligent-tiering-configurationfile://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 사용자 안내서의 기존 버킷에 대한 객체 소유권 설정을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketIntelligentTieringConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-inventory-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷의 인벤토리 구성 설정
다음
put-bucket-inventory-configuration
예시에서는 버킷my-bucket
에 대한 주간 ORC 형식 인벤토리 보고서를 설정합니다.aws s3api put-bucket-inventory-configuration \ --bucket
my-bucket
\ --id1
\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "ORC" }}, "IsEnabled": true, "Id": "1", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Weekly" }}
'이 명령은 출력을 생성하지 않습니다.
예시 2: 버킷의 인벤토리 구성 설정
다음
put-bucket-inventory-configuration
예시에서는 버킷my-bucket
에 대한 일일 CSV 형식 인벤토리 보고서를 설정합니다.aws s3api put-bucket-inventory-configuration \ --bucket
my-bucket
\ --id2
\ --inventory-configuration '{"Destination": { "S3BucketDestination": { "AccountId": "123456789012", "Bucket": "arn:aws:s3:::my-bucket", "Format": "CSV" }}, "IsEnabled": true, "Id": "2", "IncludedObjectVersions": "Current", "Schedule": { "Frequency": "Daily" }}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketInventoryConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-lifecycle-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에 수명 주기 구성을 적용합니다.aws s3api put-bucket-lifecycle-configuration --bucket
my-bucket
--lifecycle-configurationfile://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
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-lifecycle
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에 수명 주기 구성을 적용합니다.aws s3api put-bucket-lifecycle --bucket
my-bucket
--lifecycle-configurationfile://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
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-logging
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷 정책 로깅 설정
다음
put-bucket-logging
예시에서는 MyBucket에 대한 로깅 정책을 설정합니다. 먼저put-bucket-policy
명령을 사용하여 버킷 정책에서 로깅 서비스 보안 주체 권한을 부여합니다.aws s3api put-bucket-policy \ --bucket
MyBucket
\ --policyfile://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:::MyBucket/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
MyBucket
\ --bucket-logging-statusfile://logging.json
logging.json
의 콘텐츠:{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "Logs/" } }
로깅 서비스 위탁자에
s3:PutObject
권한을 부여하려면put-bucket-policy
명령이 필요합니다.자세한 내용은 Amazon S3 사용자 안내서의 Amazon S3 서버 액세스 로깅을 참조하세요.
예시 2: 단일 사용자에게만 액세스 로깅에 대한 버킷 정책 설정
다음
put-bucket-logging
예시에서는 MyBucket에 대한 로깅 정책을 설정합니다. AWS 사용자 bob@example.com은 로그 파일을 완전히 제어할 수 있으며 다른 사용자는 액세스 권한을 갖지 않습니다. 먼저put-bucket-acl
을 사용하여 S3 권한을 부여합니다.aws s3api put-bucket-acl \ --bucket
MyBucket
\ --grant-writeURI=http://acs.amazonaws.com/groups/s3/LogDelivery
\ --grant-read-acpURI=http://acs.amazonaws.com/groups/s3/LogDelivery
그런 다음
put-bucket-logging
을 사용하여 로깅 정책을 적용합니다.aws s3api put-bucket-logging \ --bucket
MyBucket
\ --bucket-logging-statusfile://logging.json
logging.json
의 콘텐츠:{ "LoggingEnabled": { "TargetBucket": "MyBucket", "TargetPrefix": "MyBucketLogs/", "TargetGrants": [ { "Grantee": { "Type": "AmazonCustomerByEmail", "EmailAddress": "bob@example.com" }, "Permission": "FULL_CONTROL" } ] } }
S3의 로그 전달 시스템에 필수 권한(write 및 read-acp 권한)을 부여하려면
put-bucket-acl
명령이 필요합니다.자세한 내용은 Amazon S3 개발자 안내서의 Amazon S3 서버 액세스 로깅을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketLogging
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-metrics-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 설정
다음
put-bucket-metrics-configuration
예시에서는 지정된 버킷에 대해 ID 123으로 지표 구성을 설정합니다.aws s3api put-bucket-metrics-configuration \ --bucket
my-bucket
\ --id123
\ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketMetricsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-notification-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷에 지정된 알림 활성화
다음
put-bucket-notification-configuration
예시에서는my-bucket
이라는 버킷에 알림 구성을 적용합니다.notification.json
파일은 모니터링할 SNS 주제와 이벤트 유형을 지정하는 현재 폴더의 JSON 문서입니다.aws s3api put-bucket-notification-configuration \ --bucket
my-bucket
\ --notification-configurationfile://notification.json
notification.json
의 콘텐츠:{ "TopicConfigurations": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }
SNS 주제에 IAM 정책이 연결되어 있어야 Amazon S3이 해당 주제에 게시할 수 있습니다.
{ "Version": "2008-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:*:*:my-bucket" } } } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketNotificationConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-notification
의 사용 방법을 보여줍니다.
- AWS CLI
-
my-bucket
이라는 버킷에 알림 구성을 적용합니다.aws s3api put-bucket-notification --bucket
my-bucket
--notification-configurationfile://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": "2008-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:my-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:my-bucket" } } } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketNotification
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-ownership-controls
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정 업데이트
다음
put-bucket-ownership-controls
예시에서는 버킷의 버킷 소유권 설정을 업데이트합니다.aws s3api put-bucket-ownership-controls \ --bucket
DOC-EXAMPLE-BUCKET
\ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon S3 사용자 안내서의 기존 버킷에 대한 객체 소유권 설정을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketOwnershipControls
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-policy
의 사용 방법을 보여줍니다.
- AWS CLI
-
이 예시에서는 모든 사용자가 MySecretFolder에 있는 객체를 제외하고 MyBucket에 있는 모든 객체를 가져올 수 있습니다. 또한
1234-5678-9012
라는 AWS 계정의 루트 사용자에게put
및delete
권한을 부여합니다.aws s3api put-bucket-policy --bucket
MyBucket
--policyfile://policy.json
policy.json:
{
"Statement":[
{
"Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::MyBucket/*"
},
{
"Effect": "Deny", "Principal": "*", "Action": "s3:GetObject", "Resource":"arn:aws:s3:::MyBucket/MySecretFolder/*"
},
{
"Effect": "Allow", "Principal":{
"AWS":"arn:aws:iam::123456789012:root"
},
"Action":[
"s3:DeleteObject","s3:PutObject"
],
"Resource":"arn:aws:s3:::MyBucket/*"
}
]
}
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketPolicy
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-replication
의 사용 방법을 보여줍니다.
- AWS CLI
-
S3 버킷의 복제 구성
다음
put-bucket-replication
예시에서는 지정된 S3 버킷에 복제 구성을 적용합니다.aws s3api put-bucket-replication \ --bucket
AWSDOC-EXAMPLE-BUCKET1
\ --replication-configurationfile://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:::AWSDOC-EXAMPLE-BUCKET2" } } ] }
대상 버킷에 버전 관리가 활성화되어 있어야 합니다. 지정된 역할에는 대상 버킷에 쓰기 위한 권한이 있어야 하며 Amazon S3가 역할을 맡도록 허용하는 신뢰 관계가 있어야 합니다.
예시 역할 권한 정책:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1" ] }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET1/*" ] }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource": "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET2/*" } ] }
예시 신뢰 관계 정책:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon Simple Storage Service 콘솔 사용자 안내서의 주제 제목을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketReplication
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-request-payment
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷의 `requester pays` 구성 활성화
다음
put-bucket-request-payment
예시에서는 지정된 버킷의requester pays
를 활성화합니다.aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"Requester"}
'이 명령은 출력을 생성하지 않습니다.
예시 2: 버킷의 `requester pays` 구성 비활성화
다음
put-bucket-request-payment
예시에서는 지정된 버킷의requester pays
를 비활성화합니다.aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"BucketOwner"}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketRequestPayment
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷에 태그 지정 구성을 적용합니다.aws s3api put-bucket-tagging --bucket
my-bucket
--taggingfile://tagging.json
tagging.json
파일은 태그를 지정하는 현재 폴더의 JSON 문서입니다.{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }
또는 명령줄에서 태그 지정 구성을
my-bucket
에 직접 적용할 수도 있습니다.aws s3api put-bucket-tagging --bucket
my-bucket
--tagging 'TagSet=[{Key=organization,Value=marketing}]
'-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-versioning
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
my-bucket
이라는 버킷의 버전 관리를 활성화합니다.aws s3api put-bucket-versioning --bucket
my-bucket
--versioning-configurationStatus=Enabled
다음 명령은 버전 관리를 활성화하고 mfa 코드를 사용합니다.
aws s3api put-bucket-versioning --bucket
my-bucket
--versioning-configurationStatus=Enabled
--mfa"SERIAL 123456"
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketVersioning
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-website
의 사용 방법을 보여줍니다.
- AWS CLI
-
my-bucket
이라는 버킷에 정적 웹 사이트 구성을 적용합니다.aws s3api put-bucket-website --bucket
my-bucket
--website-configurationfile://website.json
website.json
파일은 웹 사이트의 색인 및 오류 페이지를 지정하는 현재 폴더의 JSON 문서입니다.{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketWebsite
를 참조하세요.
-
다음 코드 예시에서는 put-object-acl
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 두 명의 AWS 사용자(user1@example.com 및 user2@example.com)에게
full control
권한을 부여하고 모든 사용자에게read
권한을 부여합니다.aws s3api put-object-acl --bucket
MyBucket
--keyfile.txt
--grant-full-controlemailaddress=user1@example.com,emailaddress=user2@example.com
--grant-readuri=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
을 참조하세요.
-
다음 코드 예시에서는 put-object-legal-hold
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 법적 보류 적용
다음
put-object-legal-hold
예시에서는doc1.rtf
객체에 법적 보존을 설정합니다.aws s3api put-object-legal-hold \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
\ --legal-holdStatus=ON
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutObjectLegalHold
를 참조하세요.
-
다음 코드 예시에서는 put-object-lock-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷에 객체 잠금 구성 설정
다음
put-object-lock-configuration
예시에서는 지정된 버킷에 50일 객체 잠금을 설정합니다.aws s3api put-object-lock-configuration \ --bucket
my-bucket-with-object-lock
\ --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutObjectLockConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-object-retention
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 대한 객체 보존 구성 설정
다음
put-object-retention
예시에서는 지정된 객체에 대한 객체 보존 구성을 2025년 1월 1일 전까지로 설정합니다.aws s3api put-object-retention \ --bucket
my-bucket-with-object-lock
\ --keydoc1.rtf
\ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutObjectRetention
을 참조하세요.
-
다음 코드 예시에서는 put-object-tagging
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 태그 설정
다음
put-object-tagging
예시에서는 키 이름designation
및 값confidential
이 있는 태그를 지정된 객체에 설정합니다.aws s3api put-object-tagging \ --bucket
my-bucket
\ --keydoc1.rtf
\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}
'이 명령은 출력을 생성하지 않습니다.
다음
put-object-tagging
예시에서는 지정된 객체에 여러 태그 세트를 설정합니다.aws s3api put-object-tagging \ --bucket
my-bucket-example
\ --keydoc3.rtf
\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }, { "Key": "department", "Value": "finance" }, { "Key": "team", "Value": "payroll" } ]}
'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutObjectTagging
을 참조하세요.
-
다음 코드 예시에서는 put-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 예시에서는
put-object
명령을 사용하여 Amazon S3에 객체를 업로드합니다.aws s3api put-object --bucket
text-content
--keydir-1/my_images.tar.bz2
--bodymy_images.tar.bz2
다음 예시에서는 비디오 파일의 업로드를 보여줍니다(비디오 파일은 Windows 파일 시스템 구문을 사용하여 지정됨).
aws s3api put-object --bucket
text-content
--keydir-1/big-video-file.mp4
--body e:\media\videos\f-sharp-3-data-services.mp4객체를 업로드하는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 업로드를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutObject
를 참조하세요.
-
다음 코드 예시에서는 put-public-access-block
의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 퍼블릭 액세스 차단 구성 설정
다음
put-public-access-block
예시에서는 지정된 버킷의 제한적 퍼블릭 액세스 차단 구성을 설정합니다.aws s3api put-public-access-block \ --bucket
my-bucket
\ --public-access-block-configuration"BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutPublicAccessBlock
을 참조하세요.
-
다음 코드 예시에서는 rb
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷 삭제
다음
rb
명령은 버킷을 제거합니다. 이 예시에서 사용자의 버킷은mybucket
입니다. 단, 버킷을 제거하려면 버킷이 비어 있어야 합니다.aws s3 rb
s3://mybucket
출력:
remove_bucket: mybucket
예시 2: 버킷 강제 삭제
다음
rb
명령은--force
파라미터를 사용하여 먼저 버킷의 모든 객체를 제거한 다음 버킷 자체를 제거합니다. 이 예시에서 사용자의 버킷은mybucket
이고mybucket
의 객체는test1.txt
및test2.txt
입니다.aws s3 rb
s3://mybucket
\ --force출력:
delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt remove_bucket: mybucket
-
API 세부 정보는 AWS CLI 명령 참조의 Rb
를 참조하세요.
-
다음 코드 예시에서는 restore-object
의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 대한 복원 요청 생성
다음
restore-object
예시에서는my-glacier-bucket
버킷의 지정된 Amazon S3 Glacier 객체를 10일 동안 복원합니다.aws s3api restore-object \ --bucket
my-glacier-bucket
\ --keydoc1.rtf
\ --restore-requestDays=10
이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 RestoreObject
를 참조하세요.
-
다음 코드 예시에서는 rm
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: S3 객체 삭제
다음
rm
명령은 단일 S3 객체를 삭제합니다.aws s3 rm
s3://mybucket/test2.txt
출력:
delete: s3://mybucket/test2.txt
예시 2: 버킷의 모든 콘텐츠 삭제
다음
rm
명령은 파라미터--recursive
와 함께 전달될 때 지정된 버킷 및 접두사의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및test2.txt
가 포함되어 있습니다.aws s3 rm
s3://mybucket
\ --recursive출력:
delete: s3://mybucket/test1.txt delete: s3://mybucket/test2.txt
예시 3: '.jpg' 파일을 제외한 버킷의 모든 콘텐츠 삭제
다음
rm
명령은 파라미터--recursive
와 함께 전달될 때--exclude
파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷 및 접두사의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및test2.jpg
가 있습니다.aws s3 rm
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
출력:
delete: s3://mybucket/test1.txt
예시 4: 지정된 접두사의 객체를 제외한 버킷의 모든 콘텐츠 삭제
다음
rm
명령은 파라미터--recursive
와 함께 전달될 때--exclude
파라미터를 사용하여 특정 접두사의 모든 객체를 제외하면서 지정된 버킷 및 접두사의 모든 객체를 반복적으로 삭제합니다. 이 예시에서는 버킷mybucket
에 객체test1.txt
및another/test.txt
가 있습니다.aws s3 rm
s3://mybucket/
\ --recursive \ --exclude"another/*"
출력:
delete: s3://mybucket/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
을 참조하세요.
-
다음 코드 예시에서는 select-object-content
의 사용 방법을 보여줍니다.
- AWS CLI
-
SQL 문을 기반으로 Amazon S3 객체의 콘텐츠 필터링
다음
select-object-content
예시에서는 지정된 SQL 문으로 객체my-data-file.csv
를 필터링하고 출력을 파일로 보냅니다.aws s3api select-object-content \ --bucket
my-bucket
\ --keymy-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
를 참조하세요.
-
다음 코드 예시에서는 sync
의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 모든 로컬 객체를 지정된 버킷과 동기화
다음
sync
명령은 로컬 파일을 S3에 업로드하여 로컬 디렉터리의 객체를 지정된 접두사 및 버킷으로 동기화합니다. 로컬 파일의 크기가 S3 객체의 크기와 다르거나, 로컬 파일의 마지막 수정 시간이 S3 객체의 마지막 수정 시간보다 나중이거나, 지정된 버킷 및 접두사에 해당 로컬 파일이 없는 경우 로컬 파일을 업로드해야 합니다. 이 예시에서는 사용자가 버킷mybucket
을 현재 로컬 디렉터리와 동기화합니다. 현재 로컬 디렉터리에는 파일test.txt
및test2.txt
가 포함되어 있습니다. 버킷mybucket
에는 객체가 없습니다.aws s3 sync
.
s3://mybucket
출력:
upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt
예시 2: 지정된 S3 버킷의 모든 S3 객체를 다른 버킷과 동기화
다음
sync
명령은 S3 객체를 복사하여 지정된 접두사 및 버킷의 객체를 다른 지정된 접두사 및 버킷의 객체와 동기화합니다. 두 S3 객체의 크기가 다르거나, 소스의 마지막 수정 시간이 대상의 마지막 수정 시간보다 나중이거나, 지정된 버킷 및 접두사 대상에 해당 S3 객체가 없는 경우 S3 객체를 복사해야 합니다.이 예시에서는 사용자가 버킷
mybucket
을 버킷mybucket2
에 동기화합니다. 버킷mybucket
에는 객체test.txt
및test2.txt
가 포함되어 있습니다. 버킷mybucket2
에는 객체가 없습니다.aws s3 sync
s3://mybucket
s3://mybucket2
출력:
copy: s3://mybucket/test.txt to s3://mybucket2/test.txt copy: s3://mybucket/test2.txt to s3://mybucket2/test2.txt
예시 3: 지정된 S3 버킷의 모든 S3 객체를 로컬 디렉터리와 동기화
다음
sync
명령은 S3 객체를 다운로드하여 지정된 S3 버킷의 파일을 로컬 디렉터리와 동기화합니다. S3 객체의 크기가 로컬 파일 크기와 다르거나, S3 객체의 마지막 수정 시간이 로컬 파일의 마지막 수정 시간보다 나중이거나, 해당 S3 객체가 로컬 디렉터리에 없는 경우 S3 객체를 다운로드해야 합니다. 객체를 S3에서 다운로드하면 로컬 파일의 마지막 수정 시간이 S3 객체의 마지막 수정 시간으로 변경됩니다. 이 예시에서는 사용자가 버킷mybucket
을 현재 로컬 디렉터리와 동기화합니다. 버킷mybucket
에는 객체test.txt
및test2.txt
가 포함되어 있습니다. 현재 로컬 디렉터리에는 파일이 없습니다.aws s3 sync
s3://mybucket
.
출력:
download: s3://mybucket/test.txt to test.txt download: s3://mybucket/test2.txt to test2.txt
예시 4: 모든 로컬 객체를 지정된 버킷과 동기화하고 일치하지 않는 모든 파일 삭제
다음
sync
명령은 로컬 파일을 S3에 업로드하여 지정된 접두사 및 버킷의 객체를 로컬 디렉터리의 파일과 동기화합니다.--delete
파라미터로 인해 지정된 접두사 및 버킷에 있지만 로컬 디렉터리에는 없는 모든 파일이 삭제됩니다. 이 예시에서는 사용자가 버킷mybucket
을 현재 로컬 디렉터리와 동기화합니다. 현재 로컬 디렉터리에는 파일test.txt
및test2.txt
가 포함되어 있습니다. 버킷mybucket
에는 객체test3.txt
가 포함되어 있습니다.aws s3 sync
.
s3://mybucket
\ --delete출력:
upload: test.txt to s3://mybucket/test.txt upload: test2.txt to s3://mybucket/test2.txt delete: s3://mybucket/test3.txt
예시 5: '.jpg' 파일을 제외한 모든 로컬 객체를 지정된 버킷과 동기화
다음
sync
명령은 로컬 파일을 S3에 업로드하여 지정된 접두사 및 버킷의 객체를 로컬 디렉터리의 파일과 동기화합니다.--exclude
파라미터로 인해 S3 및 로컬 모두에 있는 패턴과 일치하는 모든 파일은 동기화에서 제외됩니다. 이 예시에서는 사용자가 버킷mybucket
을 현재 로컬 디렉터리와 동기화합니다. 현재 로컬 디렉터리에는 파일test.jpg
및test2.txt
가 포함되어 있습니다. 버킷mybucket
에는 로컬test.jpg
와 크기가 다른 객체test.jpg
가 포함되어 있습니다.aws s3 sync
.
s3://mybucket
\ --exclude"*.jpg"
출력:
upload: test2.txt to s3://mybucket/test2.txt
예시 6: '.jpg' 파일을 제외한 모든 로컬 객체를 지정된 버킷과 동기화
다음
sync
명령은 S3 객체를 다운로드하여 로컬 디렉터리의 파일을 지정된 접두사 및 버킷의 객체와 동기화합니다. 이 예시에서는--exclude
파라미터 플래그를 사용하여 지정된 디렉터리와 S3 접두사를sync
명령에서 제외합니다. 이 예시에서는 사용자가 현재 로컬 디렉터리를 버킷mybucket
과 동기화합니다. 현재 로컬 디렉터리에는 파일test.txt
및another/test2.txt
가 포함되어 있습니다. 버킷mybucket
에는 객체another/test5.txt
및test1.txt
가 포함되어 있습니다.aws s3 sync
s3://mybucket/
.
\ --exclude"*another/*"
출력:
download: s3://mybucket/test1.txt to test1.txt
예시 7: 서로 다른 리전의 버킷 간에 모든 객체 동기화
다음
sync
명령은 서로 다른 리전의 두 버킷 간에 파일을 동기화합니다.aws s3 sync
s3://my-us-west-2-bucket
s3://my-us-east-1-bucket
\ --source-regionus-west-2
\ --regionus-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
를 참조하세요.
-
다음 코드 예시에서는 upload-part-copy
의 사용 방법을 보여줍니다.
- AWS CLI
-
기존 객체의 데이터를 데이터 소스로 복사하여 객체의 일부 업로드
다음
upload-part-copy
예시에서는 기존 객체의 데이터를 데이터 소스로 복사하여 일부를 업로드합니다.aws s3api upload-part-copy \ --bucket
my-bucket
\ --key"Map_Data_June.mp4"
\ --copy-source"my-bucket/copy_of_Map_Data_June.mp4"
\ --part-number1
\ --upload-id"bq0tdE1CDpWQYRPLHuNG50xAT6pA5D.m_RiBy0ggOH6b13pVRY7QjvLlf75iFdJqp_2wztk5hvpUM2SesXgrzbehG5hViyktrfANpAD0NO.Nk3XREBqvGeZF6U3ipiSm"
출력:
{ "CopyPartResult": { "LastModified": "2019-12-13T23:16:03.000Z", "ETag": "\"711470fc377698c393d94aed6305e245\"" } }
-
API 세부 정보는 AWS CLI 명령 참조의 UploadPartCopy
를 참조하세요.
-
다음 코드 예시에서는 upload-part
의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
create-multipart-upload
명령으로 시작된 멀티파트 업로드의 첫 번째 부분을 업로드합니다.aws s3api upload-part --bucket
my-bucket
--key 'multipart/01
' --part-number1
--bodypart01
--upload-id"dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R"
body
옵션은 업로드할 로컬 파일의 이름 또는 경로를 사용합니다. file:// 접두사는 사용하지 마세요. 최소 파트 크기는 5MB입니다. 업로드 ID는create-multipart-upload
에 의해 반환되며list-multipart-uploads
를 사용하여 가져올 수도 있습니다. 멀티파트 업로드를 생성할 때 버킷과 키가 지정됩니다.출력:
{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }
나중을 위해 각 파트의 ETag 값을 저장하세요. 멀티파트 업로드를 완료하는 데 필요합니다.
-
API 세부 정보는 AWS CLI 명령 참조의 UploadPart
를 참조하세요.
-
다음 코드 예시에서는 website
의 사용 방법을 보여줍니다.
- AWS CLI
-
S3 버킷을 정적 웹 사이트로 구성
다음 명령은
my-bucket
이라는 버킷을 정적 웹 사이트로 구성합니다. 인덱스 문서 옵션은 방문자가 웹 사이트 URL로 이동할 때 해당 방문자를 이동시킬 대상my-bucket
에 파일을 지정합니다. 이 경우 버킷은 us-west-2 리전에 있으므로 사이트는http://my-bucket.s3-website-us-west-2.amazonaws.com
에 표시됩니다.정적 사이트에 표시되는 버킷의 모든 파일은 방문자가 해당 파일을 열 수 있도록 구성해야 합니다. 파일 권한은 버킷 웹 사이트 구성과 별도로 구성됩니다.
aws s3 website
s3://my-bucket/
\ --index-documentindex.html
\ --error-documenterror.html
Amazon S3에서 정적 웹 사이트를 호스팅하는 방법에 대한 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 정적 웹 사이트 호스팅을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 Website
를 참조하세요.
-