From 04c84ea1e3faacc3a74c3283c610a73703f6cb1f Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Thu, 17 Jul 2025 14:08:55 -0400 Subject: [PATCH 1/2] docs: Add Cloudflare R2 example --- docs/assets/cloudflare-r2-bucket-info.png | Bin 0 -> 66157 bytes docs/assets/cloudflare-r2-credentials.jpg | Bin 0 -> 57585 bytes docs/examples/r2.md | 53 ++++++++++++++++++++++ mkdocs.yml | 1 + 4 files changed, 54 insertions(+) create mode 100644 docs/assets/cloudflare-r2-bucket-info.png create mode 100644 docs/assets/cloudflare-r2-credentials.jpg create mode 100644 docs/examples/r2.md diff --git a/docs/assets/cloudflare-r2-bucket-info.png b/docs/assets/cloudflare-r2-bucket-info.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b9678d367264a318f767f621a6a4b5e85288b2 GIT binary patch literal 66157 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
  • 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ᨭ+FTa^b*>IkcC7O&CJ|G>_RP3Kq^eb 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 a^3uZ>2AKuFb?osm03Yu)Y_GgeIp{xHN5HKB literal 0 HcmV?d00001 diff --git a/docs/assets/cloudflare-r2-credentials.jpg b/docs/assets/cloudflare-r2-credentials.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6ef9f577e0f8e0aa7b6e438233c6f598c9e3ce2 GIT binary patch literal 57585 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

    }Fmx`dsP}LvJ}1fRRt-mC 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 literal 0 HcmV?d00001 diff --git a/docs/examples/r2.md b/docs/examples/r2.md new file mode 100644 index 00000000..1d21f64b --- /dev/null +++ b/docs/examples/r2.md @@ -0,0 +1,53 @@ +# Cloudflare R2 + +[Cloudflare R2](https://www.cloudflare.com/developer-platform/products/r2/) is Cloudflare's object storage solution, designed to be compatible with the S3 API. Some developers may choose to use Cloudflare R2 because it has no egress fees. + +It's easy to read and write data to and from Cloudflare R2 with obstore's [`S3Store`][obstore.store.S3Store]. + +Three steps: + + +I have a public R2 bucket I created a long time ago but rarely think about now. Looks like steps are: + +1. [Create an API token](https://dash.cloudflare.com/?to=/:account/r2/api-tokens) with read or read/write access to one or more buckets. + + Copy the `Access Key ID` and `Secret Access Key` to use in your code. + + ![](../assets/cloudflare-r2-credentials.jpg) + +2. On the general settings of a bucket, take note of the `S3 API` URL. In my case it's `https://f0b62eebfbdde1133378bfe3958325f6.r2.cloudflarestorage.com/kylebarron-public`. + + ![](../assets/cloudflare-r2-bucket-info.png) + +3. Pass this information to [`S3Store.from_url`][obstore.store.S3Store.from_url]: + + ```py + from obstore.store import S3Store + + access_key_id = "..." + secret_access_key = "..." + store = S3Store.from_url( + "https://f0b62eebfbdde1133378bfe3958325f6.r2.cloudflarestorage.com/ kylebarron-public", + access_key_id=access_key_id, + secret_access_key=secret_access_key, + ) + store.list_with_delimiter() + ``` + + Or you can construct a store manually with the `endpoint` and `bucket` parameters: + + ```py + from obstore.store import S3Store + + access_key_id = "..." + secret_access_key = "..." + bucket = "kylebarron-public" + endpoint = "https://f0b62eebfbdde1133378bfe3958325f6.r2.cloudflarestorage. com" + store = S3Store( + bucket, + access_key_id=access_key_id, + secret_access_key=secret_access_key, + endpoint=endpoint, + ) + store.list_with_delimiter() + ``` diff --git a/mkdocs.yml b/mkdocs.yml index 6cf1d5be..b46294f8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,6 +40,7 @@ nav: - examples/fastapi.md - examples/minio.md - examples/pyarrow.md + - examples/r2.md - examples/stream-zip.md - examples/tqdm.md - examples/zarr.md From 3b0b2a0164cea09c419d895fd79502de26ba9ea0 Mon Sep 17 00:00:00 2001 From: Kyle Barron Date: Thu, 17 Jul 2025 14:09:25 -0400 Subject: [PATCH 2/2] edit --- docs/examples/r2.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docs/examples/r2.md b/docs/examples/r2.md index 1d21f64b..ecbb8150 100644 --- a/docs/examples/r2.md +++ b/docs/examples/r2.md @@ -2,12 +2,7 @@ [Cloudflare R2](https://www.cloudflare.com/developer-platform/products/r2/) is Cloudflare's object storage solution, designed to be compatible with the S3 API. Some developers may choose to use Cloudflare R2 because it has no egress fees. -It's easy to read and write data to and from Cloudflare R2 with obstore's [`S3Store`][obstore.store.S3Store]. - -Three steps: - - -I have a public R2 bucket I created a long time ago but rarely think about now. Looks like steps are: +It's easy to read and write data to and from Cloudflare R2 with obstore's [`S3Store`][obstore.store.S3Store] with three steps: 1. [Create an API token](https://dash.cloudflare.com/?to=/:account/r2/api-tokens) with read or read/write access to one or more buckets.