Есть ли способ загрузить экспортированные данные из Google Vault Export? - PullRequest
0 голосов
/ 01 ноября 2018

Из документации по https://developers.google.com/vault/guides/exports, Мне удалось создать, перечислить и получить экспорт, но я не нашел способа загрузить экспортированные данные, связанные с конкретным экспортом. Есть ли способ загрузить экспортированные файлы через API или это доступно только через пользовательский интерфейс хранилища?

В метаданных экспорта есть ключ cloudStorageSink, но попытка использовать значения, предоставленные с помощью API облачного хранилища, приводит к общей проблеме с разрешениями.

Пример ответа экспорта метаданных:

{
    "status": "COMPLETED",
    "cloudStorageSink": {
        "files": [
            {
                "md5Hash": "da5e3979864d71d1e3ac776b618dcf48",
                "bucketName": "408d9135-6155-4a43-9d3c-424f124b9474",
                "objectName": "a740999b-e11b-4af5-b8b1-6c6def35d677/exportly-41dd7886-fe02-432f-83c-a4b6fd4520a5/Test_Export-1.zip",
                "size": "37720"
            },
            {
                "md5Hash": "d345a812e15cdae3b6277a0806668808",
                "bucketName": "408d9135-6155-4a43-9d3c-424f124b9474",
                "objectName": "a507999b-e11b-4af5-b8b1-6c6def35d677/exportly-41dd6886-fb02-4c2f-813c-a4b6fd4520a5/Test_Export-metadata.xml",
                "size": "8943"
            },
            {
                "md5Hash": "21e91e1c60e6c07490faaae30f8154fd",
                "bucketName": "408d9135-6155-4a43-9d3c-424f124b9474",
                "objectName": "a503959b-e11b-4af5-b8b1-6c6def35d677/exportly-41dd6786-fb02-42f-813c-a4b6fd4520a5/Test_Export-results-count.csv",
                "size": "26"
            }
        ]
    },
    "stats": {
        "sizeInBytes": "46689",
        "exportedArtifactCount": "7",
        "totalArtifactCount": "7"
    },
    "name": "Test Export",
    ...
}

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Существует два подхода, которые могут выполнить требуемое действие:

Первый:
использование обновлений OAuth 2.0 и ключей доступа, однако это требует вмешательства пользователя, подтверждающего доступ к вашему приложению. Вы можете найти хорошую игровую площадку от Google и дополнительную информацию здесь: https://developers.google.com/oauthplayground/.

  1. Сначала вам нужно будет выбрать нужный API (в вашем случае это: https://www.googleapis.com/auth/devstorage.full_controll в разделе Cloud Storage JSON API v1 .
  2. Затем вам нужно будет войти в систему с учетной записью admin и нажать: «Код авторизации Exchange для токенов» (поля «Обновить токен» и «Токен доступа» будет заполнен автоматически).
  3. Наконец, вам нужно будет выбрать правильный URL для выполнения вашего запроса. Я предлагаю использовать «Список возможных операций» , чтобы выбрать правильный URL. Вам нужно будет выбрать «Получить объект - получить объект» в Cloud Storage API v1 (обратите внимание, что есть несколько опций с именем - «Получить объект» , обязательно выберите один из них в Cloud Storage API v1 , а не в Cloud Storage JSON API v1 ). Теперь просто введите ваш контейнер и имя объекта в соответствующие заполнители и нажмите Отправить запрос .

Второй:
Загрузите его программным способом, используя клиентские библиотеки Google. Это подход, предложенный @ darkfolcer , однако я считаю, что предоставленная Google документация недостаточна и, следовательно, не очень помогает. Если вам поможет пример с Python, вы можете найти его в ответе на следующий вопрос - Как загрузить файлы из экспорта в Google Vault сразу после его создания с помощью Python API?

0 голосов
/ 05 ноября 2018

После того, как все экспорты созданы, вам нужно дождаться их завершения. Вы можете использовать https://developers.google.com/vault/reference/rest/v1/matters.exports/list, чтобы проверить состояние каждого экспорта в вопросе. В ответе обратитесь к массиву «export» и проверьте значение «status» для каждого, можно загрузить любой, который говорит «COMPLETED».

Чтобы загрузить завершенный экспорт, перейдите к объекту «cloudStorageSink» каждого экспорта и примите значения «bucketName» и «objectName» первой записи в массиве «files». Вам нужно будет использовать Cloud Storage API и эти два значения для загрузки файлов. На этой странице приведены примеры кода для всех популярных языков и с использованием API https://cloud.google.com/storage/docs/downloading-objects#storage-download-object-cpp.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...