Data Source: aws_s3_object#
The S3 object data source allows access to the metadata and optionally (see below) content of an object stored inside S3 bucket.
~> Note The content of an object (body
field) is available only for objects which have a human-readable Content-Type
(text/*
and application/json
). This is to prevent printing unsafe characters and potentially downloading large amount of data which would be thrown away in favour of metadata.
Example Usage#
data "aws_s3_object" "example" {
bucket = "tf-example"
key = "test.txt"
}
Argument Reference#
The following arguments are supported:
bucket
- (Required) The name of the bucket to read the object from.key
- (Required) The full path to the object inside the bucketversion_id
- (Optional) Specific version ID of the object returned (defaults to latest version).
Attributes Reference#
Supported attributes#
In addition to all arguments above, the following attributes are exported:
body
- Object data (see limitations above to understand cases in which this field is actually available)cache_control
- Specifies caching behavior along the request/reply chain.content_disposition
- Specifies presentational information for the object.content_encoding
- Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.content_language
- The language the content is in.content_length
- Size of the body in bytes.content_type
- A standard MIME type describing the format of the object data.etag
- ETag generated for the object (an MD5 sum of the object content in case it's not encrypted)expiration
- If the object expiration is configured (see how to configure lifecycle), the field includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.id
- The full path to the object inside the bucket.last_modified
- Last modified date of the object in RFC1123 format (e.g.,Mon, 02 Jan 2006 15:04:05 MST
)metadata
- A map of metadata stored with the object in S3.version_id
- The latest version ID of the object returned.website_redirect_location
- If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. S3 stores the value of this header in the object metadata.tags
- A map of tags assigned to the object.
-> Note: Terraform ignores all leading /
s in the object's key
and treats multiple /
s in the rest of the object's key
as a single /
, so values of /index.html
and index.html
correspond to the same S3 object as do first//second///third//
and first/second/third/
.
Unsupported attributes#
~> Note These attributes may be present in the terraform.tfstate
file but they have preset values and cannot be specified in configuration files.
The following attributes are not currently supported:
bucket_key_enabled
, expires
, force_destroy
, kms_key_id
, object_lock_legal_hold_status
, object_lock_mode
, object_lock_retain_until_date
, server_side_encryption
, sse_kms_key_id
, storage_class
.