Glacier / Client / set_data_retrieval_policy

set_data_retrieval_policy#

Glacier.Client.set_data_retrieval_policy(**kwargs)#

This operation sets and then enacts a data retrieval policy in the region specified in the PUT request. You can set one policy per region for an AWS account. The policy is enacted within a few minutes of a successful PUT operation.

The set policy operation does not affect retrieval jobs that were in progress before the policy was enacted. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

See also: AWS API Documentation

Request Syntax

response = client.set_data_retrieval_policy(
    Policy={
        'Rules': [
            {
                'Strategy': 'string',
                'BytesPerHour': 123
            },
        ]
    }
)
Parameters:
  • accountId (string) –

    The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single ‘ -’ (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (‘-’) in the ID.

    Note: this parameter is set to “-” bydefault if no value is not specified.

  • Policy (dict) –

    The data retrieval policy in JSON format.

    • Rules (list) –

      The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.

      • (dict) –

        Data retrieval policy rule.

        • Strategy (string) –

          The type of data retrieval policy to set.

          Valid values: BytesPerHour|FreeTier|None

        • BytesPerHour (integer) –

          The maximum number of bytes that can be retrieved in an hour.

          This field is required only if the value of the Strategy field is BytesPerHour. Your PUT operation will be rejected if the Strategy field is not set to BytesPerHour and you set this field.

Returns:

None

Exceptions

  • Glacier.Client.exceptions.InvalidParameterValueException

  • Glacier.Client.exceptions.MissingParameterValueException

  • Glacier.Client.exceptions.ServiceUnavailableException

Examples

The example sets and then enacts a data retrieval policy.

response = client.set_data_retrieval_policy(
    Policy={
        'Rules': [
            {
                'BytesPerHour': 10737418240,
                'Strategy': 'BytesPerHour',
            },
        ],
    },
    accountId='-',
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}