Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PythonではなくRcloneで アップロードしてみた
Search
YouYou
December 05, 2021
Programming
0
5.7k
PythonではなくRcloneで アップロードしてみた
詳細ブログ↓
https://zenn.dev/yuta28/articles/rclone-upload-gdrive
YouYou
December 05, 2021
Tweet
Share
More Decks by YouYou
See All by YouYou
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
220
今インフラ技術をイチから学び直すなら
yuhta28
1
240
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
3
620
Datadog外形監視基盤をEC2から ECSへ移行してみた
yuhta28
0
1.6k
アウトプット頑張ったら企業からLT登壇の依頼がきた話
yuhta28
1
1.5k
小さなことから始めるAWSコスト最適入門
yuhta28
1
1.2k
Datadogのコストも監視しよう
yuhta28
1
960
Rcloneを使った定期的なストレージ同期
yuhta28
0
730
Pulumiを触ってみよう
yuhta28
1
2.5k
Other Decks in Programming
See All in Programming
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.2k
TDD 実践ミニトーク
contour_gara
1
280
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
私の後悔をAWS DMSで解決した話
hiramax
4
190
Claude Codeで挑むOSSコントリビュート
eycjur
0
190
複雑なドメインに挑む.pdf
yukisakai1225
5
960
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
380
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
110
Honoアップデート 2025年夏
yusukebe
1
900
CSC305 Summer Lecture 12
javiergs
PRO
0
130
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
What's in a price? How to price your products and services
michaelherold
246
12k
BBQ
matthewcrist
89
9.8k
The Pragmatic Product Professional
lauravandoore
36
6.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Navigating Team Friction
lara
189
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Applications with DynamoDB
mza
96
6.6k
Transcript
PythonではなくRcloneで アップロードしてみた
Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) ブログ:https://zenn.dev/yuta28 自己紹介 Twitter
目次 • 背景 • Pythonで実装 • Rcloneで実装 • おまけ •
まとめ
背景 ファイルコピーをしたい
背景 • Pythonを使えば簡単にできそう • PyDriveというものが有名らしい ◦ →既に開発終了していて非推奨らしい • GoogleドライブにはAPIがあってそれを使えばできそう ◦
Upload file data | Google Drive API ◦ サンプルソースも用意されていてイケる !
Pythonで実装 1. GCPでAPIを有効化 2. OAuthの認証情報を作成 3. クライアントトークンをEC2内に格納 4. Python Quickstart
| Google Drive API 5. Upload file data | Google Drive API
Pythonで実装
Pythonで実装 googleapiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/upload/drive/v3/files?fields=id&alt=json&uploadType=resumable returned "File not
found: /&~ev-%,s+2eqeH|jwG3!#-a%6#6LZyhdh". #IDはサンプル Details: "[{'domain': 'global', 'reason': 'notFound', 'message': 'File not found: 1mE_qImJ7ASarUCE4XUkv9sVER4-sVJKM.', 'locationType': 'parameter', 'location': 'fileId'}]">
Rcloneで実装 • Rclone.org • Go製のOSS • クラウドストレージにファイルをup/downloadできる ◦ 40個以上に対応!! ◦
暗号化して転送することも可能 • クラウドストレージ先にmountも可 • (プレビューだが)WebGUIも提供
Rcloneで実装 rclone configでセットアップを実施 • 前述で取得したクライアントトークンの IDとシークレット情報を貼り付け https://rclone.org/drive/
Rcloneで実装 copyコマンドでソースファイルと接続先のクラウドストレージ名を指定 rclone copy source file remote:
Rcloneで実装
おまけ GUIダッシュボードもあります rclone rcd --rc-web-gui コマンドベースではないので 直感的に設定しやすい ? OSS活動も受付中らしい https://github.com/rclone/rclone
-webui-react
まとめ
まとめ プログラミングなにもわからない
ありがとうございました より詳しい内容は以下のブログで↓ PythonではなくRcloneでGoogle共有ドラ イブにファイルをアップロードしてみた