Google ドライブ APIで気をつけるべきポイント

Google ドライブ はAPIが公開されているため、開発者はAPIを利用して独自のアプリケーションを開発することができます。しかしながら、いくら莫大なコンピューティングリソースを保持する Google と言っても、無制限にAPIを実行できるわけではありません。今回は Google Drive APIの制限値について解説します。
Drive APIの制限値
Google Drive APIの制限値を以下にまとめました。公開されている情報もあれば、非公開情報もあります。
各制限 | 制限値 | 備考 |
---|---|---|
アップロード | 750GB/日/ユーザー | |
アップロード最大サイズ | 5TB | |
API実行回数(日) | 1,000,000,000回 | Google Cloud Platform の管理コンソール上で確認した時のデフォルトの制限値 |
API実行回数(100秒毎) | 10,000回 | Google Cloud Platform の管理コンソール上で確認した時のデフォルトの制限値 |
ダウンロード | 非公開 |
アップロード制限はほとんどの利用ケースで問題なし?
上表の通り、アップロードに対しては一日750GBの制限がありますが、これだけの容量があれば、ほとんどの要件で問題は発生しないのではないでしょうか。しかも、これはユーザー単位の制限です。750GB以上のファイルをアップロードしたい場合は、複数のユーザーアカウントを利用してアップロードすると良いでしょう。ただし、そもそも Google ドライブの保存容量が少なければ、前述した制限に関らず、大容量のファイルをアップロードすることはできません。それについては注意が必要です。
APIの秒間実行回数に注意
例えば、バッチ処理で大量のファイルに対してAPIを実行する場合は、APIの実行回数制限に注意が必要です。Google Cloud Platform で ドライブ APIのquotaを確認すると、100秒に10,000回の制限が記載されていますが、これは1秒単位にも制限が発生すると思われます(開発経験上の知見ですので、オフィシャルな情報ではありません)。APIのquotaは申請によって上げることも可能ですが、「指数バックオフ」によって制限エラー対策を行うことも可能です。「指数バックオフ」とは、待機時間を指数対数的に増やしながら、APIの再リトライを行う対応を指します。
ダウンロードの制限値は非公開
ドライブ APIのダウンロード制限値は公開されていませんが、以前ファイルを不特定、大多数のユーザーに公開した時に接続ができなかった事があります。一度制限が発生すると、Google が制限を解除するまで私たちは何もする事ができません。ダウンロードについては制限値が公開されていない以上、利用には注意が必要です。
APIの制限を考慮して開発を行おう
以上が主な Google ドライブ APIの制限値です。「こんな制限もあったんだ?」と思った方も多いのではないでしょうか。Google ドライブ APIの制限は Google ドライブの拡張開発を行う以上、避けては通れません。是非、ここまで説明した制限値を考慮した上で開発を行っていただければと思います。
今回のまとめ
- アップロードの制限値750GB/日/ユーザーはほとんどの要件で問題にならなそう
- APIの実行回数制限には秒間制限がある(と思われる)
- ダウンロード制限は非公開なので、利用には注意しよう