使用 AWS CLI 的 MediaStore 示例 - AWS Command Line Interface

使用 AWS CLI 的 MediaStore 示例

以下代码示例演示了如何通过将 AWS Command Line Interface与 MediaStore 结合使用,来执行操作和实现常见场景。

操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 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 用户指南》中的查看容器策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetContainerPolicy

以下代码示例演示了如何使用 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 用户指南》中的查看对象生命周期策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetLifecyclePolicy

以下代码示例演示了如何使用 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 用户指南》中的编辑容器策略

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutContainerPolicy

以下代码示例演示了如何使用 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 示例将对象生命周期策略附加到指定容器。这使您可以指定该服务应在容器中存储对象多长时间。名为 LiveEventsLifecyclePolicy.json 的文件中的策略指示了对象的到期日,一旦对象到期,MediaStore 就会删除容器中的对象。

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

此命令不生成任何输出。

有关更多信息,请参阅《AWS Elemental MediaStore 用户指南》中的将对象生命周期策略添加到容器中

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutLifecyclePolicy

以下代码示例演示了如何使用 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 用户指南》中的对容器启用访问日志记录

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 StartAccessLogging

以下代码示例演示了如何使用 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