AWS CLI를 사용한 MediaStore 예시 - AWS Command Line Interface

AWS CLI를 사용한 MediaStore 예시

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

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

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

주제

작업

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

AWS CLI

컨테이너 생성

다음 create-container 예시에서는 빈 새 컨테이너를 생성합니다.

aws mediastore create-container --container-name ExampleContainer

출력:

{ "Container": { "AccessLoggingEnabled": false, "CreationTime": 1563557265, "Name": "ExampleContainer", "Status": "CREATING", "ARN": "arn:aws:mediastore:us-west-2:111122223333:container/ExampleContainer" } }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 생성을 참조하세요.

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

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

AWS CLI

컨테이너 정책 삭제

다음 delete-container-policy 예시에서는 지정된 컨테이너에 할당된 정책을 삭제합니다. 정책이 삭제되면 AWS Elemental MediaStore가 컨테이너에 기본 정책을 자동으로 할당합니다.

aws mediastore delete-container-policy \ --container-name LiveEvents

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

자세한 내용은 AWS Elemental MediaStore API 참조DeleteContainerPolicy를 참조하세요.

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

AWS CLI

컨테이너 삭제

다음 delete-container 예시에서는 지정된 컨테이너를 삭제합니다. 객체가 없는 컨테이너만 삭제할 수 있습니다.

aws mediastore delete-container \ --container-name=ExampleLiveDemo

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 삭제를 참조하세요.

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

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

AWS CLI

CORS 정책 삭제

다음 delete-cors-policy 예시에서는 지정된 컨테이너에 할당된 크로스 오리진 리소스 공유(CORS) 정책을 삭제합니다.

aws mediastore delete-cors-policy \ --container-name ExampleContainer

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서CORS 정책 삭제를 참조하세요.

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

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

AWS CLI

객체 수명 주기 정책 삭제

다음 delete-lifecycle-policy 예시에서는 지정된 컨테이너에 연결된 객체 수명 주기 정책을 삭제합니다. 변경이 적용되려면 최대 20분이 걸립니다.

aws mediastore delete-lifecycle-policy \ --container-name LiveEvents

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 수명 주기 정책 삭제를 참조하세요.

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

AWS CLI

컨테이너 세부 정보 보기

다음 describe-container 예시에서는 지정된 컨테이너의 세부 정보를 표시합니다.

aws mediastore describe-container \ --container-name ExampleContainer

출력:

{ "Container": { "CreationTime": 1563558086, "AccessLoggingEnabled": false, "ARN": "arn:aws:mediastore:us-west-2:111122223333:container/ExampleContainer", "Status": "ACTIVE", "Name": "ExampleContainer", "Endpoint": "https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com" } }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 세부 정보 보기를 참조하세요.

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

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

AWS CLI

특정 컨테이너에 있는 객체 및 폴더의 목록 보기

다음 describe-object 예시에서는 특정 컨테이너에 저장된 항목(객체 및 폴더)을 표시합니다.

aws mediastore-data describe-object \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com \ --path /folder_name/file1234.jpg

출력:

{ "ContentType": "image/jpeg", "LastModified": "Fri, 19 Jul 2019 21:32:20 GMT", "ContentLength": "2307346", "ETag": "2aa333bbcc8d8d22d777e999c88d4aa9eeeeee4dd89ff7f555555555555da6d3" }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 세부 정보 보기를 참조하세요.

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

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

AWS CLI

컨테이너 정책 보기

다음 get-container-policy 예시에서는 지정된 컨테이너의 리소스 기반 정책을 표시합니다.

aws mediastore get-container-policy \ --container-name ExampleLiveDemo

출력:

{ "Policy": { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadOverHttps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "mediastore:GetObject", "mediastore:DescribeObject" ], "Resource": "arn:aws:mediastore:us-west-2:111122223333:container/ExampleLiveDemo/", "Condition": { "Bool": { "aws:SecureTransport": "true" } } } ] } }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 정책 보기를 참조하세요.

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

AWS CLI

CORS 정책 보기

다음 get-cors-policy 예시에서는 지정된 컨테이너에 할당된 크로스 오리진 리소스 공유(CORS) 정책을 표시합니다.

aws mediastore get-cors-policy \ --container-name ExampleContainer \ --region us-west-2

출력:

{ "CorsPolicy": [ { "AllowedMethods": [ "GET", "HEAD" ], "MaxAgeSeconds": 3000, "AllowedOrigins": [ "" ], "AllowedHeaders": [ "" ] } ] }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서CORS 정책 보기를 참조하세요.

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

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

AWS CLI

객체 수명 주기 정책 보기

다음 get-lifecycle-policy 예시에서는 지정된 컨테이너에 연결된 객체 수명 주기 정책을 표시합니다.

aws mediastore get-lifecycle-policy \ --container-name LiveEvents

출력:

{ "LifecyclePolicy": { "rules": [ { "definition": { "path": [ { "prefix": "Football/" }, { "prefix": "Baseball/" } ], "days_since_create": [ { "numeric": [ ">", 28 ] } ] }, "action": "EXPIRE" } ] } }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 수명 주기 정책 보기를 참조하세요.

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

AWS CLI

객체 다운로드

다음 get-object 예시에서는 지정된 엔드포인트에 객체를 다운로드합니다.

aws mediastore-data get-object \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com \ --path=/folder_name/README.md README.md

출력:

{ "ContentLength": "2307346", "ContentType": "image/jpeg", "LastModified": "Fri, 19 Jul 2019 21:32:20 GMT", "ETag": "2aa333bbcc8d8d22d777e999c88d4aa9eeeeee4dd89ff7f555555555555da6d3", "StatusCode": 200 }

객체의 일부 다운로드

다음 get-object 예시에서는 지정된 엔드포인트에 객체의 일부를 다운로드합니다.

aws mediastore-data get-object \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com \ --path /folder_name/README.md \ --range="bytes=0-100" README2.md

출력:

{ "StatusCode": 206, "ContentRange": "bytes 0-100/2307346", "ContentLength": "101", "LastModified": "Fri, 19 Jul 2019 21:32:20 GMT", "ContentType": "image/jpeg", "ETag": "2aa333bbcc8d8d22d777e999c88d4aa9eeeeee4dd89ff7f555555555555da6d3" }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 다운로드를 참조하세요.

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

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

AWS CLI

컨테이너 목록 보기

다음 list-containers 예시에서는 계정에 연결된 모든 컨테이너의 목록을 표시합니다.

aws mediastore list-containers

출력:

{ "Containers": [ { "CreationTime": 1505317931, "Endpoint": "https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com", "Status": "ACTIVE", "ARN": "arn:aws:mediastore:us-west-2:111122223333:container/ExampleLiveDemo", "AccessLoggingEnabled": false, "Name": "ExampleLiveDemo" }, { "CreationTime": 1506528818, "Endpoint": "https://fffggghhhiiijj.data.mediastore.us-west-2.amazonaws.com", "Status": "ACTIVE", "ARN": "arn:aws:mediastore:us-west-2:111122223333:container/ExampleContainer", "AccessLoggingEnabled": false, "Name": "ExampleContainer" } ] }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 목록 보기를 참조하세요.

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

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

AWS CLI

예시 1: 특정 컨테이너에 있는 객체 및 폴더의 목록 보기

다음 list-items 예시에서는 지정된 컨테이너에 저장된 항목(객체 및 폴더)을 표시합니다.

aws mediastore-data list-items \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com

출력:

{ "Items": [ { "ContentType": "image/jpeg", "LastModified": 1563571859.379, "Name": "filename.jpg", "Type": "OBJECT", "ETag": "543ab21abcd1a234ab123456a1a2b12345ab12abc12a1234abc1a2bc12345a12", "ContentLength": 3784 }, { "Type": "FOLDER", "Name": "ExampleLiveDemo" } ] }

예시 2: 특정 폴더에 있는 객체 및 폴더의 목록 보기

다음 list-items 예시에서는 특정 폴더에 저장된 항목(객체 및 폴더)을 표시합니다.

aws mediastore-data list-items \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com

출력:

{ "Items": [ { "ContentType": "image/jpeg", "LastModified": 1563571859.379, "Name": "filename.jpg", "Type": "OBJECT", "ETag": "543ab21abcd1a234ab123456a1a2b12345ab12abc12a1234abc1a2bc12345a12", "ContentLength": 3784 }, { "Type": "FOLDER", "Name": "ExampleLiveDemo" } ] }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 목록 보기를 참조하세요.

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

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

AWS CLI

컨테이너의 태그 나열

다음 list-tags-for-resource 예시에서는 지정된 컨테이너에 할당된 태그 키와 값을 표시합니다.

aws mediastore list-tags-for-resource \ --resource arn:aws:mediastore:us-west-2:1213456789012:container/ExampleContainer

출력:

{ "Tags": [ { "Value": "Test", "Key": "Environment" }, { "Value": "West", "Key": "Region" } ] }

자세한 내용은 AWS Elemental MediaStore API 참조ListTagsForResource를 참조하세요.

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

AWS CLI

컨테이너 정책 편집

다음 put-container-policy 예시에서는 지정된 컨테이너에 다른 정책을 할당합니다. 이 예시에서는 업데이트된 정책이 LiveEventsContainerPolicy.json이라는 파일에 정의되어 있습니다.

aws mediastore put-container-policy \ --container-name LiveEvents \ --policy file://LiveEventsContainerPolicy.json

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너 정책 편집을 참조하세요.

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

AWS CLI

예시 1: CORS 정책 추가

다음 put-cors-policy 예시에서는 지정된 컨테이너에 크로스 오리진 리소스 공유(CORS) 정책을 추가합니다. CORS 정책의 내용은 corsPolicy.json이라는 파일에 있습니다.

aws mediastore put-cors-policy \ --container-name ExampleContainer \ --cors-policy file://corsPolicy.json

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너에 CORS 정책 추가를 참조하세요.

예시 2: CORS 정책 편집

다음 put-cors-policy 예시에서는 지정된 컨테이너에 할당된 크로스 오리진 리소스 공유(CORS) 정책을 업데이트합니다. 업데이트된 CORS 정책의 내용은 corsPolicy2.json이라는 파일에 있습니다.

자세한 내용은 AWS Elemental MediaStore 사용자 안내서CORS 정책 편집을 참조하세요.

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

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

AWS CLI

객체 수명 주기 정책 생성

다음 put-lifecycle-policy 예시에서는 객체 수명 주기 정책을 지정된 컨테이너에 연결합니다. 이렇게 하면 서비스가 컨테이너에 객체를 저장할 기간을 지정할 수 있습니다. MediaStore는 LiveEventsLifecyclePolicy.json이라는 이름의 파일에 있는 정책에 표시된 대로 컨테이너의 객체가 만료 날짜에 도달하면 해당 객체를 삭제합니다.

aws mediastore put-lifecycle-policy \ --container-name ExampleContainer \ --lifecycle-policy file://ExampleLifecyclePolicy.json

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너에 객체 수명 주기 정책 추가를 참조하세요.

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

AWS CLI

객체 업로드

다음 put-object 예시에서는 지정된 컨테이너에 객체를 업로드합니다. 객체가 컨테이너 내에 저장될 폴더 경로를 지정할 수 있습니다. 폴더가 이미 있을 경우 AWS Elemental MediaStore는 폴더에 객체를 저장합니다. 폴더가 없으면 폴더를 만든 후 그 폴더에 객체를 저장합니다.

aws mediastore-data put-object \ --endpoint https://aaabbbcccdddee.data.mediastore.us-west-2.amazonaws.com \ --body README.md \ --path /folder_name/README.md \ --cache-control "max-age=6, public" \ --content-type binary/octet-stream

출력:

{ "ContentSHA256": "74b5fdb517f423ed750ef214c44adfe2be36e37d861eafe9c842cbe1bf387a9d", "StorageClass": "TEMPORAL", "ETag": "af3e4731af032167a106015d1f2fe934e68b32ed1aa297a9e325f5c64979277b" }

자세한 내용은 AWS Elemental MediaStore 사용자 안내서객체 업로드를 참조하세요.

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

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

AWS CLI

컨테이너에 대한 액세스 로깅 활성화

다음 start-access-logging 예제에서는 지정된 컨테이너에 대한 액세스 로깅을 활성화합니다.

aws mediastore start-access-logging \ --container-name LiveEvents

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너에 대한 액세스 로깅 활성화를 참조하세요.

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

AWS CLI

컨테이너에 대한 액세스 로깅 비활성화

다음 stop-access-logging 예시에서는 지정된 컨테이너에 대한 액세스 로깅을 비활성화합니다.

aws mediastore stop-access-logging \ --container-name LiveEvents

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

자세한 내용은 AWS Elemental MediaStore 사용자 안내서컨테이너에 대한 액세스 로깅 비활성화를 참조하세요.

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

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

AWS CLI

컨테이너에 태그 추가

다음 tag-resource 예시에서는 태그 키와 값을 지정된 컨테이너에 추가합니다.

aws mediastore tag-resource \ --resource arn:aws:mediastore:us-west-2:123456789012:container/ExampleContainer \ --tags '[{"Key": "Region", "Value": "West"}, {"Key": "Environment", "Value": "Test"}]'

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

자세한 내용은 AWS Elemental MediaStore API 참조TagResource를 참조하세요.

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

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

AWS CLI

컨테이너에서 태그 제거

다음 untag-resource 예시에서는 지정된 태그 키와 관련 값을 컨테이너에서 제거합니다.

aws mediastore untag-resource \ --resource arn:aws:mediastore:us-west-2:123456789012:container/ExampleContainer \ --tag-keys Region

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

자세한 내용은 AWS Elemental MediaStore API 참조UntagResource를 참조하세요.

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