Stores sitemaps in AWS S3 or any S3-compatible service (MinIO, DigitalOcean Spaces, Wasabi, Ceph, Google Cloud Storage interoperability).
Requires the optional dependencies ex_aws, ex_aws_s3 and an HTTP client
supported by ExAws, such as req:
{:ex_aws, "~> 2.5"},
{:ex_aws_s3, "~> 2.5"},
{:req, "~> 0.5"}
# config/config.exs
config :ex_aws, http_client: ExAws.Request.ReqExample:
adapter: {SiteMaps.Adapters.S3, bucket: "sitemaps", prefix: "acme", region: "us-east-1"}
adapter:
{SiteMaps.Adapters.S3,
bucket: "sitemaps",
endpoint: "http://minio:9000",
access_key_id: "minio",
secret_access_key: "minio123"}Files up to multipart_threshold are sent with a single PutObject. Larger
files are streamed from disk in part_size parts, so memory stays bounded.
The last_modified given by the writer is kept in the
x-amz-meta-given-last-modified metadata header and returned by read/2.
For Cloudflare R2 use SiteMaps.Adapters.R2.
Options
:bucket(String.t/0) - Required. Bucket name.:prefix(String.t/0) - Key prefix inside the bucket. The default value is"".:region(String.t/0) - Bucket region. Defaults to the ExAws configuration.:endpoint(String.t/0) - Base URL of an S3-compatible service, such as"http://localhost:9000". Sets scheme, host and port of the ExAws configuration.:access_key_id(String.t/0) - Defaults to the ExAws configuration.:secret_access_key(String.t/0) - Defaults to the ExAws configuration.:security_token(String.t/0) - Session token for temporary credentials.:acl- Canned ACL such as:public_read. Whennilnox-amz-aclheader is sent, which is required by buckets with ACLs disabled.:cache_control(String.t/0) - Overrides thecache_controlgiven by the sitemap configuration.:storage_class- Storage class, such as:standard_ia.:virtual_host(boolean/0) - Use virtual-hosted style (bucket.host) instead of path style. Defaults to the ExAws configuration.:multipart_threshold(pos_integer/0) - Files larger than this many bytes are uploaded in multiple parts. The default value is8388608.:part_size- Size in bytes of each multipart part, at least 5 MiB (5242880). The default value is5242880.:ex_aws(keyword/0) - Overrides merged last into the ExAws configuration, such ashttp_client. The default value is[].