Saves bytes to an Amazon S3 object.
save_s3 uri:str, [anonymous=bool, aws_iam=record]Description
Section titled “Description”The save_s3 operator writes bytes to an S3 object in an S3 bucket.
The connector tries to retrieve the appropriate credentials using AWS’s default credentials provider chain.
If a config file <prefix>/etc/tenzir/plugin/s3.yaml or
~/.config/tenzir/plugin/s3.yaml exists, it is always preferred over the
default AWS credentials. The configuration file must have the following format:
access-key: your-access-keysecret-key: your-secret-keysession-token: your-session-token (optional)uri: str
Section titled “uri: str”The path to the S3 object.
The syntax is
s3://[<access-key>:<secret-key>@]<bucket-name>/<full-path-to-object>(?<options>).
Options can be appended to the path as query parameters, as per Arrow:
For S3, the options that can be included in the URI as query parameters are
region,scheme,endpoint_override,allow_bucket_creation, andallow_bucket_deletion.
anonymous = bool (optional)
Section titled “anonymous = bool (optional)”Whether to ignore any predefined credentials and try to save with anonymous credentials.
aws_iam = record (optional)
Section titled “aws_iam = record (optional)”Configures explicit AWS credentials or IAM role assumption. If not specified, the operator uses the default AWS credential chain.
{ region: string, // AWS region for API requests. access_key_id: string, // AWS access key ID. secret_access_key: string, // AWS secret access key. session_token: string, // session token for temporary credentials. assume_role: string, // ARN of IAM role to assume. session_name: string, // session name for role assumption. external_id: string, // external ID for role assumption.}The access_key_id and secret_access_key must be specified together. If
neither is specified, the operator uses the default AWS credential chain:
- Environment variables (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) - Shared credentials file (
~/.aws/credentials) - IAM role for Amazon EC2 or ECS task role
- Instance metadata service
Examples
Section titled “Examples”Read CSV from an object obj.csv in the bucket examplebucket and save it as
YAML to another bucket examplebucket2:
load_s3 "s3://examplebucket/obj.csv"read_csvwrite_yamlsave_s3 "s3://examplebucket2/obj.yaml"