S3 / Client / get_bucket_website

get_bucket_website#

S3.Client.get_bucket_website(**kwargs)#

Note

This operation is not supported for directory buckets.

Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

This GET action requires the S3:GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the S3:GetBucketWebsite permission.

The following operations are related to GetBucketWebsite:

See also: AWS API Documentation

Request Syntax

response = client.get_bucket_website(
    Bucket='string',
    ExpectedBucketOwner='string'
)
Parameters:
  • Bucket (string) –

    [REQUIRED]

    The bucket name for which to get the website configuration.

  • ExpectedBucketOwner (string) – The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

Return type:

dict

Returns:

Response Syntax

{
    'RedirectAllRequestsTo': {
        'HostName': 'string',
        'Protocol': 'http'|'https'
    },
    'IndexDocument': {
        'Suffix': 'string'
    },
    'ErrorDocument': {
        'Key': 'string'
    },
    'RoutingRules': [
        {
            'Condition': {
                'HttpErrorCodeReturnedEquals': 'string',
                'KeyPrefixEquals': 'string'
            },
            'Redirect': {
                'HostName': 'string',
                'HttpRedirectCode': 'string',
                'Protocol': 'http'|'https',
                'ReplaceKeyPrefixWith': 'string',
                'ReplaceKeyWith': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) –

    • RedirectAllRequestsTo (dict) –

      Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

      • HostName (string) –

        Name of the host where requests are redirected.

      • Protocol (string) –

        Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

    • IndexDocument (dict) –

      The name of the index document for the website (for example index.html).

      • Suffix (string) –

        A suffix that is appended to a request that is for a directory on the website endpoint. (For example, if the suffix is index.html and you make a request to samplebucket/images/, the data that is returned will be for the object with the key name images/index.html.) The suffix must not be empty and must not include a slash character.

        Warning

        Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

    • ErrorDocument (dict) –

      The object key name of the website error document to use for 4XX class errors.

      • Key (string) –

        The object key name to use when a 4XX class error occurs.

        Warning

        Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

    • RoutingRules (list) –

      Rules that define when a redirect is applied and the redirect behavior.

      • (dict) –

        Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see Configuring advanced conditional redirects in the Amazon S3 User Guide.

        • Condition (dict) –

          A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

          • HttpErrorCodeReturnedEquals (string) –

            The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

          • KeyPrefixEquals (string) –

            The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

            Warning

            Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

        • Redirect (dict) –

          Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.

          • HostName (string) –

            The host name to use in the redirect request.

          • HttpRedirectCode (string) –

            The HTTP redirect code to use on the response. Not required if one of the siblings is present.

          • Protocol (string) –

            Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

          • ReplaceKeyPrefixWith (string) –

            The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

            Warning

            Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

          • ReplaceKeyWith (string) –

            The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

            Warning

            Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.

Examples

The following example retrieves website configuration of a bucket.

response = client.get_bucket_website(
    Bucket='examplebucket',
)

print(response)

Expected Output:

{
    'ErrorDocument': {
        'Key': 'error.html',
    },
    'IndexDocument': {
        'Suffix': 'index.html',
    },
    'ResponseMetadata': {
        '...': '...',
    },
}