mirror of
https://github.com/andatoshiki/toshiki-notebook.git
synced 2026-06-06 09:16:45 +00:00
56 lines
17 KiB
JavaScript
56 lines
17 KiB
JavaScript
import{_ as a}from"./chunks/PageInfo.vue_vue_type_script_setup_true_lang.250b3e56.js";import{_ as e,o as l,c as o,H as p,k as s,a as t,Q as r}from"./chunks/framework.b7580407.js";import"./chunks/commonjsHelpers.725317a4.js";const k=JSON.parse('{"title":"Configure rclone for R2","description":"","frontmatter":{},"headers":[],"relativePath":"development/rclone-for-r2.md","filePath":"development/rclone-for-r2.md","lastUpdated":1695144785000}'),c={name:"development/rclone-for-r2.md"},i=s("h1",{id:"configure-rclone-for-r2",tabindex:"-1"},[t("Configure rclone for R2 "),s("a",{class:"header-anchor",href:"#configure-rclone-for-r2","aria-label":'Permalink to "Configure rclone for R2"'},"")],-1),y=r(`<p>Example of how to configure <code>rclone</code> to use R2.</p><p>You must <a href="https://developers.cloudflare.com/r2/data-access/s3-api/tokens/" target="_blank" rel="noreferrer">generate an Access Key</a> before getting started. All examples will utilize <code>access_key_id</code> and <code>access_key_secret</code> variables which represent the <strong>Access Key ID</strong> and <strong>Secret Access Key</strong> values you generated.</p><p>With <a href="https://rclone.org/install/" target="_blank" rel="noreferrer"><code>rclone</code></a> installed, you may run <a href="https://rclone.org/s3/" target="_blank" rel="noreferrer"><code>rclone config</code></a> to configure a new S3 storage provider. You will be prompted with a series of questions for the new prvider details.</p><p>If you have already configured <code>rclone</code> in the past, you may run <code>rclone config file</code> to print the location of your <code>rclone</code> configuration file:</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki solarized-dark vp-code-dark"><code><span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">config</span><span style="color:#839496;"> </span><span style="color:#2AA198;">file</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># Configuration file is stored at:</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># ~/.config/rclone/rclone.conf</span></span></code></pre><pre class="shiki solarized-light vp-code-light"><code><span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">config</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">file</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># Configuration file is stored at:</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># ~/.config/rclone/rclone.conf</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>Then use an editor (<code>nano</code> or <code>vim</code>, for example) to add or edit the new provider. This example assumes you are adding a new <code>r2demo</code> provider:</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki solarized-dark vp-code-dark"><code><span class="line"><span style="color:#839496;">[r2]</span></span>
|
||
<span class="line"><span style="color:#268BD2;">type</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">s3</span></span>
|
||
<span class="line"><span style="color:#268BD2;">provider</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">Cloudflare</span></span>
|
||
<span class="line"><span style="color:#268BD2;">access_key_id</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">abc123</span><span style="color:#839496;"> </span><span style="color:#586E75;font-style:italic;"># Your access_key_id</span></span>
|
||
<span class="line"><span style="color:#268BD2;">secret_access_key</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">xyz456</span><span style="color:#839496;"> </span><span style="color:#586E75;font-style:italic;"># Your access_key_secret</span></span>
|
||
<span class="line"><span style="color:#268BD2;">endpoint</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">https://</span><span style="color:#859900;"><</span><span style="color:#2AA198;">accounti</span><span style="color:#839496;">d</span><span style="color:#859900;">></span><span style="color:#2AA198;">.r2.cloudflarestorage.com</span></span>
|
||
<span class="line"><span style="color:#268BD2;">acl</span><span style="color:#839496;"> </span><span style="color:#2AA198;">=</span><span style="color:#839496;"> </span><span style="color:#2AA198;">private</span></span></code></pre><pre class="shiki solarized-light vp-code-light"><code><span class="line"><span style="color:#657B83;">[r2]</span></span>
|
||
<span class="line"><span style="color:#268BD2;">type</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">s3</span></span>
|
||
<span class="line"><span style="color:#268BD2;">provider</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">Cloudflare</span></span>
|
||
<span class="line"><span style="color:#268BD2;">access_key_id</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">abc123</span><span style="color:#657B83;"> </span><span style="color:#93A1A1;font-style:italic;"># Your access_key_id</span></span>
|
||
<span class="line"><span style="color:#268BD2;">secret_access_key</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">xyz456</span><span style="color:#657B83;"> </span><span style="color:#93A1A1;font-style:italic;"># Your access_key_secret</span></span>
|
||
<span class="line"><span style="color:#268BD2;">endpoint</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">https://</span><span style="color:#859900;"><</span><span style="color:#2AA198;">accounti</span><span style="color:#657B83;">d</span><span style="color:#859900;">></span><span style="color:#2AA198;">.r2.cloudflarestorage.com</span></span>
|
||
<span class="line"><span style="color:#268BD2;">acl</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">=</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">private</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>You may then use the new <code>rclone</code> provider for any of your normal workflows.</p><h2 id="list-buckets-objects" tabindex="-1">List buckets & objects <a class="header-anchor" href="#list-buckets-objects" aria-label="Permalink to "List buckets & objects""></a></h2><p>The <a href="https://rclone.org/commands/rclone_tree/" target="_blank" rel="noreferrer">rclone tree</a> command can be used to list the contents of the remote, in this case Cloudflare R2.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki solarized-dark vp-code-dark"><code><span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">tree</span><span style="color:#839496;"> </span><span style="color:#2AA198;">r2demo:</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># ├── user-uploads</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># │ └── foobar.png</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># └── my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># └── todos.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">tree</span><span style="color:#839496;"> </span><span style="color:#2AA198;">r2demo:my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># └── todos.txt</span></span></code></pre><pre class="shiki solarized-light vp-code-light"><code><span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">tree</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">r2demo:</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># ├── user-uploads</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># │ └── foobar.png</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># └── my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># └── todos.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">tree</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">r2demo:my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># └── todos.txt</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br></div></div><h2 id="upload-and-retrieve-objects" tabindex="-1">Upload and retrieve objects <a class="header-anchor" href="#upload-and-retrieve-objects" aria-label="Permalink to "Upload and retrieve objects""></a></h2><p>The <a href="https://rclone.org/commands/rclone_copy/" target="_blank" rel="noreferrer">rclone copy</a> command can be used to upload objects to an R2 bucket and vice versa - this allows you to upload files up to the 5 TB maximum object size that R2 supports.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki solarized-dark vp-code-dark"><code><span class="line"><span style="color:#586E75;font-style:italic;"># Upload dog.txt to the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">copy</span><span style="color:#839496;"> </span><span style="color:#2AA198;">dog.txt</span><span style="color:#839496;"> </span><span style="color:#2AA198;">r2demo:user-uploads/dog.txt</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">tree</span><span style="color:#839496;"> </span><span style="color:#2AA198;">r2demo:user-uploads</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># ├── foobar.png</span></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># └── dog.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#586E75;font-style:italic;"># Download dog.txt from the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#839496;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#839496;"> </span><span style="color:#2AA198;">copy</span><span style="color:#839496;"> </span><span style="color:#2AA198;">r2demo:user-uploads/dog.txt</span><span style="color:#839496;"> </span><span style="color:#2AA198;">dog.txt</span></span></code></pre><pre class="shiki solarized-light vp-code-light"><code><span class="line"><span style="color:#93A1A1;font-style:italic;"># Upload dog.txt to the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">copy</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">dog.txt</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">r2demo:user-uploads/dog.txt</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">tree</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">r2demo:user-uploads</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># ├── foobar.png</span></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># └── dog.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#93A1A1;font-style:italic;"># Download dog.txt from the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#268BD2;">$</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">rclone</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">copy</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">r2demo:user-uploads/dog.txt</span><span style="color:#657B83;"> </span><span style="color:#2AA198;">dog.txt</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><h2 id="generate-presigned-urls" tabindex="-1">Generate presigned URLs <a class="header-anchor" href="#generate-presigned-urls" aria-label="Permalink to "Generate presigned URLs""></a></h2><p>You can also generate presigned links which allow you to share public access to a file temporarily using the <a href="https://rclone.org/commands/rclone_link/" target="_blank" rel="noreferrer">rclone link</a> command.</p>`,16);function d(A,u,b,m,f,h){const n=a;return l(),o("div",null,[i,p(n,{readTime:"2",words:"336"}),y])}const v=e(c,[["render",d]]);export{k as __pageData,v as default};
|