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.1k
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
160
今インフラ技術をイチから学び直すなら
yuhta28
1
200
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
3
580
Datadog外形監視基盤をEC2から ECSへ移行してみた
yuhta28
0
1.5k
アウトプット頑張ったら企業からLT登壇の依頼がきた話
yuhta28
1
1.4k
小さなことから始めるAWSコスト最適入門
yuhta28
1
1.1k
Datadogのコストも監視しよう
yuhta28
1
860
Rcloneを使った定期的なストレージ同期
yuhta28
0
620
Pulumiを触ってみよう
yuhta28
1
2.2k
Other Decks in Programming
See All in Programming
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
150
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
5
390
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
180
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
870
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
160
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
110
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
color-scheme: light dark; を完全に理解する
uhyo
6
450
DROBEの生成AI活用事例 with AWS
ippey
0
130
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
チームリードになって変わったこと
isaka1022
0
210
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Optimizing for Happiness
mojombo
376
70k
Done Done
chrislema
182
16k
BBQ
matthewcrist
87
9.5k
KATA
mclloyd
29
14k
Agile that works and the tools we love
rasmusluckow
328
21k
Practical Orchestrator
shlominoach
186
10k
Typedesign – Prime Four
hannesfritz
40
2.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Statistics for Hackers
jakevdp
797
220k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
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共有ドラ イブにファイルをアップロードしてみた