使用 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。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 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 用户指南》中的删除对象生命周期策略。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLifecyclePolicy
。
-
以下代码示例演示了如何使用 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
\ --regionus-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。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示了如何使用 put-container-policy
。
- AWS CLI
-
编辑容器策略
以下
put-container-policy
示例将不同的策略分配给指定容器。在此示例中,名为LiveEventsContainerPolicy.json
的文件中定义了更新的策略。aws mediastore put-container-policy \ --container-name
LiveEvents
\ --policyfile://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-policyfile://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-policyfile://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
\ --bodyREADME.md
\ --path/folder_name/README.md
\ --cache-control"max-age=6, public"
\ --content-typebinary/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-keysRegion
此命令不生成任何输出。
有关更多信息,请参阅《AWS Elemental MediaStore API 参考》中的 UntagResource。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagResource
。
-