diff --git a/.optimize-cache.json b/.optimize-cache.json index bae6e30d52..6dce77d890 100644 --- a/.optimize-cache.json +++ b/.optimize-cache.json @@ -244,6 +244,7 @@ "static/images/blog/announcing-realtime-queries/cover.png": "2e11ad5d30399bced1817ce0edb6d266cc57a70955d2102af173d26461c9bf57", "static/images/blog/announcing-relationship-queries/cover.png": "7e615c0a9dcbb3949d5fb7ed71f36bb44de40ae67c8cd832b96ff5bbd4b0f451", "static/images/blog/announcing-rust-runtime/cover.png": "a203fe2ef16c40592813ae7efb3c746d4250e68414c9b7d763893dae264f61d7", + "static/images/blog/announcing-s3-api/cover.png": "ec31c0613b86ea5d249f076056fee1b9fbf6ad69dfcda0a8622aa5e84bd9130c", "static/images/blog/announcing-screenshots-api/cover.png": "56555006946b9ead5cd4258544b6a9dda44bce6841706749f7539bc31356383e", "static/images/blog/announcing-self-serve-baa.png": "b66eb0be9b323fb4b28f16218887a463bd1d45f7838c08d6d49e4822a6f95609", "static/images/blog/announcing-self-serve-baa/enable-baa-modal.png": "b07c61f88fad334847c9c7c918511485fb85d682b2dfde5231f81925bc7475ff", diff --git a/src/routes/blog/author/torsten-dittmann/+page.markdoc b/src/routes/blog/author/torsten-dittmann/+page.markdoc new file mode 100644 index 0000000000..2834310265 --- /dev/null +++ b/src/routes/blog/author/torsten-dittmann/+page.markdoc @@ -0,0 +1,10 @@ +--- +layout: author +slug: torsten-dittmann +name: Torsten Dittmann +role: Product Architect +bio: Open-source and the web +avatar: /images/avatars/torsten.avif +github: https://github.com/TorstenDittmann +linkedin: https://www.linkedin.com/in/torstendittmann/ +--- diff --git a/src/routes/blog/post/announcing-s3-api/+page.markdoc b/src/routes/blog/post/announcing-s3-api/+page.markdoc index e714ce11a2..1518735f91 100644 --- a/src/routes/blog/post/announcing-s3-api/+page.markdoc +++ b/src/routes/blog/post/announcing-s3-api/+page.markdoc @@ -5,7 +5,7 @@ description: Appwrite Storage now exposes an S3-compatible API. Point the AWS CL date: 2026-07-31 cover: /images/blog/announcing-s3-api/cover.avif timeToRead: 5 -author: aditya-oberai +author: torsten-dittmann category: announcement featured: false callToAction: true @@ -48,7 +48,7 @@ S3 clients authenticate with an access key ID and a secret access key. Appwrite | Endpoint | `https://.cloud.appwrite.io/v1/s3` | | Access key ID | Your Appwrite project ID | | Secret access key | An Appwrite API key secret | -| Region | `auto` | +| Region | `auto` or your project's Appwrite region | | Signature version | AWS Signature Version 4 (SigV4) | | Addressing style | Path-style only | @@ -127,7 +127,7 @@ S3 buckets map directly to Appwrite Storage buckets, and S3 objects map to files This means files created through the native Storage API or the Console are usable over S3 too: list the bucket to discover a file's canonical key, then address it with that key. -Folders work the way they do on S3 itself: they are virtual, existing as `/`-separated prefixes in object keys. List a bucket with the `/` delimiter and an optional `prefix` to browse it like a directory tree, with folders grouped under `CommonPrefixes` and files under `Contents`. +[Folders](/docs/products/storage/folders) work the way they do on S3 itself: they are virtual, existing as `/`-separated prefixes in object keys. List a bucket with the `/` delimiter and an optional `prefix` to browse it like a directory tree, with folders grouped under `CommonPrefixes` and files under `Contents`. # What's supported diff --git a/static/images/blog/announcing-s3-api/cover.avif b/static/images/blog/announcing-s3-api/cover.avif new file mode 100644 index 0000000000..a0e82110d2 Binary files /dev/null and b/static/images/blog/announcing-s3-api/cover.avif differ