筆記:如何將檔案傳到 google drive(雲端硬碟)

2019030716:12


#1 下載官方 gdrive 程式

https://github.com/gdrive-org/gdrive

都是單一執行檔,下載即可執行,不需安裝
不同作業系統 各有對應檔案




#2 如何上傳檔案

上傳檔案,只要下命令,就馬上上傳
上傳速度可以到 30~40MB/sec

 $ ./gdrive-linux-rpi upload 檔案名稱

     第一次執行,會顯示一個 google 網址(如下),要求身份認證
     把這個網址貼到瀏覽器,再登入 GMail 帳號 --> 並授權存取 Google Drive 就可以

Authentication needed
Go to the following url in your browser:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=367116xxxxx-7n0vf5akeru7on6o2fjinxxxxxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=state

Enter verification code:  輸入瀏覽器上的授權碼


身份資料 (access token) 存放在 
~/.gdrive 裏頭




其它相關命令
 
gdrive [global] list [options]                                 List files
gdrive [global] download [options] <fileId>                    Download file or directory
gdrive [global] download query [options] <query>               Download all files and directories matching query
gdrive [global] upload [options] <path>                        Upload file or directory
gdrive [global] upload - [options] <name>                      Upload file from stdin
gdrive [global] update [options] <fileId> <path>               Update file, this creates a new revision of the file
gdrive [global] info [options] <fileId>                        Show file info
gdrive [global] mkdir [options] <name>                         Create directory
gdrive [global] share [options] <fileId>                       Share file or directory
gdrive [global] share list <fileId>                            List files permissions
gdrive [global] share revoke <fileId> <permissionId>           Revoke permission
gdrive [global] delete [options] <fileId>                      Delete file or directory
gdrive [global] sync list [options]                            List all syncable directories on drive
gdrive [global] sync content [options] <fileId>                List content of syncable directory
gdrive [global] sync download [options] <fileId> <path>        Sync drive directory to local directory
gdrive [global] sync upload [options] <path> <fileId>          Sync local directory to drive
gdrive [global] changes [options]                              List file changes
gdrive [global] revision list [options] <fileId>               List file revisions
gdrive [global] revision download [options] <fileId> <revId>   Download revision
gdrive [global] revision delete <fileId> <revId>               Delete file revision
gdrive [global] about [options]                                Google drive metadata, quota usage
gdrive [global] about import                                   Show supported import formats
gdrive [global] about export                                   Show supported export formats
gdrive version                                                 Print application version
gdrive help                                                    Print help
gdrive help <command>                                          Print command help
gdrive help <command> <subcommand>                             Print subcommand help



GCP 中傳檔案到 Google 硬碟,不會另外收取傳輸費用
不過有傳輸量的限制,查不到文件,我這個月傳了大約 10GB 後
就顯示 傳輸過量警告訊息
Failed to upload file: googleapi: Error 403: Rate Limit Exceeded, rateLimitExceeded


有人提到原因以及解決辦法:
  重新 complier gdrive
https://blog.xuite.net/haoming/mypoint/587075113

github 關於這問題的討論與解法:
https://github.com/gdrive-org/gdrive/issues/426




Google Compute Engine 定價

一般網路價格

流量類型 價格
輸入 免費,除非您使用了負載平衡器等資源來處理輸入流量。針對要求傳送的回應會計為輸出流量,並會產生費用。
輸出* 至相同區域 不會產生任何費用
輸出至 YouTube、地圖、雲端硬碟等 Google 產品/服務 (無論您在 GCP 中使用的 VM 是採用外部或內部 IP 位址) 不會產生任何費用
輸出至位於同一地區的 DoubleClick 不會產生任何費用
使用外部或內部 IP 位址向位於同一地區的其他 Google Cloud Platform 服務輸出資料 (不包括 Cloud Memorystore for Redis、Cloud Filestore 和 Cloud SQL) 不會產生任何費用
在相同地區內的不同區域之間輸出** (每 GB) $0.01 美元
輸出至 Cloud Memorystore for Redis 的費用是按「在相同地區內的不同區域之間輸出」費率計算  
輸出至 Cloud Filestore 的費用是按「在相同地區內的不同區域之間輸出」費率計算  
輸出至 Cloud SQL 的費用是按照透過外部 IP 位址傳輸的流量一節中所述費率計算  
在美國境內的不同地區之間輸出 (每 GB) $0.01 美元
在不同地區之間輸出 (不含美國境內不同地區之間的流量) 網際網路輸出費率計費



另外,
Transferring Files to Instances