aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore/Azure.php
diff options
context:
space:
mode:
authorThomas Citharel <tcit@tcit.fr>2022-09-01 17:28:18 +0200
committerJohn Molakvoæ <skjnldsv@users.noreply.github.com>2024-01-18 12:34:30 +0100
commitdd510dfe70782fba38d068e9180fe95cf9bf5a5a (patch)
tree0949769a9b5a111373a03022984ad07c1f415966 /lib/private/Files/ObjectStore/Azure.php
parent1334055ab8d07f2a02806dc68235413b72903218 (diff)
downloadnextcloud-server-instance-quota.tar.gz
nextcloud-server-instance-quota.zip
Allow to mesure free space in object storages, based on used size and quotainstance-quota
If the object storage backend doesn't return quota or used bytes information, use a config override for the quota and count the size used in Nextcloud instead. Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'lib/private/Files/ObjectStore/Azure.php')
-rw-r--r--lib/private/Files/ObjectStore/Azure.php14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/private/Files/ObjectStore/Azure.php b/lib/private/Files/ObjectStore/Azure.php
index 553f593b299..24362647619 100644
--- a/lib/private/Files/ObjectStore/Azure.php
+++ b/lib/private/Files/ObjectStore/Azure.php
@@ -25,6 +25,7 @@ namespace OC\Files\ObjectStore;
use MicrosoftAzure\Storage\Blob\BlobRestProxy;
use MicrosoftAzure\Storage\Blob\Models\CreateBlockBlobOptions;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
+use OCP\Files\FileInfo;
use OCP\Files\ObjectStore\IObjectStore;
class Azure implements IObjectStore {
@@ -133,4 +134,17 @@ class Azure implements IObjectStore {
public function copyObject($from, $to) {
$this->getBlobClient()->copyBlob($this->containerName, $to, $this->containerName, $from);
}
+
+ public function bytesUsed(): int {
+ // The only way to get the bytes used is by listing every object
+ // in the blob and sum their size
+ return FileInfo::SPACE_UNKNOWN;
+ }
+
+ public function bytesQuota(): int {
+ // Azure doesn't have a way to set a quota on a specific blob container,
+ // only on a storage account
+ // https://learn.microsoft.com/en-us/answers/questions/627442/blob-general-v2-container-quota.html
+ return FileInfo::SPACE_UNLIMITED;
+ }
}