MediaStore

Table of Contents

Client

class MediaStore.Client

A low-level client representing AWS Elemental MediaStore:

import boto3

client = boto3.client('mediastore')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Returns
True if the operation can be paginated, False otherwise.
create_container(**kwargs)

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

See also: AWS API Documentation

Request Syntax

response = client.create_container(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name.

Return type
dict
Returns
Response Syntax
{
    'Container': {
        'Endpoint': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'ARN': 'string',
        'Name': 'string',
        'Status': 'ACTIVE'|'CREATING'|'DELETING',
        'AccessLoggingEnabled': True|False
    }
}

Response Structure

  • (dict) --
    • Container (dict) --

      ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:<region>:<account that owns this container>:container/<name of container>. For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

      ContainerName: The container name as specified in the request.

      CreationTime: Unix time stamp.

      Status: The status of container creation or deletion. The status is one of the following: CREATING , ACTIVE , or DELETING . While the service is creating the container, the status is CREATING . When an endpoint is available, the status changes to ACTIVE .

      The return value does not include the container's endpoint. To make downstream requests, you must obtain this value by using DescribeContainer or ListContainers .

      • Endpoint (string) --

        The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

      • CreationTime (datetime) --

        Unix timestamp.

      • ARN (string) --

        The Amazon Resource Name (ARN) of the container. The ARN has the following format:

        arn:aws:<region>:<account that owns this container>:container/<name of container>

        For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

      • Name (string) --

        The name of the container.

      • Status (string) --

        The status of container creation or deletion. The status is one of the following: CREATING , ACTIVE , or DELETING . While the service is creating the container, the status is CREATING . When the endpoint is available, the status changes to ACTIVE .

      • AccessLoggingEnabled (boolean) --

        The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true , indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

delete_container(**kwargs)

Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers.

See also: AWS API Documentation

Request Syntax

response = client.delete_container(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container to delete.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --
delete_container_policy(**kwargs)

Deletes the access policy that is associated with the specified container.

See also: AWS API Documentation

Request Syntax

response = client.delete_container_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that holds the policy.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --
delete_cors_policy(**kwargs)

Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others.

See also: AWS API Documentation

Request Syntax

response = client.delete_cors_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container to remove the policy from.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --
delete_lifecycle_policy(**kwargs)

Removes an object lifecycle policy from a container. It takes up to 20 minutes for the change to take effect.

See also: AWS API Documentation

Request Syntax

response = client.delete_lifecycle_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that holds the object lifecycle policy.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --
describe_container(**kwargs)

Retrieves the properties of the requested container. This request is commonly used to retrieve the endpoint of a container. An endpoint is a value assigned by the service when a new container is created. A container's endpoint does not change after it has been assigned. The DescribeContainer request returns a single Container object based on ContainerName . To return all Container objects that are associated with a specified AWS account, use ListContainers .

See also: AWS API Documentation

Request Syntax

response = client.describe_container(
    ContainerName='string'
)
Parameters
ContainerName (string) -- The name of the container to query.
Return type
dict
Returns
Response Syntax
{
    'Container': {
        'Endpoint': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'ARN': 'string',
        'Name': 'string',
        'Status': 'ACTIVE'|'CREATING'|'DELETING',
        'AccessLoggingEnabled': True|False
    }
}

Response Structure

  • (dict) --
    • Container (dict) --

      The name of the queried container.

      • Endpoint (string) --

        The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

      • CreationTime (datetime) --

        Unix timestamp.

      • ARN (string) --

        The Amazon Resource Name (ARN) of the container. The ARN has the following format:

        arn:aws:<region>:<account that owns this container>:container/<name of container>

        For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

      • Name (string) --

        The name of the container.

      • Status (string) --

        The status of container creation or deletion. The status is one of the following: CREATING , ACTIVE , or DELETING . While the service is creating the container, the status is CREATING . When the endpoint is available, the status changes to ACTIVE .

      • AccessLoggingEnabled (boolean) --

        The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true , indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

generate_presigned_url(ClientMethod, Params=None, ExpiresIn=3600, HttpMethod=None)

Generate a presigned url given a client, its method, and arguments

Parameters
  • ClientMethod (string) -- The client method to presign for
  • Params (dict) -- The parameters normally passed to ClientMethod.
  • ExpiresIn (int) -- The number of seconds the presigned url is valid for. By default it expires in an hour (3600 seconds)
  • HttpMethod (string) -- The http method to use on the generated url. By default, the http method is whatever is used in the method's model.
Returns

The presigned url

get_container_policy(**kwargs)

Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide .

See also: AWS API Documentation

Request Syntax

response = client.get_container_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container.

Return type
dict
Returns
Response Syntax
{
    'Policy': 'string'
}

Response Structure

  • (dict) --
    • Policy (string) --

      The contents of the access policy.

get_cors_policy(**kwargs)

Returns the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others.

See also: AWS API Documentation

Request Syntax

response = client.get_cors_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that the policy is assigned to.

Return type
dict
Returns
Response Syntax
{
    'CorsPolicy': [
        {
            'AllowedOrigins': [
                'string',
            ],
            'AllowedMethods': [
                'PUT'|'GET'|'DELETE'|'HEAD',
            ],
            'AllowedHeaders': [
                'string',
            ],
            'MaxAgeSeconds': 123,
            'ExposeHeaders': [
                'string',
            ]
        },
    ]
}

Response Structure

  • (dict) --
    • CorsPolicy (list) --

      The CORS policy assigned to the container.

      • (dict) --

        A rule for a CORS policy. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

        • AllowedOrigins (list) --

          One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

          Each CORS rule must have at least one AllowedOrigins element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

          • (string) --
        • AllowedMethods (list) --

          Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

          Each CORS rule must contain at least one AllowedMethods and one AllowedOrigins element.

          • (string) --
        • AllowedHeaders (list) --

          Specifies which headers are allowed in a preflight OPTIONS request through the Access-Control-Request-Headers header. Each header name that is specified in Access-Control-Request-Headers must have a corresponding entry in the rule. Only the headers that were requested are sent back.

          This element can contain only one wildcard character (*).

          • (string) --
        • MaxAgeSeconds (integer) --

          The time in seconds that your browser caches the preflight response for the specified resource.

          A CORS rule can have only one MaxAgeSeconds element.

        • ExposeHeaders (list) --

          One or more headers in the response that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

          This element is optional for each rule.

          • (string) --
get_lifecycle_policy(**kwargs)

Retrieves the object lifecycle policy that is assigned to a container.

See also: AWS API Documentation

Request Syntax

response = client.get_lifecycle_policy(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that the object lifecycle policy is assigned to.

Return type
dict
Returns
Response Syntax
{
    'LifecyclePolicy': 'string'
}

Response Structure

  • (dict) --
    • LifecyclePolicy (string) --

      The object lifecycle policy that is assigned to the container.

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
list_containers(**kwargs)

Lists the properties of all containers in AWS Elemental MediaStore.

You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive.

See also DescribeContainer , which gets the properties of one container.

See also: AWS API Documentation

Request Syntax

response = client.list_containers(
    NextToken='string',
    MaxResults=123
)
Parameters
  • NextToken (string) -- Only if you used MaxResults in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list.
  • MaxResults (integer) -- Enter the maximum number of containers in the response. Use from 1 to 255 characters.
Return type

dict

Returns

Response Syntax

{
    'Containers': [
        {
            'Endpoint': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'ARN': 'string',
            'Name': 'string',
            'Status': 'ACTIVE'|'CREATING'|'DELETING',
            'AccessLoggingEnabled': True|False
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Containers (list) --

      The names of the containers.

      • (dict) --

        This section describes operations that you can perform on an AWS Elemental MediaStore container.

        • Endpoint (string) --

          The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

        • CreationTime (datetime) --

          Unix timestamp.

        • ARN (string) --

          The Amazon Resource Name (ARN) of the container. The ARN has the following format:

          arn:aws:<region>:<account that owns this container>:container/<name of container>

          For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

        • Name (string) --

          The name of the container.

        • Status (string) --

          The status of container creation or deletion. The status is one of the following: CREATING , ACTIVE , or DELETING . While the service is creating the container, the status is CREATING . When the endpoint is available, the status changes to ACTIVE .

        • AccessLoggingEnabled (boolean) --

          The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true , indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

    • NextToken (string) --

      NextToken is the token to use in the next call to ListContainers . This token is returned only if you included the MaxResults tag in the original command, and only if there are still containers to return.

put_container_policy(**kwargs)

Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide .

For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy.

See also: AWS API Documentation

Request Syntax

response = client.put_container_policy(
    ContainerName='string',
    Policy='string'
)
Parameters
  • ContainerName (string) --

    [REQUIRED]

    The name of the container.

  • Policy (string) --

    [REQUIRED]

    The contents of the policy, which includes the following:

    • One Version tag
    • One Statement tag that contains the standard tags for the policy.
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

put_cors_policy(**kwargs)

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability.

To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS Elemental MediaStore .

See also: AWS API Documentation

Request Syntax

response = client.put_cors_policy(
    ContainerName='string',
    CorsPolicy=[
        {
            'AllowedOrigins': [
                'string',
            ],
            'AllowedMethods': [
                'PUT'|'GET'|'DELETE'|'HEAD',
            ],
            'AllowedHeaders': [
                'string',
            ],
            'MaxAgeSeconds': 123,
            'ExposeHeaders': [
                'string',
            ]
        },
    ]
)
Parameters
  • ContainerName (string) --

    [REQUIRED]

    The name of the container that you want to assign the CORS policy to.

  • CorsPolicy (list) --

    [REQUIRED]

    The CORS policy to apply to the container.

    • (dict) --

      A rule for a CORS policy. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

      • AllowedOrigins (list) -- [REQUIRED]

        One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

        Each CORS rule must have at least one AllowedOrigins element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

        • (string) --
      • AllowedMethods (list) --

        Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

        Each CORS rule must contain at least one AllowedMethods and one AllowedOrigins element.

        • (string) --
      • AllowedHeaders (list) -- [REQUIRED]

        Specifies which headers are allowed in a preflight OPTIONS request through the Access-Control-Request-Headers header. Each header name that is specified in Access-Control-Request-Headers must have a corresponding entry in the rule. Only the headers that were requested are sent back.

        This element can contain only one wildcard character (*).

        • (string) --
      • MaxAgeSeconds (integer) --

        The time in seconds that your browser caches the preflight response for the specified resource.

        A CORS rule can have only one MaxAgeSeconds element.

      • ExposeHeaders (list) --

        One or more headers in the response that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

        This element is optional for each rule.

        • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

put_lifecycle_policy(**kwargs)

Writes an object lifecycle policy to a container. If the container already has an object lifecycle policy, the service replaces the existing policy with the new policy. It takes up to 20 minutes for the change to take effect.

For information about how to construct an object lifecycle policy, see Components of an Object Lifecycle Policy .

See also: AWS API Documentation

Request Syntax

response = client.put_lifecycle_policy(
    ContainerName='string',
    LifecyclePolicy='string'
)
Parameters
  • ContainerName (string) --

    [REQUIRED]

    The name of the container that you want to assign the object lifecycle policy to.

  • LifecyclePolicy (string) --

    [REQUIRED]

    The object lifecycle policy to apply to the container.

Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

start_access_logging(**kwargs)

Starts access logging on the specified container. When you enable access logging on a container, MediaStore delivers access logs for objects stored in that container to Amazon CloudWatch Logs.

See also: AWS API Documentation

Request Syntax

response = client.start_access_logging(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that you want to start access logging on.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --
stop_access_logging(**kwargs)

Stops access logging on the specified container. When you stop access logging on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. These access logs are not saved and are not retrievable.

See also: AWS API Documentation

Request Syntax

response = client.stop_access_logging(
    ContainerName='string'
)
Parameters
ContainerName (string) --

[REQUIRED]

The name of the container that you want to stop access logging on.

Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Paginators

The available paginators are:

class MediaStore.Paginator.ListContainers
paginator = client.get_paginator('list_containers')
paginate(**kwargs)

Creates an iterator that will paginate through responses from MediaStore.Client.list_containers().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
PaginationConfig (dict) --

A dictionary that provides parameters to control pagination.

  • MaxItems (integer) --

    The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

  • PageSize (integer) --

    The size of each page.

  • StartingToken (string) --

    A token to specify where to start paginating. This is the NextToken from a previous response.

Return type
dict
Returns
Response Syntax
{
    'Containers': [
        {
            'Endpoint': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'ARN': 'string',
            'Name': 'string',
            'Status': 'ACTIVE'|'CREATING'|'DELETING',
            'AccessLoggingEnabled': True|False
        },
    ],

}

Response Structure

  • (dict) --
    • Containers (list) --

      The names of the containers.

      • (dict) --

        This section describes operations that you can perform on an AWS Elemental MediaStore container.

        • Endpoint (string) --

          The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

        • CreationTime (datetime) --

          Unix timestamp.

        • ARN (string) --

          The Amazon Resource Name (ARN) of the container. The ARN has the following format:

          arn:aws:<region>:<account that owns this container>:container/<name of container>

          For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

        • Name (string) --

          The name of the container.

        • Status (string) --

          The status of container creation or deletion. The status is one of the following: CREATING , ACTIVE , or DELETING . While the service is creating the container, the status is CREATING . When the endpoint is available, the status changes to ACTIVE .

        • AccessLoggingEnabled (boolean) --

          The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true , indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.