AWS Doc SDK ExamplesWord
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 Amazon S3 예제 AWS CLI
다음 코드 예제에서는 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://
접두사를 사용하여 라는 로컬 폴더의 파일에서 JSON 구조를 로드합니다mpustruct
.mpustruct:
{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }
각 파트의 ETag 값은
upload-part
명령을 사용하여 파트를 업로드할 때마다 출력되며, 각 파트의 MD5 체크섬을 호출하거나list-parts
계산하여 검색할 수도 있습니다.출력:
{ "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로 파일 복사 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 객체를 로컬 디렉터리에 반복적으로 복사
파라미터와 함께 전달되면 다음
cp
명령--recursive
은 지정된 접두사 및 버킷에 있는 모든 객체를 지정된 디렉터리에 재귀적으로 복사합니다. 이 예제에서 버킷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에 반복적으로 복사
파라미터와 함께 전달되면 다음
cp
명령--recursive
은 파라미터를 사용하여 일부 파일을 제외하면서 지정된 디렉터리에 있는 모든 파일을 지정된 버킷 및 접두사에 재귀적으로 복사합니다--exclude
. 이 예제에서는 디렉터리에 파일test1.txt
및myDir
가 있습니다test2.jpg
.aws s3 cp
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
출력:
upload: myDir/test1.txt to s3://mybucket/test1.txt
예제 8: S3 객체를 다른 버킷에 반복적으로 복사
파라미터와 함께 전달되면 다음
cp
명령--recursive
은--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
명령은 키(mydoc.txt
)의 액세스 포인트()에 단일 파일(myaccesspoint
)을 업로드합니다mykey
.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
명령은 액세스 포인트(mykey
)에서 로컬 파일()로 단일 객체(myaccesspoint
)를 다운로드합니다mydoc.txt
.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 사용 설명서의 객체 소유권 제어 및 ACLs 비활성화를 참조하세요.
예 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 사용을 참조하세요. Amazon S3
-
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 사용을 참조하세요. Amazon S3
-
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 버킷에 대한 객체 소유권 설정 보기를 참조하세요. Amazon 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/*\"}]}" }
policyThe 다음 예제에서는 버킷 가져오기 및 배치를 통해 Amazon S3 버킷 정책을 다운로드하고, 파일을 수정한 다음
put-bucket-policy
를 사용하여 수정된 버킷 정책을 적용하는 방법을 보여줍니다. 버킷 정책을 파일로 다운로드하려면 다음을 실행할 수 있습니다.aws s3api get-bucket-policy --bucket mybucket --query Policy --output text > policy.json
그런 다음 필요에 따라
policy.json
파일을 수정할 수 있습니다. 마지막으로 필요에 따라policy.json
파일을 실행하여 수정된 정책을 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
예시는 지정된 버킷에 대한 요청자 지불 구성을 검색합니다.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 GetObjectAttributes 참조의 API를 참조하세요.
-
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 사용을 참조하세요. Amazon S3
-
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
-
다음 명령은 버킷에 키를 사용하여 멀티파트 업로드에 대해 업로드된 모든 부분을 나열
multipart/01
합니다my-bucket
.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
및mybucket
로 버킷을 소유합니다somePrefix/test.txt
.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 and --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
파라미터에 의해 지정된 리전에 버킷을 생성합니다. 이 예제에서 사용자는 리전mybucket
에서 버킷을 만듭니다us-west-1
.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: 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동
파라미터와 함께 전달되면 다음
mv
명령--recursive
은 지정된 접두사 및 버킷 아래의 모든 객체를 지정된 디렉터리로 재귀적으로 이동합니다. 이 예제에서는 버킷에 객체test1.txt
및mybucket
가 있습니다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
파라미터를 사용하여 일부 파일을 제외하면서 지정된 버킷 및 접두사로 재귀적으로 이동합니다. 이 예제에서는 디렉터리에test1.txt
및 파일이myDir
있습니다test2.jpg
.aws s3 mv
myDir
s3://mybucket/
\ --recursive \ --exclude"*.jpg"
출력:
move: myDir/test1.txt to s3://mybucket2/test1.txt
예제 7: 지정된 접두사를 제외한 버킷의 모든 객체 및 접두사를 로컬 디렉터리로 이동
파라미터와 함께 전달되면
--recursive
다음mv
명령은--exclude
파라미터를 사용하여 일부 객체를 제외하면서 지정된 버킷 아래의 모든 객체를 다른 버킷으로 재귀적으로 이동합니다. 이 예제에서는 버킷에 객체test1.txt
및mybucket
가 있습니다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
명령은 라는 이름의 단일 파일을 라는 이름의 키myaccesspoint
에 라는 액세스 포인트mydoc.txt
로 이동합니다mykey
.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
사용자 지정 ACLs에 대한 자세한 내용은 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html을 참조하세요(와 같은 s3api ACL 명령은 동일한 단축 인수 표기법을
put-bucket-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
예제에서는 버킷에 대한 주간 ORC 형식 인벤토리 보고서를 설정합니다my-bucket
.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
예제에서는 버킷에 대한 일일 CSV 형식 인벤토리 보고서를 설정합니다my-bucket
.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
파일은 현재 폴더의 JSON 문서
lifecycle.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
파일은 현재 폴더의 JSON 문서
lifecycle.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
이라는 버킷에 알림 구성을 적용합니다. 파일은 현재 폴더의 JSON 문서로notification.json
, 모니터링할 SNS 주제와 이벤트 유형을 지정합니다.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 주제에는 Amazon S3가 게시할 수 있는 IAM 정책이 연결되어 있어야 합니다.
{ "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
JSON 문서로, 모니터링할 SNS 주제와 이벤트 유형을 지정합니다.{ "TopicConfiguration": { "Event": "s3:ObjectCreated:*", "Topic": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" } }
SNS 주제에는 Amazon S3가 게시할 수 있는 IAM 정책이 연결되어 있어야 합니다.
{ "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
-
이 예제에서는 모든 사용자가 MyBucket의 객체를 제외한 모든 객체를 MySecretFolder에서 검색할 수 있습니다. 또한 AWS 계정의 루트 사용자에게
1234-5678-9012
다음과 같은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: 버킷의 ``요청자 지불`` 구성을 활성화하려면
다음
put-bucket-request-payment
예시는 지정된 버킷의requester pays
를 활성화합니다.aws s3api put-bucket-request-payment \ --bucket
my-bucket
\ --request-payment-configuration '{"Payer":"Requester"}
'이 명령은 출력을 생성하지 않습니다.
예시 2: 버킷의 ``요청자 지불`` 구성을 비활성화하려면
다음
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
파일은 태그를 지정하는 현재 폴더의 JSON 문서
tagging.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
파일은 웹 사이트의 인덱스 및 오류 페이지를 지정하는 현재 폴더의 JSON 문서
website.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
사용자 지정 ACLs에 대한 자세한 내용은 http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html을 참조하세요(와 같은 s3api ACL 명령은 동일한 단축 인수 표기법을
put-object-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-01-01까지 객체 보존 구성을 설정합니다.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
. 이 예제에서 버킷에는 객체test1.txt
및가mybucket
포함되어 있습니다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
명령은 액세스 포인트(mykey
)에서 단일 객체()를 삭제합니다myaccesspoint
. :: 다음rm
명령은 액세스 포인트(mykey
)에서 단일 객체()를 삭제합니다myaccesspoint
.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 객체가 없는 경우 S3 객체를 복사해야 합니다.이 예제에서는 사용자가 버킷을 버킷
mybucket
에 동기화합니다mybucket2
. 버킷에는 객체test.txt
및가mybucket
포함되어 있습니다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에서 다운로드할 때 로컬 파일의 마지막 수정 시간이 S3 객체의 마지막 수정 시간으로 변경됩니다. 이 예제에서는 사용자가 버킷을 현재 로컬 디렉터리mybucket
와 동기화합니다. 버킷에는 객체test.txt
및가mybucket
포함되어 있습니다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
. 버킷에는 로컬test.jpg
과 다른 크기의 객체가mybucket
포함되어 있습니다test.jpg
.aws s3 sync
.
s3://mybucket
\ --exclude"*.jpg"
출력:
upload: test2.txt to s3://mybucket/test2.txt
예제 6: ``.jpg`` 파일을 제외한 모든 로컬 객체를 지정된 버킷에 동기화
다음
sync
명령은 S3 객체를 다운로드하여 로컬 디렉터리의 파일을 지정된 접두사 및 버킷의 객체와 동기화합니다. 이 예제에서는--exclude
파라미터 플래그를 사용하여sync
명령에서 지정된 디렉터리와 S3 접두사를 제외합니다. 이 예제에서 사용자는 로컬 현재 디렉터리를 버킷에 동기화합니다mybucket
. 로컬 현재 디렉터리에는test.txt
및 파일이 포함되어 있습니다another/test2.txt
. 버킷에는 객체another/test5.txt
및가mybucket
포함되어 있습니다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 명령 참조의 동기화
를 참조하세요.
-
다음 코드 예시에서는 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입니다.create-multipart-upload
에서 업로드 ID를 반환하며list-multipart-uploads
를 사용하여 검색할 수도 있습니다. 멀티파트 업로드를 생성할 때 버킷과 키가 지정됩니다.출력:
{ "ETag": "\"e868e0f4719e394144ef36531ee6824c\"" }
나중에 사용할 수 있도록 각 부분의 ETag 값을 저장합니다. 멀티파트 업로드를 완료하는 데 필요합니다.
-
API 세부 정보는 AWS CLI 명령 참조의 UploadPart
를 참조하세요.
-
다음 코드 예시에서는 website
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
정적 웹 사이트로 S3 버킷 구성
다음 명령은 정적 웹 사이트
my-bucket
라는 버킷을 구성합니다. 인덱스 문서 옵션은 방문자my-bucket
가 웹 사이트 URL로 이동할 때 로 연결되는 파일을 지정합니다. 이 경우 버킷은 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 명령 참조의 웹 사이트를
참조하세요.
-