---
title: "presign get url · RUAL Documentation"
description: "Creates a temporary URL that lets anyone read one private object, without proxying it through this server. Not available in a simulation : the URL is a…"
canonical: https://docs.rual.nl/block-types/object%20storage/s3connection_presign_get
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# presign get url

This block is part of the [`object storage`](https://docs.rual.nl/block-types/object%20storage) group and was last modified in core [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

Creates a temporary URL that lets anyone read one private object, without proxying it through this server. Not available in a simulation : the URL is a real credential.

- 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 required `value` The object key the URL should grant read access to.

- expires in (seconds) `number` How long the URL stays valid. Defaults to 900 (15 minutes); the maximum SigV4 allows is 604800 (7 days).

Default `900`

- download filename `value` Optional. Makes the browser save the file under this name instead of the key's.

- content type `value` Optional. Overrides the Content-Type the server returns.

- flow `flow`

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

- success `condition`

- error `value`

- url `value` The signed URL. Anyone holding it has this access until it expires.

- expires at `date` RFC-3339 timestamp at which the URL stops working.

- expires in `number` Lifetime in seconds, as applied.

Builds a time-limited URL granting anonymous READ of `bucket`/`key`. Makes NO network call : it is pure signing, so it works against an endpoint that is down. It is nonetheless SUPPRESSED in a simulation: the URL is a bearer credential against the live bucket that outlives the run, and simulating is a lower bar than a production run. The signature covers the method and the key, so the URL cannot be used to write and cannot be pointed at another object. Treat the result as a BEARER CREDENTIAL: anyone who holds it has that read access until it expires, so keep `expires_in` short. Default 900s, maximum 604800s (7 days, the SigV4 ceiling) : a larger value is REFUSED rather than clamped, because silently handing back a URL that dies in a week is worse than an error. `download_filename` sets a Content-Disposition so the browser saves under a friendly name; `content_type` overrides the served type. success=false with NO_CONNECTION, MISSING_BUCKET, MISSING_KEY, or an expiry outside the allowed range.

| `s3 presign` |
| --- |
| `signed url` |
| `temporary url` |
| `download link` |
| `presigned get` |

## Version history

Introduced in [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

- [Back to `object storage`](https://docs.rual.nl/block-types/object%20storage): Return to the main group to view all sub-groups

- [Back to `object storage`](https://docs.rual.nl/block-types/object%20storage?group=object%20storage): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
