-
Notifications
You must be signed in to change notification settings - Fork 10k
R2 learning path #22852
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
R2 learning path #22852
Changes from 6 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
e82b6df
draft
jason-cf f8b181a
updates
jason-cf 9516b57
Merge branch 'production' into r2-learning-path
jason-cf 4416a5b
updating path and drafts
jason-cf 4bab0d7
Merge branch 'production' into r2-learning-path
jason-cf 94138a6
Updates
jason-cf bc80c1c
Apply suggestions from code review
jason-cf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | ||
| --- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Render file="r2-series-navigation" /> | ||
| </TabItem> | ||
| </Tabs> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| --- | ||
|
|
||
| import { Render, Tabs, TabItem, Stream, Card } from "~/components"; | ||
|
|
||
| <Tabs> | ||
| <TabItem label="Watch this episode"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Render file="r2-series-navigation" /> | ||
| </TabItem> | ||
| </Tabs> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Render file="r2-series-navigation" /> | ||
| </TabItem> | ||
| </Tabs> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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. | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| --- | ||
|
|
||
| import { Render, Tabs, TabItem, Stream, Card } from "~/components"; | ||
|
|
||
| <Tabs> | ||
| <TabItem label="Watch this episode"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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. | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| <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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Render file="r2-series-navigation" /> | ||
| </TabItem> | ||
| </Tabs> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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"> | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <Render file="r2-series-navigation" /> | ||
| </TabItem> | ||
| </Tabs> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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
34
src/content/partials/learning-paths/r2-series-navigation.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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." | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 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." | ||
jason-cf marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| href="/learning-paths/r2-intro/series/r2-5/" | ||
| /> | ||
| </CardGrid> | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.