Mit der Vault API können Sie Vault-Exporte verwalten. Sie haben folgende Möglichkeiten:
Exporte erstellen: Sie senden eine Anfrage an Vault, um die Nachrichten oder Dateien zu finden, die Ihrer Suchanfrage entsprechen, und exportieren sie dann in Google Cloud.
Hinweis:Sie können innerhalb Ihrer Organisation maximal 20 Exporte gleichzeitig ausführen. Um die Leistung zu verbessern, sollten Sie große Exporte in kleinere Sets aufteilen. Sie können den Export beispielsweise nach Monat aufteilen, anstatt alles auf einmal zu exportieren. Ein weiteres Beispiel ist die Aufnahme weniger Entitäten (z. B. Nutzer und spezielle Entitäten wie Gruppen, Chatbereiche usw.) in jeden Export.
Beispiele:
Exporte auflisten: Hier können Sie den Status aller Exporte abrufen, die mit einer Anfrage verknüpft sind.
Exporte abrufen: Hier können Sie Informationen zu einem Export abrufen.
Exporte herunterladen: Sie können einen Export aus Google Cloud herunterladen.
Exporte löschen: Sie können Exporte aus einer Angelegenheit entfernen, wenn sie nicht mehr benötigt werden.
Hinweis
Folgen Sie der Kurzanleitung für Ihre Programmiersprache, um die erforderlichen Bibliotheken und die Authentifizierung einzurichten.
Damit das Konto mit Vault-Ressourcen arbeiten kann, muss es die erforderlichen Vault-Berechtigungen haben und Zugriff auf die Angelegenheit haben. Damit ein Konto auf eine Rechtsangelegenheit zugreifen kann, muss es die Rechtsangelegenheit erstellt oder die Freigabe erhalten haben oder die Berechtigung Alle Rechtsangelegenheiten abrufen haben.
Gmail-Export erstellen
Im folgenden Beispiel wird gezeigt, wie ein Gmail-Export erstellt wird. Bei dieser Anfrage werden alle Gmail- und klassischen Hangouts-Nachrichten exportiert, die die folgenden Kriterien erfüllen:
- Nachrichten, die den Konten
email1
undemail2
gehören. - Nachrichtenentwürfe werden nicht berücksichtigt.
- Nachrichten, die an
ceo@solarmora.com
gesendet werden.
Tipp:In diesen Beispielen wird das klassische Gmail-Exportsystem verwendet. Wenn Sie mit dem neuen Exportsystem exportieren möchten, setzen Sie in MailExportOptions useNewExport
auf „wahr“.
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()
Google Drive-Export erstellen
Im folgenden Beispiel wird gezeigt, wie ein Drive-Export erstellt wird. Bei dieser Anfrage werden alle Dateien exportiert, einschließlich derjenigen in geteilten Ablagen, die die folgenden Kriterien erfüllen:
- zur angegebenen Organisationseinheit gehören (die mit dem Admin SDK abgerufen wurde).
zwischen den angegebenen Zeiten erstellt wurden.
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 ein Meet-Export erstellt wird. Mit dieser Anfrage werden Dateien exportiert, die mit Konten in der angegebenen Organisationseinheit verknüpft sind und einen Dateinamen haben, der dem Muster für Meet-Aufzeichnungen entspricht.
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
Im folgenden Beispiel wird gezeigt, wie Sie eine Liste der mit einer Anfrage 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 Herunterladen exportierter Dateien und Nachrichten verwenden Sie Cloud APIs (siehe nächstes 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 auf einmal aus Google Cloud herunterladen. Für diese Anfrage werden die Vault- und Cloud APIs verwendet.
Hinweis:Zum Herunterladen eines Exports benötigt ein Konto die Berechtigung „Exporte verwalten“ und die mit ihm geteilte Rechtsangelegenheit.
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
Im folgenden Beispiel wird gezeigt, 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()
App-spezifische Informationen zu Suche und Export, einschließlich Suchlimits, finden Sie im Hilfeartikel Jetzt mit den Such- und Exportfunktionen starten.