Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
pcx_content_type: navigation
title: Overview
sidebar:
order: 4
group:
hideIndex: true
tableOfContents: false
---
45 changes: 45 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/r2-1.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
pcx_content_type: navigation
title: Getting started with R2
sidebar:
order: 1
tableOfContents: false
description: |
Cloudflare R2 is an object storage solution designed to handle your data and files efficiently. It is ideal for various use cases, such as storing large media files, creating data lakes, or delivering web assets. R2 offers a flexible architecture to suit your needs, all with zero egress fees, meaning you don't have to worry about unexpected costs when moving your data.

---

import { Render, Tabs, TabItem, Stream, Card } from "~/components";

<Tabs>
<TabItem label="Watch this episode">

Cloudflare R2 is an object storage solution designed to handle your data and files efficiently. It is ideal for various use cases, such as storing large media files, creating data lakes, or delivering web assets. R2 offers a flexible architecture to suit your needs, all with zero egress fees, meaning you don't have to worry about unexpected costs when moving your data.

<Card>
<Stream
id="f5922079245064953abb76127c76cb9a"
title="Getting started with R2"
thumbnail="https://pub-d9bf66e086fb4b639107aa52105b49dd.r2.dev/R2-1%20Getting%20started%20with%20R2.jpg"
showMoreVideos={false}
chapters={{
"Introduction": "3s",
"Configuring R2 Buckets": "1m40s",
"Practical Applications and Future Topics": "3m30s"
}}
/>

**Related content**

If you want to dive into detail, refer to the following pages:

- [Create new buckets](/r2/buckets/create-buckets/)
- [Bucket-level operations](/r2/buckets/create-buckets/#bucket-level-operations)

</Card>
</TabItem>

<TabItem label="Series overview">
<Render file="r2-series-navigation" />
</TabItem>
</Tabs>
44 changes: 44 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/r2-2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
pcx_content_type: navigation
title: Public buckets
sidebar:
order: 2
tableOfContents: false
description: |
This video outlines how to configure public buckets in R2, which are private by default, to enable public Internet access. It presents two methods for setting up public access: using a custom domain for greater control over content management and security, or a Cloudflare managed subdomain for a simpler configuration.
---

import { Render, Tabs, TabItem, Stream, Card } from "~/components";

<Tabs>
<TabItem label="Watch this episode">

This video outlines how to configure public buckets in R2, which are private by default, to enable public Internet access. It presents two methods for setting up public access: using a custom domain for greater control over content management and security, or a Cloudflare managed subdomain for a simpler configuration.

<Card>
<Stream
id="e8731d392bfde834be5717e7043ee801"
title="Public buckets"
thumbnail="https://pub-d9bf66e086fb4b639107aa52105b49dd.r2.dev/R2-2%20public%20buckets.jpg"
showMoreVideos={false}
chapters={{
"Introduction": "3s",
"Setting Up a Public Bucket with a Custom Domain": "44s",
"Using Cloudflare Managed Subdomain for Public Access": "1m44s"
}}
/>

**Related content**

If you want to dive into detail, refer to the following pages:

- [Public buckets](/r2/buckets/public-buckets/)
- [Custom domains](/r2/buckets/public-buckets/#connect-a-bucket-to-a-custom-domain)

</Card>
</TabItem>

<TabItem label="Series overview">
<Render file="r2-series-navigation" />
</TabItem>
</Tabs>
47 changes: 47 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/r2-3.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
pcx_content_type: navigation
title: S3 API compatibility
sidebar:
order: 3
tableOfContents: false
description: |
In this video, you'll learn how to use S3 API commands and tools with R2, set up and configure R2 for S3 API compatibility, and integrate R2 into your existing workflows with minimal changes.
---

import { Render, Tabs, TabItem, Stream, Card } from "~/components";

<Tabs>
<TabItem label="Watch this episode">

In this video, you'll learn how to use S3 API commands and tools with R2, set up and configure R2 for S3 API compatibility, and integrate R2 into your existing workflows with minimal changes.

<Card>
<Stream
id="493102654cc22e7b2845c3a6235dd6b8"
title="S3 API compatibility"
thumbnail="https://pub-d9bf66e086fb4b639107aa52105b49dd.r2.dev/R2-3%20S3%20API%20Compatibility.jpg"
showMoreVideos={false}
chapters={{
"Introduction":"3s",
"Generate R2 API Key":"2m0s",
"Using AWS SDK with Cloudflare R2":"3m3s",
"Example Upload and Delete Programatically":"4m37s",
"Pre-signed URLs":"6m40s",
}}
/>

**Related content**

If you want to dive into detail, refer to the following pages:

- [S3 API compatibility](/r2/api/s3/api/)
- [Authenticate against R2 API using auth tokens](/r2/examples/authenticate-r2-auth-tokens/)
- [Pre-signed URLs](/r2/api/s3/presigned-urls/)

</Card>
</TabItem>

<TabItem label="Series overview">
<Render file="r2-series-navigation" />
</TabItem>
</Tabs>
50 changes: 50 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/r2-4.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
pcx_content_type: navigation
title: Migrating your bucket data
sidebar:
order: 4
tableOfContents: false
description: |
In this video, you will learn how to use Cloudflare R2's data migration tools, to transfer data from other cloud providers such as Amazon S3 and Google Cloud Storage to R2. The video will demonstrate the step-by-step process of setting up and executing a data migration.

---

import { Render, Tabs, TabItem, Stream, Card } from "~/components";

<Tabs>
<TabItem label="Watch this episode">

In this video, you will learn how to use Cloudflare R2's data migration tools, to transfer data from other cloud providers such as Amazon S3 and Google Cloud Storage to R2. The video will demonstrate the step-by-step process of setting up and executing a data migration.

<Card>
<Stream
id="2bb9f663c21bab9e8996cb2bc93d7218"
title="Migrating your bucket data"
thumbnail="https://pub-d9bf66e086fb4b639107aa52105b49dd.r2.dev/R2-4%20Data%20migration%20with%20R2.jpg"
showMoreVideos={false}
chapters={{
"Introduction": "3s",
"Data Migration Dashboard": "1m20s",
"Configuring AWS": "1m55s",
"AWS Data Migration": "4m29s",
"Sippy AKA Incremental Migration": "6m49s",
"Configuring Sippy": "7m30s"
}}
/>

**Related content**

If you want to dive into detail, refer to the following pages:

- [Data migration overview](/r2/data-migration/)
- [Migration strategies](/r2/data-migration/migration-strategies/)
- [Super Slurper](/r2/data-migration/super-slurper/)
- [Sippy](/r2/data-migration/sippy/)

</Card>
</TabItem>

<TabItem label="Series overview">
<Render file="r2-series-navigation" />
</TabItem>
</Tabs>
47 changes: 47 additions & 0 deletions src/content/docs/learning-paths/r2-intro/series/r2-5.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
pcx_content_type: navigation
title: Accessing your bucket from Cloudflare Workers
sidebar:
order: 5
tableOfContents: false
description: |
In this video, you will set up a Cloudflare Workers project and connect it to an existing or new R2 bucket. You will secure file uploads using authentication tokens, configure the Wrangler settings, and enable Smart Tiered Cache for optimal performance. Finally, you will deploy and test your serverless API to upload and retrieve files such as podcast episodes.

---

import { Render, Tabs, TabItem, Stream, Card } from "~/components";

<Tabs>
<TabItem label="Watch this episode">

In this video, you will set up a Cloudflare Workers project and connect it to an existing or new R2 bucket. You will secure file uploads using authentication tokens, configure the Wrangler settings, and enable Smart Tiered Cache for optimal performance. Finally, you will deploy and test your serverless API to upload and retrieve files such as podcast episodes.

<Card>
<Stream
id="3be34980e2b207e7b3400cba8e1fb899"
title="Accessing your bucket from Cloudflare Workers"
thumbnail="https://pub-d9bf66e086fb4b639107aa52105b49dd.r2.dev/R2-5%20Access%20R2%20storage%20from%20Worker.jpg"
showMoreVideos={false}
chapters={{
"Introduction":"3s",
"Cloudflare C3 CLI Tool":"1m4s",
"Wrangler JSON file":"2m33s",
"Deploy the app":"7m26s"
}}
/>

**Related content**

If you want to dive into detail, refer to the following pages:

- [C3 CLI](/pages/get-started/c3/)
- [AWS CLI example](/r2/examples/aws/aws-cli/)
- [Wrangler configuration file](/workers/wrangler/configuration/)

</Card>
</TabItem>

<TabItem label="Series overview">
<Render file="r2-series-navigation" />
</TabItem>
</Tabs>
9 changes: 9 additions & 0 deletions src/content/learning-paths/r2-intro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"title": "Introduction to R2",
"path": "/learning-paths/r2-intro/series/r2-1/",
"priority": 2,
"description": "Learn about Cloudflare R2, an object storage solution designed to handle your data and files efficiently. It is ideal for storing large media files, creating data lakes, or delivering web assets.",
"products": ["R2", "Workers"],
"product_group": "Developer platform",
"video": true
}
34 changes: 34 additions & 0 deletions src/content/partials/learning-paths/r2-series-navigation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
{}

---

import { CardGrid, LinkCard, Card } from "~/components";

<CardGrid>
<LinkCard
title="Watch Episode 1: Getting started with R2"
description="In this video, you'll learn how to use Cloudflare R2 to store and manage data with no egress fees, supporting use cases like media, web assets, backups, and static site hosting."
href="/learning-paths/r2-intro/series/r2-1/"
/>
<LinkCard
title="Watch Episode 2: Public buckets"
description="This video outlines how to configure public buckets in R2, which are private by default, to enable public Internet access. It presents two methods for setting up public access: using a custom domain or a Cloudflare managed subdomain."
href="/learning-paths/r2-intro/series/r2-2/"
/>
<LinkCard
title="Watch Episode 3: S3 API compatibility"
description="In this video, you'll learn how to use S3 API commands and tools with R2, set up and configure R2 for S3 API compatibility, and integrate R2 into your existing workflows with minimal changes."
href="/learning-paths/r2-intro/series/r2-3/"
/>
<LinkCard
title="Watch Episode 4: Migrating your bucket data"
description="In this video, you will learn how to use Cloudflare R2's data migration tools, to transfer data from other cloud providers such as Amazon S3 and Google Cloud Storage to R2."
href="/learning-paths/r2-intro/series/r2-4/"
/>
<LinkCard
title="Watch Episode 5: Accessing your bucket from Cloudflare Workers"
description="In this video, you will build a serverless file API using Cloudflare Workers and R2 by setting up a project, securing uploads, enabling caching and deploying the application."
href="/learning-paths/r2-intro/series/r2-5/"
/>
</CardGrid>