Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
PythonではなくRcloneで アップロードしてみた
YouYou
December 05, 2021
Programming
0
1.6k
PythonではなくRcloneで アップロードしてみた
詳細ブログ↓
https://zenn.dev/yuta28/articles/rclone-upload-gdrive
YouYou
December 05, 2021
Tweet
Share
More Decks by YouYou
See All by YouYou
App Runnerのドキュメントに書いていない仕様について
yuhta28
0
82
オブザーバビリティを高めよう
yuhta28
2
300
Datadogの設定をTerraformで書いてGit管理した話
yuhta28
1
580
既存AWSリソースをTerraformで管理するのはつらいよ
yuhta28
1
280
ログ集約基盤をCloudWatchからOpenSearchに変えてみた
yuhta28
0
200
dev.toの記事もGitHubで管理してみた
yuhta28
0
770
Repographyでいい感じにGitコミットを視覚化してみた
yuhta28
1
570
IaCのCI_CDを実現するSpaceliftを触ってみた
yuhta28
0
1k
既存インフラをコード化する時に気を付けること
yuhta28
1
3.3k
Other Decks in Programming
See All in Programming
社会人 20 年目エンジニア、発信で技術学びなおしてる話
e99h2121
1
140
Showkase、Paparazziを用いたビジュアルリグレッションテストの導入にチャレンジした話 / MoT TechTalk #15
mot_techtalk
0
120
TSX First な Zero-Runtime SSG potato4d/dodai とその仕組み / owned static site generator #kyotojs
potato4d
0
340
Unityでのチート対策を簡単かつ高品質に行う為の取り組み
trapezoid
0
130
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.5k
レガシーフレームワークからの移行
ug
0
120
Remote SSHで行うVS Codeリモートホスト開発とトラブルシューティング
smt7174
1
490
10年以上続くプロダクトの フロントエンド刷新プロジェクトのふりかえり
yotahada3
2
340
Circuit⚡
monaapk
0
200
ECテックカンファレンス2023
kspace
1
360
domain層のモジュール化 / MoT TechTalk #15
mot_techtalk
0
120
WordPress(再)入門 - 基礎知識・環境編
oleindesign
1
140
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Bootstrapping a Software Product
garrettdimon
299
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
338
18k
Designing Experiences People Love
moore
130
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Code Reviewing Like a Champion
maltzj
508
38k
Typedesign – Prime Four
hannesfritz
34
1.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
317
22k
What the flash - Photography Introduction
edds
64
10k
The World Runs on Bad Software
bkeepers
PRO
59
5.7k
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共有ドラ イブにファイルをアップロードしてみた