Beispiele
1\. Dateien nach Erstellungszeit:
1. Dateien nach Erstellungszeit:
Gruppiert Dateien nach Jahr und Monat der Erstellung und gibt Größe und Anzahl zurück.
SELECT
YEAR(createTime) AS yr,
MONTH(createTime) AS mo,
SUM(size) AS totalSize,
COUNT(size) AS totalCount
GROUP BY
yr, mo
HAVING
totalCount > 0
ORDER BY
yr, mo;
2. Gesamtgröße der Unterverzeichnisse
Summiert die Größe und Anzahl der Dateien in allen Unterverzeichnissen.
SELECT
COMPONENTS(parentPath, 4) AS root,
SUM(size),
COUNT(name)
GROUP BY
root
ORDER BY root;
3. Klassifizierte Dateien nach Eigentümer zählen
Zählt die Anzahl der Dateien in jeder Klassifizierungskategorie nach Eigentümer.
SELECT
SUBSTR(classification, 1, 15) AS class,
osOwner,
COUNT(classification),
SUM(size)
GROUP BY
class, osOwner;
4. Top 10 Dokumente mit Wortsuche
Gibt die 10 größten Dokumente zurück, die ein Wort enthalten.
SET @@DEFAULT_COLUMNS=searchHit;
SELECT
name,
size,
createTime,
modifyTime,
searchHit
WHICH CONTAIN ANY ('quido');
5. Top 10 größte Dokumente mit Wörtern
Gibt die 10 größten Dokumente mit zwei Wörtern in der Nähe zueinander zurück.
SELECT
localPath,
size,
context(1,3)
CONTAINING
NEAR('guido', 'issue')
ORDER BY
size DESC
LIMIT 10;'
6. Klassifizierungsverteilung:
Diese Anweisung fasst die verwendeten Klassifizierungen und deren Gesamtgröße für jede Klassifizierung zusammen. Beachten Sie, dass Dateien, die auf mehrere Arten klassifiziert sind, in beiden Klassifizierungsgruppen erscheinen. Wenn Sie die Spalten summieren, ergeben sie daher nicht die Gesamtgröße des Datensatzes.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
classification AS Class,
COUNT(osOwner) as Files,
SUM(size) as "Size" ,
SUM(storageCost) as "Total_Storage"
GROUP BY
Class;
7. Klassifizierungsstatus:
Diese Anweisung ermittelt, warum eine Datei nicht indexiert/klassifiziert ist.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
path,
CASE
WHEN size = 0 THEN 'Zero Size'
WHEN INSTR(metadata, 'IsEncrypted') > 0 THEN 'Encrypted File'
WHEN !isIndexed THEN 'Not indexed'
WHEN classification = 'Unclassified' THEN 'No classifications'
ELSE 'Unknown'
END AS classificationState
FROM STORE('/')
WHERE
isObject AND
classification = 'Unclassified' AND
(
LENGTH(metadata) < 100 AND
metadata LIKE '%IsEncrypted%' OR
!isIndexed
);
8. Eigentümer mit Zugriff auf U.S. PII:
Diese Anweisung fasst die Daten zusammen, die allen Benutzern gehören, deren Dateien mit einer Klassifizierung beginnend mit U.S.* klassifiziert wurden.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
osOwner as Owner,
classification as "Classification",
COUNT(name) as "Total_Count",
SUM(size) as "Total_File_Size"
WHERE
classification like 'U.S.%'
GROUP BY
Owner,
Classification;
9. Eigentümer mit Klassifizierungen:
Diese Anweisung fasst die Daten zusammen, die allen Benutzern gehören, und deren Klassifizierungen.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
osOwner as Owner,
classification as "Classification",
COUNT(name) as "Total_Count",
SUM(size) as "Total_File_Size"
GROUP BY
Owner,
Classification;
11. Top 10 Datenspeicher-Verbraucher:
Diese Anweisung findet die 10 größten Datenverbraucher und die Kosten für die Datenspeicherung.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
osOwner,
COUNT(name) AS "File_Count",
SUM(size) AS "File_Size",
SUM(storageCost) AS "Total_Storage_Cost"
GROUP BY
Owner
ORDER BY
"File_Size" DESC
LIMIT
10;
12. Top 10 Verzeichnisse nach Größe:
Diese Anweisung findet die 10 größten Datenverzeichnisse.
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
parentPath AS "Root_Path",
COUNT(name) AS "File_Count",
SUM(size) AS "File_Size",
SUM(storageCost) as "Total_Storage_Cost"
GROUP BY
"Root_Path"
ORDER BY
"File_Size" DESC
LIMIT
10;
13. Benutzerzugriff auf geschützte Daten:
Diese Anweisung gibt alle Objekte zurück, auf die der angegebene Benutzer Berechtigungen hat und die sensible Daten enthalten.
-- Set the user we are looking for
SET @USER = 'USERNAME';
-- Turn off containers
SET @@LEFT_JOIN=false;
-- Issue the select statement
SELECT
osOwner as "Owner",
path as "Location",
classification as "Classification"
WHERE
osPermission like CONCAT('%/', @USER, '%') AND
classification like 'U.S.%';