put object

This block is part of the object storage group and was last modified in core v15.0.1.

put object v15.0.1

Uploads a file to object storage. The file is streamed from disk, so an object of any size costs the same memory.

In pins 8 + flow
  • flow
    flow
  • connection required
    s3connection

    The object storage connection to use, from an open connection block.

  • bucket
    value

    Bucket name. Leave empty to use the bucket set on the connection.

  • key
    value

    The object key, for example mu/ab/photo.jpg. Leave empty to use the file's own name. . and .. path segments are refused.

  • file required
    file

    The file to upload. Only the first file is used.

  • content type
    value

    Optional. Overrides the type guessed from the key's extension.

  • cache control
    value

    Optional Cache-Control stored with the object. For content-addressed media use public, max-age=31536000, immutable.

  • ACL
    value

    Optional canned ACL. Leave empty (the default) to let the bucket policy decide, which is what Ceph RGW buckets normally want.

  • metadata
    object

    Optional user metadata, stored as x-amz-meta-* headers. Keys must be letters, digits, -, _ or .; anything else is dropped.

Out pins 8 + flow
  • flow
    flow
  • connection
    s3connection

    The same connection, so it can be passed to the next block.

  • success
    condition
  • error
    value
  • key
    value

    The key the object was stored under.

  • etag
    value

    The object's ETag, without the quotes S3 wraps it in. For a single-part upload this is the MD5 of the content.

  • size
    number

    Bytes uploaded.

  • content type
    value

    The Content-Type the object was stored with.

  • url
    value

    The object's unsigned URL. It only resolves for a publicly readable object : use presign get url for a private one.

Uploads ONE file from a `file` pin to `bucket`/`key`. Streams the file from disk with a known Content-Length : it never reads the object into memory, which is the difference from awsconnection_s3_upload. Takes only the FIRST descriptor if the file pin carries several; iterate in the blueprint to upload more than one, because a single `key` names a single object. An empty `key` defaults to the file descriptor's own filename. Content-Type is chosen in this order: the `content_type` pin, then the KEY's extension, then the descriptor's own type, then application/octet-stream : the key's extension outranks the source file's because the key is what gets served. `url` is the object's UNSIGNED url and resolves only if the object is publicly readable. success=false with NO_CONNECTION, MISSING_BUCKET, MISSING_FILE, MISSING_FILE_PATH, MISSING_KEY, FILE_NOT_READABLE, FILE_IS_A_DIRECTORY, or an S3 error code such as AccessDenied or NoSuchBucket.

s3 upload
put
upload
store object
rgw upload

Version history

Introduced in v15.0.1.


Back to object storage Return to the main group to view all sub-groups Back to object storage Return to the group to view all blocks within this group