를 사용한 Amazon S3 컨트롤 예제 AWS CLI - AWS SDK 코드 예제

AWS Doc SDK ExamplesWord AWS SDK 리포지토리에는 더 많은 GitHub 예제가 있습니다.

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

를 사용한 Amazon S3 컨트롤 예제 AWS CLI

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

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

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

주제

작업

다음 코드 예시에서는 create-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트를 생성하려면

다음 create-access-point 예제에서는 계정 123456789012의 버킷business-recordsfinance-ap 대한 라는 액세스 포인트를 생성합니다. 이 예제를 실행하기 전에 액세스 포인트 이름, 버킷 이름 및 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control create-access-point \ --account-id 123456789012 \ --bucket business-records \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서액세스 포인트 생성을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateAccessPoint를 참조하세요.

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

AWS CLI

Amazon S3 배치 작업 작업을 생성하려면

다음 create-job 예제에서는 객체를 로 태그 지정하기 위한 Amazon S3 배치 작업 작업을 생성합니다confidential` in the bucket ``employee-records.

aws s3control create-job \ --account-id 123456789012 \ --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"confidential", "Value":"true"}] }}' \ --report '{"Bucket":"arn:aws:s3:::employee-records-logs","Prefix":"batch-op-create-job", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \ --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv","ETag":"69f52a4e9f797e987155d9c8f5880897"}}' \ --priority 42 \ --role-arn arn:aws:iam::123456789012:role/S3BatchJobRole

출력:

{ "JobId": "93735294-df46-44d5-8638-6356f335324e" }
  • API 세부 정보는 AWS CLI 명령 참조CreateJob를 참조하세요.

다음 코드 예시에서는 delete-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 삭제하려면

다음 delete-access-point-policy 예제에서는 계정 123456789012finance-ap에 이름이 지정된 액세스 포인트에서 액세스 포인트 정책을 삭제합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control delete-access-point-policy \ --account-id 123456789012 \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

다음 코드 예시에서는 delete-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트를 삭제하려면

다음 delete-access-point 예제에서는 계정 123456789012finance-ap에 이름이 지정된 액세스 포인트를 삭제합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control delete-access-point \ --account-id 123456789012 \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteAccessPoint를 참조하세요.

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

AWS CLI

계정에 대한 퍼블릭 액세스 차단 설정을 삭제하려면

다음 delete-public-access-block 예제에서는 지정된 계정에 대한 퍼블릭 액세스 차단 설정을 삭제합니다.

aws s3control delete-public-access-block \ --account-id 123456789012

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 describe-job을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업 작업 설명

다음은 지정된 배치 작업 작업에 대한 구성 파라미터와 상태를 describe-job 제공합니다.

aws s3control describe-job \ --account-id 123456789012 \ --job-id 93735294-df46-44d5-8638-6356f335324e

출력:

{ "Job": { "TerminationDate": "2019-10-03T21:49:53.944Z", "JobId": "93735294-df46-44d5-8638-6356f335324e", "FailureReasons": [], "Manifest": { "Spec": { "Fields": [ "Bucket", "Key" ], "Format": "S3BatchOperations_CSV_20180820" }, "Location": { "ETag": "69f52a4e9f797e987155d9c8f5880897", "ObjectArn": "arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv" } }, "Operation": { "S3PutObjectTagging": { "TagSet": [ { "Value": "true", "Key": "confidential" } ] } }, "RoleArn": "arn:aws:iam::123456789012:role/S3BatchJobRole", "ProgressSummary": { "TotalNumberOfTasks": 8, "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8 }, "Priority": 42, "Report": { "ReportScope": "AllTasks", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "batch-op-create-job", "Bucket": "arn:aws:s3:::employee-records-logs" }, "JobArn": "arn:aws:s3:us-west-2:123456789012:job/93735294-df46-44d5-8638-6356f335324e", "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete" } }
  • API 세부 정보는 AWS CLI 명령 참조DescribeJob를 참조하세요.

다음 코드 예시에서는 get-access-point-policy-status을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책 상태를 검색하려면

다음 get-access-point-policy-status 예제에서는 finance-ap 계정 123456789012에 이름이 지정된 액세스 포인트의 액세스 포인트 정책 상태를 검색합니다. 액세스 포인트 정책 상태는 액세스 포인트의 정책이 퍼블릭 액세스를 허용하는지 여부를 나타냅니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point-policy-status \ --account-id 123456789012 \ --name finance-ap

출력:

{ "PolicyStatus": { "IsPublic": false } }

액세스 포인트 정책이 퍼블릭으로 간주되는 시기에 대한 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 'Public'의 의미를 참조하세요.

다음 코드 예시에서는 get-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 검색하려면

다음 get-access-point-policy 예제에서는 finance-ap 계정 123456789012에 이름이 지정된 액세스 포인트에서 액세스 포인트 정책을 검색합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point-policy \ --account-id 123456789012 \ --name finance-ap

출력:

{ "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/Admin\"},\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/records/*\"}]}" }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

다음 코드 예시에서는 get-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 구성 세부 정보를 검색하려면

다음 get-access-point 예제에서는 계정 123456789012finance-ap에 이름이 지정된 액세스 포인트의 구성 세부 정보를 검색합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point \ --account-id 123456789012 \ --name finance-ap

출력:

{ "Name": "finance-ap", "Bucket": "business-records", "NetworkOrigin": "Internet", "PublicAccessBlockConfiguration": { "BlockPublicAcls": false, "IgnorePublicAcls": false, "BlockPublicPolicy": false, "RestrictPublicBuckets": false }, "CreationDate": "2020-01-01T00:00:00Z" }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetAccessPoint를 참조하세요.

다음 코드 예시에서는 get-multi-region-access-point-routes을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 다중 리전 액세스 포인트 라우팅 구성을 쿼리하려면

다음 get-multi-region-access-point-routes 예제에서는 지정된 다중 리전 액세스 포인트에 대한 현재 라우팅 구성을 반환합니다.

aws s3control get-multi-region-access-point-routes \ --region Region \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN

출력:

{ "Mrap": "arn:aws:s3::111122223333:accesspoint/0000000000000.mrap", "Routes": [ { "Bucket": "DOC-EXAMPLE-BUCKET-1", "Region": "ap-southeast-2", "TrafficDialPercentage": 100 }, { "Bucket": "DOC-EXAMPLE-BUCKET-2", "Region": "us-west-1", "TrafficDialPercentage": 0 } ] }

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

AWS CLI

계정에 대한 퍼블릭 액세스 차단 설정을 나열하려면

다음 get-public-access-block 예제에서는 지정된 계정에 대한 퍼블릭 액세스 차단 설정을 표시합니다.

aws s3control get-public-access-block \ --account-id 123456789012

출력:

{ "PublicAccessBlockConfiguration": { "BlockPublicPolicy": true, "RestrictPublicBuckets": true, "IgnorePublicAcls": true, "BlockPublicAcls": true } }

다음 코드 예시에서는 list-access-points을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 계정의 모든 액세스 포인트 목록을 검색하려면

다음 list-access-points 예제에서는 계정 123456789012에서 소유한 버킷에 연결된 모든 액세스 포인트의 목록을 표시합니다.

aws s3control list-access-points \ --account-id 123456789012

출력:

{ "AccessPointList": [ { "Name": "finance-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "managers-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "private-network-ap", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "1a2b3c" }, "Bucket": "business-records" }, { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

예제 2: 버킷의 모든 액세스 포인트 목록을 검색하려면

다음 list-access-points 예제에서는 계정 123456789012에서 external-docs 소유한 버킷에 연결된 모든 액세스 포인트 목록을 검색합니다.

aws s3control list-access-points \ --account-id 123456789012 \ --bucket external-docs

출력:

{ "AccessPointList": [ { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListAccessPoints를 참조하세요.

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

AWS CLI

계정 Amazon S3 배치 작업 작업을 나열하려면

다음 list-jobs 예제에서는 지정된 계정에 대한 모든 최근 배치 작업 작업을 나열합니다.

aws s3control list-jobs \ --account-id 123456789012

출력:

{ "Jobs": [ { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8, "TotalNumberOfTasks": 8 }, "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete", "JobId": "93735294-df46-44d5-8638-6356f335324e", "Priority": 42 }, { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 0, "TotalNumberOfTasks": 0 }, "CreationTime": "2019-10-03T21:46:07.084Z", "Status": "Failed", "JobId": "3f3c7619-02d3-4779-97f6-1d98dd313108", "Priority": 42 }, ] }
  • API 세부 정보는 AWS CLI 명령 참조ListJobs를 참조하세요.

다음 코드 예시에서는 put-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 설정하려면

다음 put-access-point-policy 예제에서는 액세스 포인트에 대해 지정된 액세스 포인트 정책을 계정 123456789012finance-ap에 배치합니다. 액세스 포인트에 finance-ap 이미 정책이 있는 경우이 명령은 기존 정책을이 명령에 지정된 정책으로 바꿉니다. 이 예제를 실행하기 전에 계정 번호, 액세스 포인트 이름 및 정책 설명을 사용 사례에 적합한 값으로 바꿉니다.

aws s3control put-access-point-policy \ --account-id 123456789012 \ --name finance-ap \ --policy file://ap-policy.json

ap-policy.json의 콘텐츠:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/Alice/*" } ] }

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

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

AWS CLI

계정에 대한 퍼블릭 액세스 차단 설정을 편집하려면

다음 put-public-access-block 예제에서는 모든 퍼블릭 액세스 차단 설정을 지정된 계정에 true 대해 로 전환합니다.

aws s3control put-public-access-block \ --account-id 123456789012 \ --public-access-block-configuration '{"BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true}'

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 submit-multi-region-access-point-routes을 사용하는 방법을 보여 줍니다.

AWS CLI

다중 리전 액세스 포인트 라우팅 구성을 업데이트하려면

다음 submit-multi-region-access-point-routes 예제에서는 다중 ap-southeast-2 리전 액세스 포인트의 리전DOC-EXAMPLE-BUCKET-2에서 DOC-EXAMPLE-BUCKET-1 및의 라우팅 상태를 업데이트합니다.

aws s3control submit-multi-region-access-point-routes \ --region ap-southeast-2 \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN \ --route-updates Bucket=DOC-EXAMPLE-BUCKET-1,TrafficDialPercentage=100 Bucket=DOC-EXAMPLE-BUCKET-2,TrafficDialPercentage=0

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 update-job-priority을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업 작업의 작업 우선 순위를 업데이트하려면

다음 update-job-priority 예제에서는 지정된 작업을 새 우선 순위로 업데이트합니다.

aws s3control update-job-priority \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --priority 52

출력:

{ "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386", "Priority": 52 }
  • API 세부 정보는 AWS CLI 명령 참조UpdateJobPriority를 참조하세요.

다음 코드 예시에서는 update-job-status을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업 작업의 상태를 업데이트하려면

다음 update-job-status 예제에서는 승인을 기다리는 지정된 작업을 취소합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --requested-job-status Cancelled

출력:

{ "Status": "Cancelled", "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386" }

다음 update-job-status 예제에서는 승인을 기다리는 지정된를 확인하고 실행합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Ready Output:: { "Status": "Ready", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }

다음 update-job-status 예제에서는 실행 중인 지정된 작업을 취소합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Cancelled Output:: { "Status": "Cancelling", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }
  • API 세부 정보는 AWS CLI 명령 참조UpdateJobStatus를 참조하세요.