はじめに
概要
私は個人でG Suite Businessを契約しており、無料版Googleアカウントでは利用できないDrive File Streamというファイルオンデマンドソフトを愛用しています。
このDrive File Streamが、ある特定の条件下(今回は特定しきれていないが)において動作しなくなる現象が発生しました。ですが、ネット上に全くデータがなく、Googleのサポートさんも曖昧な返事しかなかったので、ここに記録しておきます。
ちなみに、G Suite Businessの共同契約を募集しています!
経緯
私は、地上波を録画したデータをraw又は変換したmkvでG Suiteのドライブに保存しています。
5~10GBの録画データ10個ほどが入っているフォルダをエクスプローラで開くと、ファイル名やファイルサイズは表示されますが、更新日時がいつまでたっても表示されず、エクスプローラのアドレスバーが青くなったままになりました。
(遅くて断片化しているHDDの写真のプレビューが遅いのと同じ感じ)
とりあえずエクスプローラを閉じ、他のフォルダの画像なり動画ファイルを開こうとしても、全く反応がなく開けなくなってしまいます。
%LOCALAPPDATA%\Google\DriveFS\Logsのdrive_fs.txtを見ると、
2020-05-16T10:06:02.648ZE [14240] drive_v2_cloud_store.cc:4537:OnContentChunkDownloaded Failed to download content (QUOTA_EXCEEDED) from https://www.googleapis.com/drive/v2internal/files/xxxxxxxx
Request headers:
Host: www.googleapis.com
Authorization: <Redacted>
User-Agent: GoogleDriveFS/38.0.16.0 (Windows; OSVer=10.0.18363)
Range: bytes=7674628622-12411441093
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "quotaExceeded",
"message": "The download quota for this file has been exceeded",
"locationType": "other",
"location": "quota.download"
}
],
"code": 403,
"message": "The download quota for this file has been exceeded"
}
}
というJSONが返ってきており、Google APIのダウンロード制限に引っかかっていることが分かりました。
原因
私の見解
エクスプローラが、巨大ファイルのメタ情報(ここでは恐らく更新日時)を何度も取得or取得試行を行い、APIの何かしらの制限に引っかかった。
疑問点①
上のJSON内で”Range: bytes=7674628622-12411441093″とあったが、更新日時を参照するのに3GBもアクセスが必要か?
→ファイル固有の問題かも、ある特定のファイル(だいたい5個くらいの中から見当は付いている)がある場合は100%再現される。
→それよりも、ログを見るとだいたい1秒に平均で1.7回くらいリクエストを送っているので、そっちの方が怪しい?
→それなら他のフォルダでも再現されるはずだけど、DFS内のsqliteでキャッシュか何かを保存してるっぽい?
→以下のサイトのようにAPIリクエスト数の増加申請を送ったら改善するか聞いたが、そこの問題ではないとの回答(試したが効果無し)
疑問点②(ここが一番理解できていない)
実は2020年3月まで所属していた大学のG Suite for Educationで、ほぼ同じファイル・フォルダ数を保存していたが、このような現象は全く起こらなかった。
→EducationとBusinessで何か違いがあるのか聞いたが、名称の違いで中身はほぼ相違無しとの回答
Googleサポートさんの見解
過去の事例を確認致しましたところ、当該エラーは、 Drive File Stream のアプリケーションそのものというよりも、ダウンロード操作数の制限により発生している可能性が高い可能性がございます。
この制限というのは、G Suite をご利用の皆様全員に対して、平均的に快適なトラフィックを提供するという考えのもと設けられております。
G Suiteサポートとのメールから引用
こちらについて社内文書も含めて確認しておりますが、本制限に至る条件などの情報が共有されておらず、具体的なご案内ができかねる状況でございます。
なんか見たことある感覚だなと思ったら、ビジネス版OneDriveで75TB使った方を思い出しました。
仕方ないですね。
解決策
王道の解決策
Drive File Stream のログアウト
こちらの対策1
Drive File Stream のアンインストール(キャッシュフォルダ削除含む)
上のサイトの対策2
Windows ディフェンダーの除外項目設定
G:
%PROGRAMFILES%\Google\Drive File Stream
%LOCALAPPDATA%\Google\DriveFS\
最終手段
他のユーザーアカウントにコピーしてダウンロード
ユーザー単位で制限がかかっている場合、解決するかも。
ブラウザ版Google Driveから、他のユーザー(G Suite組織外でも可、共有設定は管理者へ確認)と利用したいファイルを共有し、他のユーザーでファイルを右クリック→コピーを作成で、ファイルがコピーされダウンロードできるようになる。
ブラウザのGoogle Driveから閲覧
画像や動画なら、ブラウザ版Google Driveでプレビューとして見ることはできます。
(ダウンロードは不可)
24時間ほど待つ
APIの制限は太平洋時間0時にリセットされるので、それまで待つ。
下はGoogleアナリティクスの制限だが、GoogleのAPIはだいたい同じ時間にリセットされる。
本でも読んで待ってましょう。
まとめ
まあ、Googleからしたら容量バカ食いユーザーの一員として見られているはずなので、節度を守って運用していきます。
コメント