From 29da59a5e62715b9dcb775b6ced9fca3ae5c2021 Mon Sep 17 00:00:00 2001 From: adityaoberai Date: Tue, 28 Jul 2026 21:56:51 +0530 Subject: [PATCH] update stardust storage announcement --- .optimize-cache.json | 1 + .../blog/author/torsten-dittmann/+page.markdoc | 10 ++++++++++ .../blog/post/announcing-s3-api/+page.markdoc | 6 +++--- static/images/blog/announcing-s3-api/cover.avif | Bin 0 -> 6668 bytes 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 src/routes/blog/author/torsten-dittmann/+page.markdoc create mode 100644 static/images/blog/announcing-s3-api/cover.avif 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 0000000000000000000000000000000000000000..a0e82110d29383c53f9776dbd516ae7c5f8ba8bf GIT binary patch literal 6668 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