Mit der Vault API können Sie Vault-Exporte verwalten. Sie können:
Exporte erstellen: Senden Sie eine Anfrage an Vault, um die Nachrichten oder Dateien zu finden, die Ihrer Abfrage entsprechen, und exportieren Sie sie in Google Cloud.
Hinweis:Sie können in Ihrer Organisation maximal 20 Exporte gleichzeitig ausführen. Teilen Sie große Exporte in kleinere Gruppen auf, um die Leistung zu verbessern. Beispielsweise können Sie den Export nach Monat aufteilen, anstatt alles auf einmal zu exportieren. Ein weiteres Beispiel ist, weniger Entitäten (wie Nutzer und spezielle Entitäten wie Gruppen, Chatbereich usw.) in die einzelnen Exporte aufzunehmen.
Beispiele:
Exporte auflisten: Ruft den Status aller Exporte ab, die mit einer Rechtsangelegenheit verknüpft sind.
Exporte abrufen: Informationen zu einem Export abrufen.
Exporte herunterladen: Hiermit können Sie einen Export aus Google Cloud herunterladen.
Exporte löschen: Exporte aus einer Rechtsangelegenheit werden entfernt, wenn sie nicht mehr benötigt werden.
Hinweis
Arbeiten Sie die Kurzanleitung für Ihre Programmiersprache durch, um die erforderlichen Bibliotheken und die Authentifizierung einzurichten.
Damit Sie mit Vault-Ressourcen arbeiten können, muss das Konto die erforderlichen Vault-Berechtigungen und Zugriff auf die Rechtsangelegenheit haben. Damit Sie auf eine Rechtsangelegenheit zugreifen können, muss sie für das Konto erstellt worden sein, sie muss für sie freigegeben sein oder die Berechtigung Alle Rechtsangelegenheiten abrufen haben.
Gmail-Export erstellen
Im folgenden Beispiel wird gezeigt, wie Sie einen Gmail-Export erstellen. Bei dieser Anfrage werden alle Nachrichten aus Gmail und dem klassischen Hangouts exportiert, die die folgenden Kriterien erfüllen:
- Nachrichten, die zu den Konten
email1
undemail2
gehören. - Nachrichtenentwürfe werden nicht berücksichtigt.
- Nachrichten an
ceo@solarmora.com
gesendet.
Tipp:In diesen Beispielen wird das klassische Gmail-Exportsystem verwendet. Für den Export mit dem neuen Exportsystem setzen Sie in MailExportOptions den Wert useNewExport
auf „true“.
Java
public Export createMailAccountHeldDataExports(Vault client, String matterId) {
AccountInfo emailsToSearch = new AccountInfo().setEmails(ImmutableList.of("email1", "email2"));
MailOptions mailQueryOptions = new MailOptions().setExportFormat("PST");
String queryTerms = "to:ceo@solarmora.com";
Query mailQuery =
new Query()
.setCorpus("MAIL")
.setDataScope("HELD_DATA")
.setSearchMethod("ACCOUNT")
.setAccountInfo(emailsToSearch)
.setTerms(queryTerms)
.setMailOptions(mailQueryOptions);
MailExportOptions mailExportOptions =
new MailExportOptions()
.setExportFormat("MBOX")
.showConfidentialModeContent(true);
Export wantedExport =
new Export()
.setMatterId(matterId)
.setName("My first mail accounts export")
.setQuery(mailQuery)
.setExportOptions(new ExportOptions().setMailOptions(mailExportOptions));
return client.matters().exports().create(matter, wantedExport).execute();
}
Python
def create_mail_account_held_data_export(service, matter_id):
emails_to_search = ['email1', 'email2']
mail_query_options = {'excludeDrafts': True}
query_terms = 'to:ceo@solarmora.com'
mail_query = {
'corpus': 'MAIL',
'dataScope': 'HELD_DATA',
'searchMethod': 'ACCOUNT',
'accountInfo': {
'emails': emails_to_search
},
'terms': query_terms,
'mailOptions': mail_query_options,
}
mail_export_options = {
'exportFormat': 'MBOX',
'showConfidentialModeContent': True
}
wanted_export = {
'name': 'My first mail accounts export',
'query': mail_query,
'exportOptions': {
'mailOptions': mail_export_options
}
}
return service.matters().exports().create(
matterId=matter_id, body=wanted_export).execute()
Drive-Export erstellen
Das folgende Beispiel zeigt, wie Sie einen Drive-Export erstellen. Bei dieser Anfrage werden alle Dateien exportiert, einschließlich der Dateien in geteilten Ablagen, die die folgenden Kriterien erfüllen:
- gehören zur angegebenen Organisationseinheit (mit dem Admin SDK abgerufen).
wurden zwischen den angegebenen Zeiten erstellt.
Java
public Export createDriveOuAllDataExport(Vault client, String matterId) {
OrgUnitInfo ouToSearch = new OrgUnitInfo().setOrgUnitId("ou id retrieved from admin sdk");
DriveOptions driveQueryOptions = new DriveOptions().setIncludeSharedDrives(true);
Query driveQuery =
new Query()
.setCorpus("DRIVE")
.setDataScope("ALL_DATA")
.setSearchMethod("ORG_UNIT")
.setOrgUnitInfo(ouToSearch)
.setDriveOptions(driveQueryOptions)
.setStartTime("2017-03-16T00:00:00Z")
.setEndTime("2017-03-16T00:00:00Z")
.setTimeZone("Etc/GMT+2");
DriveExportOptions driveExportOptions = new DriveExportOptions().setIncludeAccessInfo(false);
Export wantedExport =
new Export()
.setName("My first drive ou export")
.setQuery(driveQuery)
.setExportOptions(new ExportOptions().setDriveOptions(driveExportOptions));
return client.matters().exports().create(matter, wantedExport).execute();
}
Python
def create_drive_ou_all_data_export(service, matter_id):
ou_to_search = 'ou id retrieved from admin sdk'
drive_query_options = {'includeSharedDrives': True}
drive_query = {
'corpus': 'DRIVE',
'dataScope': 'ALL_DATA',
'searchMethod': 'ORG_UNIT',
'orgUnitInfo': {
'org_unit_id': ou_to_search
},
'driveOptions': drive_query_options,
'startTime': '2017-03-16T00:00:00Z',
'endTime': '2017-09-23T00:00:00Z',
'timeZone': 'Etc/GMT+2'
}
drive_export_options = {'includeAccessInfo': False}
wanted_export = {
'name': 'My first drive ou export',
'query': drive_query,
'exportOptions': {
'driveOptions': drive_export_options
}
}
return service.matters().exports().create(
matterId=matter_id, body=wanted_export).execute()
Meet-Export erstellen
Im folgenden Beispiel wird gezeigt, wie Sie einen Meet-Export erstellen. Bei dieser Anfrage werden Dateien exportiert, die mit Konten in der angegebenen Organisationseinheit verknüpft sind, deren Dateiname dem Muster für Meet-Aufzeichnungen folgt.
Python
def create_meet_export(service, matter_id, ou_to_search, export_name):
export = {
'name': export_name,
'query': {
'corpus': 'DRIVE',
'dataScope': 'ALL_DATA',
'searchMethod': 'ORG_UNIT',
'terms': 'title:"...-...-... \\(....-..-.. at ..:.. *\\)"',
'orgUnitInfo': {
'orgUnitId': 'id:'+ou_to_search
},
'driveOptions': {
'includeTeamDrives': True,
'includeSharedDrives': True
},
'timeZone': 'Etc/GMT',
'method': 'ORG_UNIT'
},
'exportOptions': {
'driveOptions': {},
'region': 'ANY'
},
}
return service.matters().exports().create(
matterId=matter_id, body=export).execute()
Aus einer gespeicherten Abfrage exportieren
Im folgenden Beispiel wird gezeigt, wie Sie einen Export aus einer gespeicherten Abfrage erstellen.
Python
def create_mail_export_from_saved_query(service, matter_id, saved_query_id, export_name):
export = {
'name': export_name,
'exportOptions': {
'mailOptions': {
'exportFormat': 'PST',
'showConfidentialModeContent': True
},
'region': 'ANY'
}
}
export['query'] = service.matters().savedQueries().get(
savedQueryId=saved_query_id, matterId=matter_id).execute()['query']
return service.matters().exports().create(
matterId=matter_id, body=export).execute()
Exporte auflisten
Das folgende Beispiel zeigt, wie Sie eine Liste der mit einer Rechtsangelegenheit verknüpften Exporte abrufen.
Java
public class exports {
public ListExportsResponse listExports(Vault client, String matterId) {
return client.matters().exports().list(matterId).execute();
}
Python
def list_exports(service, matter_id):
return service.matters().exports().list(matterId=matter_id).execute()
Informationen zu einem Export abrufen
Das folgende Beispiel zeigt, wie Sie Informationen zu einem bestimmten Export abrufen. Hinweis: Zum Exportieren von exportierten Dateien und Nachrichten verwenden Sie Cloud APIs (im nächsten Beispiel).
Java
public Export getExportById(Vault client, String matterId, String exportId) {
return client.matters().exports().get(matterId, exportId).execute();
}
Python
def get_export_by_id(service, matter_id, export_id):
return service.matters().exports().get(
matterId=matter_id, exportId=export_id).execute()
Export aus Google Cloud herunterladen
Im folgenden Beispiel wird gezeigt, wie Sie alle abgeschlossenen Exporte in einer Rechtsangelegenheit aus Google Cloud herunterladen. Diese Anfrage verwendet Vault und Cloud APIs.
Hinweis: Ein Konto benötigt die Berechtigung Exporte verwalten und die Rechtsangelegenheit, um einen Export herunterzuladen.
Python
def download_exports(service, matter_id):
"""Google Cloud storage service is authenticated by running
`gcloud auth application-default login` and expects a billing enabled project
in ENV variable `GOOGLE_CLOUD_PROJECT` """
gcpClient = storage.Client()
matter_id = os.environ['MATTERID']
for export in vaultService.matters().exports().list(
matterId=matter_id).execute()['exports']:
if 'cloudStorageSink' in export:
directory = export['name']
if not os.path.exists(directory):
os.makedirs(directory)
print(export['id'])
for sinkFile in export['cloudStorageSink']['files']:
filename = '%s/%s' % (directory, sinkFile['objectName'].split('/')[-1])
objectURI = 'gs://%s/%s' % (sinkFile['bucketName'],
sinkFile['objectName'])
print('get %s to %s' % (objectURI, filename))
gcpClient.download_blob_to_file(objectURI, open(filename, 'wb+'))
Export löschen
Das folgende Beispiel zeigt, wie ein Export gelöscht wird.
Java
public void deleteExportById(Vault client, String matterId, String exportId) {
client.matters().exports().delete(matterId, exportId).execute();
Python
def delete_export_by_id(service, matter_id, export_id):
return service.matters().exports().delete(
matterId=matter_id, exportId=export_id).execute()
Weitere Informationen zu Such- und Exportfunktionen