Exporte verwalten

Mit der Vault API können Sie Vault-Exporte verwalten. Sie haben folgende Möglichkeiten:

  • Exporte erstellen: Sie senden eine Anfrage an Vault, in der nach Nachrichten oder Dateien gesucht wird, die Ihrer Anfrage entsprechen, und exportieren sie nach Google Cloud.

    Hinweis:

    • In Ihrer Organisation können bis zu 20 Exporte gleichzeitig ausgeführt werden. Um Exporte zu beschleunigen, sollten Sie große Exporte in kleinere aufteilen. Exportieren Sie Daten beispielsweise monatsweise statt alle auf einmal. Eine weitere Möglichkeit besteht darin, weniger Elemente wie Nutzer, Gruppen oder Chatbereiche in jeden Export aufzunehmen.
    • Exporte sind nach der Erstellung 15 Tage lang verfügbar. Danach werden sie gelöscht und sind nicht mehr zugänglich.

    Beispiele:

  • Exporte auflisten: Ruft den Status aller Exporte ab, die mit einem Fall verknüpft sind.

  • Exporte abrufen: Informationen zu einem Export abrufen.

  • Exporte herunterladen: Sie können einen Export aus Google Cloud herunterladen.

  • Exporte löschen: Entfernen Sie Exporte aus einem Fall, wenn sie nicht mehr benötigt werden.

Hinweis

Um die erforderlichen Bibliotheken und die Authentifizierung einzurichten, arbeiten Sie die Schnellstartanleitung für Ihre Programmiersprache durch.

Für die Arbeit mit Vault-Ressourcen muss das Konto die erforderlichen Vault-Berechtigungen und Zugriff auf den Fall haben. Damit auf eine Rechtsangelegenheit zugegriffen werden kann, muss die Rechtsangelegenheit vom Konto erstellt oder für das Konto freigegeben worden sein oder das Konto muss die Berechtigung Alle Rechtsangelegenheiten abrufen haben.

Gmail-Export erstellen

Das folgende Beispiel zeigt, wie Sie einen Gmail-Export erstellen. Bei dieser Anfrage werden alle Gmail- und Hangouts-Nachrichten exportiert, die die folgenden Kriterien erfüllen:

  • Nachrichten, die den Konten email1 und email2 gehören.
  • Schließt Nachrichtenentwürfe aus.
  • Nachrichten, die an ceo@solarmora.com gesendet werden.

Hinweis:In diesen Beispielen wird das klassische Gmail-Exportsystem verwendet. Wenn Sie das neue Exportsystem verwenden möchten, setzen Sie in MailExportOptions 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

Im folgenden Beispiel wird gezeigt, wie ein Drive-Export erstellt wird. Bei dieser Anfrage werden alle Dateien exportiert, einschließlich der Dateien in geteilten Ablagen, die die folgenden Kriterien erfüllen:

  • zur angegebenen Organisationseinheit gehören (mit dem Admin SDK abgerufen).
  • 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. Bei dieser Anfrage werden Dateien exportiert, die mit Konten in der angegebenen Organisationseinheit verknüpft sind und deren Dateiname 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

Das folgende Beispiel zeigt, wie Sie eine Liste der Exporte abrufen, die mit einem Fall verknüpft sind.

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

Das folgende Beispiel zeigt, wie Sie alle abgeschlossenen Exporte in einem Vorgang aus Google Cloud herunterladen. Für diese Anfrage werden Vault- und Cloud-APIs verwendet.

Hinweis:Zum Herunterladen eines Exports benötigt ein Konto die Berechtigung „Exporte verwalten“ und die Rechtsangelegenheit muss für das Konto freigegeben sein.

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 zur Suche und zum Exportieren, einschließlich Suchlimits, finden Sie unter Einstieg in die Such- und Exportfunktionen in Vault.