Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 Amazon S3 예제 AWS CLI
다음 코드 예제에서는 AWS Command Line Interface Amazon S3에서를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 abort-multipart-upload의 사용 방법을 보여줍니다.
- AWS CLI
-
지정된 멀티파트 업로드 중단
다음
abort-multipart-upload명령은amzn-s3-demo-bucket버킷의multipart/01키에 대한 멀티파트 업로드를 중단합니다.aws s3api abort-multipart-upload \ --bucketamzn-s3-demo-bucket\ --keymultipart/01\ --upload-iddfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R이 명령에 필요한 업로드 ID는
create-multipart-upload로 출력되며list-multipart-uploads를 사용하여 가져올 수도 있습니다.-
API 세부 정보는 AWS CLI 명령 참조의 AbortMultipartUpload
를 참조하세요.
-
다음 코드 예시에서는 complete-multipart-upload의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 버킷
amzn-s3-demo-bucket의 키multipart/01에 대한 멀티파트 업로드를 완료합니다.aws s3api complete-multipart-upload --multipart-uploadfile://mpustruct--bucketamzn-s3-demo-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": "amzn-s3-demo-bucket", "Location": "https://amzn-s3-demo-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-sourcebucket-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 cptest.txts3://amzn-s3-demo-bucket/test2.txt출력:
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt예시 2: 만료 날짜가 있는 로컬 파일을 S3에 복사
다음
cp명령은 지정된 ISO 8601 타임스탬프에서 만료되는 지정된 버킷 및 키에 단일 파일을 복사합니다.aws s3 cptest.txts3://amzn-s3-demo-bucket/test2.txt\ --expires2014-10-01T20:30:00Z출력:
upload: test.txt to s3://amzn-s3-demo-bucket/test2.txt예시 3: S3에서 S3로 파일 복사
다음
cp명령은 단일 s3 객체를 지정된 버킷 및 키에 복사합니다.aws s3 cps3://amzn-s3-demo-bucket/test.txts3://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 cps3://amzn-s3-demo-bucket/test.txttest2.txt출력:
download: s3://amzn-s3-demo-bucket/test.txt to test2.txt예시 5: 한 버킷에서 다른 버킷으로 객체 복사
다음
cp명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷에 복사합니다.aws s3 cps3://amzn-s3-demo-bucket/test.txts3://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 cps3://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 cpmyDirs3://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 cps3://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 cps3://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 cps3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt\ --aclpublic-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-namemyuser\ --policy-namemypolicy출력:
{ "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 cpfile.txts3://amzn-s3-demo-bucket/--grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsersfull=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-size54760833024예시 13: 로컬 파일 스트림으로 S3 객체 다운로드
PowerShell은 의 인코딩을 변경하거나 파이프 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.
다음
cp명령은 S3 객체를 스트림으로 로컬에서 표준 출력으로 다운로드합니다. 스트림으로 다운로드는 현재--recursive파라미터와 호환되지 않습니다.aws s3 cps3://amzn-s3-demo-bucket/stream.txt-예시 14: S3 액세스 포인트에 업로드
다음
cp명령은 키(mykey)의 액세스 포인트(myaccesspoint)에 단일 파일(mydoc.txt)을 업로드합니다.aws s3 cpmydoc.txts3://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 cps3://arn:aws:s3:us-west-2:123456789012:accesspoint/myaccesspoint/mykeymydoc.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예시에서는amzn-s3-demo-bucket이라는 버킷을 생성합니다.aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regionus-east-1출력:
{ "Location": "/amzn-s3-demo-bucket" }자세한 내용은 Amazon S3 사용자 안내서의 버킷 생성을 참조하세요.
예시 2: 소유자가 적용된 버킷 생성
다음
create-bucket예시에서는 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하는amzn-s3-demo-bucket이라는 버킷을 생성합니다.aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regionus-east-1\ --object-ownershipBucketOwnerEnforced출력:
{ "Location": "/amzn-s3-demo-bucket" }자세한 내용은 Amazon S3 사용자 안내서의 객체 소유권 제어 및 ACL 비활성화를 참조하세요.
예시 3: 'us-east-1' 리전 외부에서 버킷 생성
다음
create-bucket예시에서는eu-west-1리전에서amzn-s3-demo-bucket이라는 버킷을 생성합니다.us-east-1외부 리전의 경우 원하는 리전에 버킷을 생성하려면 적절한LocationConstraint를 지정해야 합니다.aws s3api create-bucket \ --bucketamzn-s3-demo-bucket\ --regioneu-west-1\ --create-bucket-configurationLocationConstraint=eu-west-1출력:
{ "Location": "http://amzn-s3-demo-bucket.s3.amazonaws.com/" }자세한 내용은 Amazon S3 사용자 안내서의 버킷 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateBucket
을 참조하세요.
-
다음 코드 예시에서는 create-multipart-upload의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은 키
multipart/01를 사용하여 버킷amzn-s3-demo-bucket에 멀티파트 업로드를 생성합니다.aws s3api create-multipart-upload --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-analytics-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 분석 구성 삭제
다음
delete-bucket-analytics-configuration예시에서는 지정된 버킷 및 ID에 대한 분석 구성을 제거합니다.aws s3api delete-bucket-analytics-configuration \ --bucketamzn-s3-demo-bucket\ --id1이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketAnalyticsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-cors의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 Cross-Origin Resource Sharing 구성을 삭제합니다.aws s3api delete-bucket-cors --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketCors
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-encryption의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 서버 측 암호화 구성 삭제
다음
delete-bucket-encryption예시에서는 지정된 버킷의 서버 측 암호화 구성을 삭제합니다.aws s3api delete-bucket-encryption \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --id1이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketInventoryConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-lifecycle의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 수명 주기 구성을 삭제합니다.aws s3api delete-bucket-lifecycle --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketLifecycle
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-metrics-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 삭제
다음
delete-bucket-metrics-configuration예시에서는 지정된 버킷 및 ID에 대한 지표 구성을 제거합니다.aws s3api delete-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketMetricsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-ownership-controls의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정을 제거하는 방법
다음
delete-bucket-ownership-controls예시에서는 버킷의 버킷 소유권 설정을 제거합니다.aws s3api delete-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon S3 사용 설명서의 기존 버킷에 대한 객체 소유권 설정 섹션을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketOwnershipControls
섹션을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-policy의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 버킷 정책을 삭제합니다.aws s3api delete-bucket-policy --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketPolicy
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket-replication의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 복제 구성을 삭제합니다.aws s3api delete-bucket-replication --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketReplication
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-tagging의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 태그 지정 구성을 삭제합니다.aws s3api delete-bucket-tagging --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 delete-bucket-website의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 웹 사이트 구성을 삭제합니다.aws s3api delete-bucket-website --bucketamzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucketWebsite
를 참조하세요.
-
다음 코드 예시에서는 delete-bucket의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷을 삭제합니다.aws s3api delete-bucket --bucketamzn-s3-demo-bucket--regionus-east-1-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucket
을 참조하세요.
-
다음 코드 예시에서는 delete-object-tagging의 사용 방법을 보여줍니다.
- AWS CLI
-
객체의 태그 세트 삭제
다음
delete-object-tagging예시에서는 지정된 키가 있는 태그를 객체doc1.rtf에서 삭제합니다.aws s3api delete-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteObjectTagging
을 참조하세요.
-
다음 코드 예시에서는 delete-object의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서test.txt라는 객체를 삭제합니다.aws s3api delete-object --bucketamzn-s3-demo-bucket--keytest.txt버킷 버전 관리가 활성화된 경우 출력에는 삭제 마커의 버전 ID가 포함됩니다.
{ "VersionId": "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq", "DeleteMarker": true }객체를 삭제하는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteBucket
을 참조하세요.
-
다음 코드 예시에서는 delete-objects의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 객체를 삭제합니다.aws s3api delete-objects --bucketamzn-s3-demo-bucket--deletefile://delete.jsondelete.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 \ --bucketamzn-s3-demo-bucket이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 DeletePublicAccessBlock
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-accelerate-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 가속화 구성 가져오기
다음
get-bucket-accelerate-configuration예시에서는 지정된 버킷에 대한 가속화 구성을 가져옵니다.aws s3api get-bucket-accelerate-configuration \ --bucketamzn-s3-demo-bucket출력:
{ "Status": "Enabled" }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketAccelerateConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-acl의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 액세스 제어 목록을 가져옵니다.aws s3api get-bucket-acl --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --id1출력:
{ "AnalyticsConfiguration": { "StorageClassAnalysis": {}, "Id": "1" } }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketAnalyticsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-cors의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에 대한 Cross-Origin Resource Sharing 구성을 가져옵니다.aws s3api get-bucket-cors --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-encryption의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 서버 측 암호화 구성 가져오기
다음
get-bucket-encryption예시에서는amzn-s3-demo-bucket버킷의 서버 측 암호화 구성을 가져옵니다.aws s3api get-bucket-encryption \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --id1출력:
{ "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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-lifecycle-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 수명 주기 구성을 가져옵니다.aws s3api get-bucket-lifecycle-configuration --bucketamzn-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-lifecycle의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 수명 주기 구성을 가져옵니다.aws s3api get-bucket-lifecycle --bucketamzn-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
섹션을 참조하세요.
-
다음 코드 예시에서는 get-bucket-location의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 위치 제약 조건을 가져옵니다(제약 조건이 있는 경우).aws s3api get-bucket-location --bucketamzn-s3-demo-bucket출력:
{ "LocationConstraint": "us-west-2" }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketLocation
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-logging의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 로깅 상태 가져오기
다음
get-bucket-logging예시에서는 지정된 버킷의 로깅 상태를 가져옵니다.aws s3api get-bucket-logging \ --bucketamzn-s3-demo-bucket출력:
{ "LoggingEnabled": { "TargetPrefix": "", "TargetBucket": "amzn-s3-demo-bucket-logs" } }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketLogging
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-metrics-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
특정 ID를 가진 버킷의 지표 구성 가져오기
다음
get-bucket-metrics-configuration예시에서는 지정된 버킷 및 ID의 지표 구성을 표시합니다.aws s3api get-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123출력:
{ "MetricsConfiguration": { "Filter": { "Prefix": "logs" }, "Id": "123" } }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketMetricsConfiguration
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-notification-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 알림 구성을 가져옵니다.aws s3api get-bucket-notification-configuration --bucketamzn-s3-demo-bucket출력:
{ "TopicConfigurations": [ { "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic", "Events": [ "s3:ObjectCreated:*" ] } ] }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketInventoryConfiguration
섹션을 참조하세요.
-
다음 코드 예시에서는 get-bucket-notification의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 알림 구성을 가져옵니다.aws s3api get-bucket-notification --bucketamzn-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-ownership-controls의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정을 검색하는 방법
다음
get-bucket-ownership-controls예시에서는 버킷의 버킷 소유권 설정을 검색합니다.aws s3api get-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket출력:
{ "OwnershipControls": { "Rules": [ { "ObjectOwnership": "BucketOwnerEnforced" } ] } }자세한 내용은 Amazon S3 사용 설명서의 S3 버킷에 대한 객체 소유권 설정 보기 섹션을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketOwnershipControls
섹션을 참조하세요.
-
다음 코드 예시에서는 get-bucket-policy-status의 사용 방법을 보여줍니다.
- AWS CLI
-
특정 버킷이 퍼블릭인지 나타내는 버킷 정책 상태 가져오기
다음
get-bucket-policy-status예시에서는 버킷amzn-s3-demo-bucket의 정책 상태를 가져옵니다.aws s3api get-bucket-policy-status \ --bucketamzn-s3-demo-bucket출력:
{ "PolicyStatus": { "IsPublic": false } }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketPolicyStatus
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-policy의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 버킷 정책을 가져옵니다.aws s3api get-bucket-policy --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-replication의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 복제 구성을 가져옵니다.aws s3api get-bucket-replication --bucketamzn-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
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-request-payment의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 구매 요청 구성 가져오기
다음
get-bucket-request-payment예시에서는 지정된 버킷의 requester pays 구성을 가져옵니다.aws s3api get-bucket-request-payment \ --bucketamzn-s3-demo-bucket출력:
{ "Payer": "BucketOwner" }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketRequestPayment
를 참조하세요.
-
다음 코드 예시에서는 get-bucket-tagging의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 태그 지정 구성을 가져옵니다.aws s3api get-bucket-tagging --bucketamzn-s3-demo-bucket출력:
{ "TagSet": [ { "Value": "marketing", "Key": "organization" } ] }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-versioning의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 버전 관리 구성을 가져옵니다.aws s3api get-bucket-versioning --bucketamzn-s3-demo-bucket출력:
{ "Status": "Enabled" }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketVersioning
을 참조하세요.
-
다음 코드 예시에서는 get-bucket-website의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 정적 웹 사이트 구성을 가져옵니다.aws s3api get-bucket-website --bucketamzn-s3-demo-bucket출력:
{ "IndexDocument": { "Suffix": "index.html" }, "ErrorDocument": { "Key": "error.html" } }-
API 세부 정보는 AWS CLI 명령 참조의 GetBucketWebsite
를 참조하세요.
-
다음 코드 예시에서는 get-object-acl의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 객체에 대한 액세스 제어 목록을 가져옵니다.aws s3api get-object-acl --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf출력:
{ "TagSet": [ { "Value": "confidential", "Key": "designation" } ] }다음
get-object-tagging예시에서는 태그가 없는 객체doc2.rtf의 태그 세트를 가져오려고 시도합니다.aws s3api get-object-tagging \ --bucketamzn-s3-demo-bucket\ --keydoc2.rtf출력:
{ "TagSet": [] }다음
get-object-tagging예시에서는 태그가 여러 개 있는 객체doc3.rtf의 태그 세트를 가져옵니다.aws s3api get-object-tagging \ --bucketamzn-s3-demo-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
-
다음 명령은
amzn-s3-demo-bucket버킷의 객체에 대한 메타데이터를 검색합니다.aws s3api get-object-torrent --bucketamzn-s3-demo-bucket--keylarge-video-file.mp4large-video-file.torrenttorrent 파일은 현재 폴더에 로컬로 저장됩니다. 출력 파일 이름(
large-video-file.torrent)은 옵션 이름 없이 지정되며 명령의 마지막 인수여야 합니다.-
API 세부 정보는 AWS CLI 명령 참조의 GetObjectTorrent
섹션을 참조하세요.
-
다음 코드 예시에서는 get-object의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 예시에서는
get-object명령을 사용하여 Amazon S3에서 객체를 다운로드합니다.aws s3api get-object --buckettext-content--keydir/my_images.tar.bz2my_images.tar.bz2참고로 outfile 파라미터는 “--outfile”과 같은 옵션 이름 없이 지정됩니다. 출력 파일의 이름은 명령의 마지막 파라미터여야 합니다.
아래 예시에서는
--range를 사용하여 객체에서 특정 바이트 범위를 다운로드하는 방법을 보여줍니다. 참고로 바이트 범위에는 “bytes=”라는 접두사가 있어야 합니다.aws s3api get-object --buckettext-content--keydir/my_data--rangebytes=8888-9999my_data_range객체를 가져오는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 가져오기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 GetObject
를 참조하세요.
-
다음 코드 예시에서는 get-public-access-block의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 퍼블릭 액세스 차단 구성을 설정하거나 수정
다음
get-public-access-block예시에서는 지정된 버킷의 퍼블릭 액세스 차단 구성을 표시합니다.aws s3api get-public-access-block \ --bucketamzn-s3-demo-bucket출력:
{ "PublicAccessBlockConfiguration": { "IgnorePublicAcls": true, "BlockPublicPolicy": true, "BlockPublicAcls": true, "RestrictPublicBuckets": true } }-
API 세부 정보는 AWS CLI 명령 참조의 GetPublicAccessBlock
을 참조하세요.
-
다음 코드 예시에서는 head-bucket의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에 대한 액세스를 확인합니다.aws s3api head-bucket --bucketamzn-s3-demo-bucket버킷이 존재하고 버킷에 대한 액세스 권한이 있는 경우 출력이 반환되지 않습니다. 그렇지 않으면 오류 메시지가 표시됩니다. 예:
A client error (404) occurred when calling the HeadBucket operation: Not Found-
API 세부 정보는 AWS CLI 명령 참조의 HeadBucket
을 참조하세요.
-
다음 코드 예시에서는 head-object의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 객체에 대한 메타데이터를 가져옵니다.aws s3api head-object --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-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 사용 섹션을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketIntelligentTieringConfigurations
섹션을 참조하세요.
-
다음 코드 예시에서는 list-bucket-inventory-configurations의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 인벤토리 구성 가져오기
다음
list-bucket-inventory-configurations예시에서는 지정된 버킷의 인벤토리 구성을 나열합니다.aws s3api list-bucket-inventory-configurations \ --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 list-bucket-metrics-configurations의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 목록 검색
다음
list-bucket-metrics-configurations예시에서는 지정된 버킷에 대한 지표 구성 목록을 검색합니다.aws s3api list-bucket-metrics-configurations \ --bucketamzn-s3-demo-bucket출력:
{ "IsTruncated": false, "MetricsConfigurationList": [ { "Filter": { "Prefix": "logs" }, "Id": "123" }, { "Filter": { "Prefix": "tmp" }, "Id": "234" } ] }-
API 세부 정보는 AWS CLI 명령 참조의 ListBucketInventoryConfigurations
섹션을 참조하세요.
-
다음 코드 예시에서는 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
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 활성 멀티파트 업로드를 모두 나열합니다.aws s3api list-multipart-uploads --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 list-object-versions의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에서 객체의 버전 정보를 가져옵니다.aws s3api list-object-versions --bucketamzn-s3-demo-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 \ --bucketamzn-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
를 참조하세요.
-
다음 코드 예시에서는 list-objects의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 예시에서는
list-objects명령을 사용하여 지정된 버킷에 있는 모든 객체의 이름을 표시합니다.aws s3api list-objects --buckettext-content--query 'Contents[].{Key: Key, Size: Size}'이 예시에서는
--query인수를 사용하여list-objects의 출력을 각 객체의 키 값 및 크기로 필터링합니다.객체에 대한 자세한 내용은 Amazon S3 개발자 안내서의 Amazon S3 객체 작업을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListObjects
를 참조하세요.
-
다음 코드 예시에서는 list-parts의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket버킷에multipart/01키를 사용하여 멀티파트 업로드를 위해 업로드된 모든 부분을 나열합니다.aws s3api list-parts --bucketamzn-s3-demo-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명령은 사용자가 소유한 모든 버킷을 나열합니다. 이 예시에서는 사용자가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 lss3://amzn-s3-demo-bucket출력:
PRE somePrefix/ 2013-07-25 17:06:27 88 test.txt예시 3: 특정 버킷 및 접두사에 있는 모든 접두사 및 객체 나열
다음
ls명령은 지정된 버킷 및 접두사 아래에 객체와 공통 접두사를 나열합니다. 그러나 지정된 버킷 및 접두사 아래에는 객체나 공통 접두사가 없습니다.aws s3 lss3://amzn-s3-demo-bucket/noExistPrefix출력:
None예시 4: 버킷의 모든 접두사 및 객체를 반복적으로 나열
다음
ls명령은 버킷의 객체를 반복적으로 나열합니다. 출력에PRE dirname/을 표시하는 대신 버킷의 모든 콘텐츠가 순서대로 나열됩니다.aws s3 lss3://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 lss3://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 lss3://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명령은 버킷을 생성합니다. 이 예시에서는 사용자가 버킷amzn-s3-demo-bucket을 생성합니다. 버킷은 사용자의 구성 파일에 지정된 리전에 생성됩니다.aws s3 mbs3://amzn-s3-demo-bucket출력:
make_bucket: s3://amzn-s3-demo-bucket예시 2: 지정된 리전에서 버킷 생성
다음
mb명령은--region파라미터에 의해 지정된 리전에 버킷을 생성합니다. 이 예시에서는 사용자가us-west-1리전에서amzn-s3-demo-bucket버킷을 만듭니다.aws s3 mbs3://amzn-s3-demo-bucket\ --regionus-west-1출력:
make_bucket: s3://amzn-s3-demo-bucket-
API 세부 정보는 AWS CLI 명령 참조의 Mb
섹션을 참조하세요.
-
다음 코드 예시에서는 mv의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 로컬 파일을 지정된 버킷으로 이동
다음
mv명령은 단일 파일을 지정된 버킷 및 키로 이동합니다.aws s3 mvtest.txts3://amzn-s3-demo-bucket/test2.txt출력:
move: test.txt to s3://amzn-s3-demo-bucket/test2.txt예시 2: 객체를 지정된 버킷 및 키로 이동
다음
mv명령은 단일 s3 객체를 지정된 버킷 및 키로 이동합니다.aws s3 mvs3://amzn-s3-demo-bucket/test.txts3://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 mvs3://amzn-s3-demo-bucket/test.txttest2.txt출력:
move: s3://amzn-s3-demo-bucket/test.txt to test2.txt예시 4: 원래 이름을 가진 객체를 지정된 버킷으로 이동
다음
mv명령은 원래 이름을 유지하면서 단일 객체를 지정된 버킷으로 이동합니다.aws s3 mvs3://amzn-s3-demo-bucket/test.txts3://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 mvs3://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 mvmyDirs3://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 mvs3://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 mvs3://amzn-s3-demo-bucket/test.txts3://amzn-s3-demo-bucket/test2.txt\ --aclpublic-read-write출력:
move: s3://amzn-s3-demo-bucket/test.txt to s3://amzn-s3-demo-bucket/test2.txt예시 9: 로컬 파일을 지정된 버킷으로 이동하고 권한 부여
다음
mv명령은 모든 사용자에게 읽기 권한을 부여하고 이메일 주소로 식별되는 특정 사용자에게 모든 권한을 부여하는--grants옵션을 사용하는 방법을 보여줍니다.aws s3 mvfile.txts3://amzn-s3-demo-bucket/\ --grantsread=uri=http://acs.amazonaws.com/groups/global/AllUsersfull=emailaddress=user@example.com출력:
move: file.txt to s3://amzn-s3-demo-bucket/file.txt예시 10: 파일을 S3 액세스 포인트로 이동
다음
mv명령은 단일mydoc.txt파일을mykey키의myaccesspoint액세스 포인트로 이동합니다.aws s3 mvmydoc.txts3://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 presigns3://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 presigns3://amzn-s3-demo-bucket/test2.txt\ --expires-in604800출력:
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 개발자 안내서의 다른 사람과 객체 공유 섹션을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 Presign
섹션을 참조하세요.
-
다음 코드 예시에서는 put-bucket-accelerate-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 가속화 구성 설정
다음
put-bucket-accelerate-configuration예시에서는 지정된 버킷의 가속화 구성을 활성화합니다.aws s3api put-bucket-accelerate-configuration \ --bucketamzn-s3-demo-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 --bucketamzn-s3-demo-bucket--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 \ --bucketamzn-s3-demo-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 --bucketamzn-s3-demo-bucket--cors-configurationfile://cors.jsoncors.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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --id"ExampleConfig"\ --intelligent-tiering-configurationfile://intelligent-tiering-configuration.jsonintelligent-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 명령 참조의 PutBucketAccelerateConfiguration
섹션을 참조하세요.
-
다음 코드 예시에서는 put-bucket-inventory-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷에 대한 인벤토리 구성 설정
다음
put-bucket-inventory-configuration예시에서는amzn-s3-demo-bucket버킷 에 대한 주간 ORC 형식 인벤토리 보고서를 설정합니다.aws s3api put-bucket-inventory-configuration \ --bucketamzn-s3-demo-bucket\ --id1\ --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 \ --bucketamzn-s3-demo-bucket\ --id2\ --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
섹션을 참조하세요.
-
다음 코드 예시에서는 put-bucket-lifecycle-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에 수명 주기 구성을 적용합니다.aws s3api put-bucket-lifecycle-configuration --bucketamzn-s3-demo-bucket--lifecycle-configurationfile://lifecycle.jsonlifecycle.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
-
다음 명령은
amzn-s3-demo-bucket버킷에 수명 주기 구성을 적용합니다.aws s3api put-bucket-lifecycle --bucketamzn-s3-demo-bucket--lifecycle-configurationfile://lifecycle.jsonlifecycle.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예제에서는 amzn-s3-demo-bucket에 대한 로깅 정책을 설정합니다. 먼저put-bucket-policy명령을 사용하여 버킷 정책에서 로깅 서비스 보안 주체 권한을 부여합니다.aws s3api put-bucket-policy \ --bucketamzn-s3-demo-bucket\ --policyfile://policy.jsonpolicy.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 \ --bucketamzn-s3-demo-bucket\ --bucket-logging-statusfile://logging.jsonlogging.json의 콘텐츠:{ "LoggingEnabled": { "TargetBucket": "amzn-s3-demo-bucket", "TargetPrefix": "Logs/" } }로깅 서비스 위탁자에
s3:PutObject권한을 부여하려면put-bucket-policy명령이 필요합니다.자세한 내용은 Amazon S3 사용자 안내서의 Amazon S3 서버 액세스 로깅을 참조하세요.
예시 2: 단일 사용자에게만 액세스 로깅에 대한 버킷 정책 설정
다음
put-bucket-logging예제에서는 amzn-s3-demo-bucket에 대한 로깅 정책을 설정합니다. AWS 사용자 bob@example.com은 로그 파일을 완전히 제어할 수 있으며 다른 사람은 액세스할 수 없습니다. 먼저put-bucket-acl을 사용하여 S3 권한을 부여합니다.aws s3api put-bucket-acl \ --bucketamzn-s3-demo-bucket\ --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 \ --bucketamzn-s3-demo-bucket\ --bucket-logging-statusfile://logging.jsonlogging.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 서버 액세스 로깅을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketLogging
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-metrics-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 지표 구성 설정
다음
put-bucket-metrics-configuration예시에서는 지정된 버킷의 ID 123에 대한 지표 구성을 설정합니다.aws s3api put-bucket-metrics-configuration \ --bucketamzn-s3-demo-bucket\ --id123\ --metrics-configuration '{"Id": "123", "Filter": {"Prefix": "logs"}}'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketLifecycleConfiguration
섹션을 참조하세요.
-
다음 코드 예시에서는 put-bucket-notification-configuration의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷에 지정된 알림 활성화
다음
put-bucket-notification-configuration예시에서는amzn-s3-demo-bucket이라는 버킷에 알림 구성을 적용합니다.notification.json파일은 모니터링할 SNS 주제와 이벤트 유형을 지정하는 현재 폴더의 JSON 문서입니다.aws s3api put-bucket-notification-configuration \ --bucketamzn-s3-demo-bucket\ --notification-configurationfile://notification.jsonnotification.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:*:*:amzn-s3-demo-bucket" } } } ] }-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketNotificationConfiguration
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-notification의 사용 방법을 보여줍니다.
- AWS CLI
-
amzn-s3-demo-bucket이라는 버킷에 알림 구성을 적용합니다.aws s3api put-bucket-notification --bucketamzn-s3-demo-bucket--notification-configurationfile://notification.jsonnotification.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:amzn-s3-demo-bucket", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:amzn-s3-demo-bucket" } } } ] }-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketNotification
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-ownership-controls의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 버킷 소유권 설정을 업데이트하는 방법
다음
put-bucket-ownership-controls예시에서는 버킷의 버킷 소유권 설정을 업데이트합니다.aws s3api put-bucket-ownership-controls \ --bucketamzn-s3-demo-bucket\ --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Amazon S3 사용 설명서의 기존 버킷에 대한 객체 소유권 설정 섹션을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketOwnershipControls
섹션을 참조하세요.
-
다음 코드 예시는 put-bucket-policy의 사용 방법을 보여 줍니다.
- AWS CLI
-
이 예제에서는 모든 사용자가 MySecretFolder에 있는 객체를 제외하고 amzn-s3-demo-bucket에 있는 모든 객체를 가져올 수 있습니다. 또한 AWS 계정의 루트 사용자에게
put및delete권한을 부여합니다.1234-5678-9012aws s3api put-bucket-policy --bucketamzn-s3-demo-bucket--policyfile://policy.jsonpolicy.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
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-replication의 사용 방법을 보여줍니다.
- AWS CLI
-
S3 버킷의 복제 구성
다음
put-bucket-replication예시에서는 지정된 S3 버킷에 복제 구성을 적용합니다.aws s3api put-bucket-replication \ --bucketamzn-s3-demo-bucket1\ --replication-configurationfile://replication.jsonreplication.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 콘솔 사용자 안내서의 주제 제목을 참조하세요.
-
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 \ --bucketamzn-s3-demo-bucket\ --request-payment-configuration '{"Payer":"Requester"}'이 명령은 출력을 생성하지 않습니다.
예시 2: 버킷의 `requester pays` 구성 비활성화
다음
put-bucket-request-payment예시에서는 지정된 버킷의requester pays를 비활성화합니다.aws s3api put-bucket-request-payment \ --bucketamzn-s3-demo-bucket\ --request-payment-configuration '{"Payer":"BucketOwner"}'이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketRequestPayment
를 참조하세요.
-
다음 코드 예시에서는 put-bucket-tagging의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷에 태그 지정 구성을 적용합니다.aws s3api put-bucket-tagging --bucketamzn-s3-demo-bucket--taggingfile://tagging.jsontagging.json파일은 태그를 지정하는 현재 폴더의 JSON 문서입니다.{ "TagSet": [ { "Key": "organization", "Value": "marketing" } ] }또는 명령줄에서 태그 지정 구성을
amzn-s3-demo-bucket에 직접 적용할 수도 있습니다.aws s3api put-bucket-tagging --bucketamzn-s3-demo-bucket--tagging 'TagSet=[{Key=organization,Value=marketing}]'-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketTagging
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-versioning의 사용 방법을 보여줍니다.
- AWS CLI
-
다음 명령은
amzn-s3-demo-bucket이라는 버킷의 버전 관리를 활성화합니다.aws s3api put-bucket-versioning --bucketamzn-s3-demo-bucket--versioning-configurationStatus=Enabled다음 명령은 버전 관리를 활성화하고 mfa 코드를 사용합니다.
aws s3api put-bucket-versioning --bucketamzn-s3-demo-bucket--versioning-configurationStatus=Enabled--mfa"SERIAL 123456"-
API 세부 정보는 AWS CLI 명령 참조의 PutBucketVersioning
을 참조하세요.
-
다음 코드 예시에서는 put-bucket-website의 사용 방법을 보여줍니다.
- AWS CLI
-
amzn-s3-demo-bucket이라는 버킷에 정적 웹 사이트 구성을 적용합니다.aws s3api put-bucket-website --bucketamzn-s3-demo-bucket--website-configurationfile://website.jsonwebsite.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 --bucketamzn-s3-demo-bucket--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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-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 \ --bucketamzn-s3-demo-bucket\ --keydoc1.rtf\ --tagging '{"TagSet": [{ "Key": "designation", "Value": "confidential" }]}'이 명령은 출력을 생성하지 않습니다.
다음
put-object-tagging예시에서는 지정된 객체에 여러 태그 세트를 설정합니다.aws s3api put-object-tagging \ --bucketamzn-s3-demo-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
-
예제 1: Amazon S3에 객체 업로드
다음
put-object예제에서는 Amazon S3에 객체를 업로드합니다.aws s3api put-object \ --bucketamzn-s3-demo-bucket\ --keymy-dir/MySampleImage.png\ --bodyMySampleImage.png객체 업로드에 대한 자세한 내용은 Amazon S3 개발자 안내서의 객체 업로드 < http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html>를 참조하세요.
예제 2: Amazon S3에 비디오 파일 업로드
다음
put-object예제 명령은 비디오 파일을 업로드합니다.aws s3api put-object \ --bucketamzn-s3-demo-bucket\ --keymy-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
를 참조하세요.
-
다음 코드 예시에서는 put-public-access-block의 사용 방법을 보여줍니다.
- AWS CLI
-
버킷의 퍼블릭 액세스 차단 구성 설정
다음
put-public-access-block예시는 지정된 버킷에 대한 퍼블릭 액세스 차단 구성을 설정합니다.aws s3api put-public-access-block \ --bucketamzn-s3-demo-bucket\ --public-access-block-configuration"BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 PutPublicAccessBlock
섹션을 참조하세요.
-
다음 코드 예시에서는 rb의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: 버킷 삭제
다음
rb명령은 버킷을 제거합니다. 이 예시에서 사용자의 버킷은amzn-s3-demo-bucket입니다. 버킷을 제거하려면 비어 있어야 합니다.aws s3 rbs3://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 rbs3://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
섹션을 참조하세요.
-
다음 코드 예시에서는 restore-object의 사용 방법을 보여줍니다.
- AWS CLI
-
객체에 대한 복원 요청 생성
다음
restore-object예시에서는my-glacier-bucket버킷의 지정된 Amazon S3 Glacier 객체를 10일 동안 복원합니다.aws s3api restore-object \ --bucketmy-glacier-bucket\ --keydoc1.rtf\ --restore-requestDays=10이 명령은 출력을 생성하지 않습니다.
-
API 세부 정보는 AWS CLI 명령 참조의 RestoreObject
를 참조하세요.
-
다음 코드 예시에서는 rm의 사용 방법을 보여줍니다.
- AWS CLI
-
예시 1: S3 객체 삭제
다음
rm명령은 단일 s3 객체를 삭제합니다.aws s3 rms3://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 rms3://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 rms3://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 rms3://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 rms3://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 \ --bucketamzn-s3-demo-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 객체의 마지막 수정 시간보다 최신이거나 로컬 파일이 지정된 버킷 및 접두사에 존재하지 않는 경우 로컬 파일을 업로드해야 합니다. 이 예시에서는 사용자가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 syncs3://amzn-s3-demo-buckets3://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 syncs3://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 syncs3://amzn-s3-demo-bucket/.\ --exclude"*another/*"출력:
download: s3://amzn-s3-demo-bucket/test1.txt to test1.txt예시 7: 서로 다른 리전의 버킷 간에 모든 객체 동기화
다음
sync명령은 서로 다른 리전의 두 버킷 간에 파일을 동기화합니다.aws s3 syncs3://my-us-west-2-buckets3://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 \ --bucketamzn-s3-demo-bucket\ --key"Map_Data_June.mp4"\ --copy-source"amzn-s3-demo-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 --bucketamzn-s3-demo-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
-
정적 웹 사이트로 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 websites3://amzn-s3-demo-bucket/\ --index-documentindex.html\ --error-documenterror.htmlAmazon S3에서 정적 웹사이트를 호스팅하는 방법에 대한 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 정적 웹사이트 호스팅을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 Website
섹션을 참조하세요.
-