Подключение источников из облачного хранилища в Analytic Workspace

Введение

В любой организации с каждым днем количество файлов увеличивается, и в какой-то момент ручная загрузка становится неудобной и трудоемкой. Сегодня мы рассмотрим, как можно решить эту проблему.

Analytic Workspace позволяет загружать не только отдельные файлы, но и целые архивы (поддерживаемые форматы: zip, rar, 7z, tar, gz). Однако важно учитывать, что файлы извлекаются из архива рекурсивно, то есть включая все вложенные папки, структура файлов должна быть идентичная, так как файлы склеиваются в один, как union all.

А что делать, если мы не хотим формировать архивы?

В таких случаях на помощь приходят облачные хранилища. Analytic Workspace позволяет загружать данные напрямую из SFTP-папок, хранилищ S3 или Яндекс.Диска, используя функцию загрузки файлов по ссылке. Подробнее всегда можно посмотреть в документации

Ниже рассмотрим примеры строк подключения, автоматическую загрузку нескольких файлов с Яндекс.Диска, а также пошагово разберем процесс получения необходимого токена. Для вашего удобства мы подготовили краткое видео, которое наглядно демонстрирует процесс подключения к диску, а также подробные инструкции ниже. Поехали!

Как подключиться к Яндекс-диску

Строка подключения к Яндекс.Диску выглядит следующим образом:

yadisk://< TOKEN >@disk.yandex.ru/< PATH >

Где:

  • yadisk:// — обязательный для подключения к Яндекс.Диску префикс.
  • TOKEN — необязательный токен доступа. Если он не указан в строке подключения, его можно задать в поле «Пароль» в окне редактирования.
  • PATH — путь к папке или файлу внутри Диска.

Примеры строк подключения:

  • yadisk://disk.yandex.ru/Моя папка
  • yadisk://disk.yandex.ru/Моя папка/Мой файл.xlsx
  • yadisk://y0_AfAAAAAADKnZsmCHoAAAAAThkWHZZFzWPe6tTQcSM4fFjyWlGA-2aSQ2cWSRAb3@disk.yandex.ru/Моя папка

Получение токена доступа

  1. Перейдите по ссылке: https://oauth.yandex.ru/. При необходимости авторизуйтесь, используя логин и пароль от аккаунта Яндекса.
  2. Перейдите по ссылке: https://oauth.yandex.ru/client/new/ и зарегистрируйте новое приложение.
  • Заполните поле «Название сервиса» (например, Analytic Workspace).
  • Установите флажок в поле «Веб-сервисы».
  • В поле «Redirect URL» выберите пункт «Подставить URL для отладки».
  1. Добавьте необходимые права доступа:
  • «Доступ к папке приложения на Диске»
  • «Чтение всего диска»
  • «Доступ к информации о Диске»
  1. После создания приложения перейдите по ссылке:
    Авторизация<id_приложения>
    Замените <id_приложения> на ClientID вашего приложения. Он будет показан сразу после создания.
  2. После перехода по ссылке будет показан токен доступа. Скопируйте его и держите в секрете.

Видео-инструкция

Мы подготовили краткое видео, которое наглядно демонстрирует процесс получения токена и подключения к Яндекс.Диску:

А как получать актуальные отчеты на основе файлов?

После подключения к Яндекс.Диску, давайте вернемся к нашей первоначальной задаче. Рассмотрим пример с синтетическими данными, который легко масштабировать под конкретные задачи.

Предположим, есть файлы с данными по товарным позициям за январь, февраль, март и апрель. Задача состоит в том, чтобы раз в месяц загружать новый файл в облако, обеспечивая актуальность всех отчетов.

Для этого в списке источников данных необходимо добавить новый источник с подключением к конкретной папке на Яндекс.Диске. В источниках данных выберите тип “Файл”, укажите вариант загрузки “Ссылка”, пропишите путь к папке и введите токен в поле “Пароль”. После этого нажмите “Сохранить”.

процесс загрузки файла по ссылке через AW (папка на Я.Диске: …/Test_Files)

В систему загрузились данные, которые находились в папке на Яндекс.Диске, а именно файл с данными за январь. При добавлении нового файла в эту папку, Analytic Workspace автоматически обновит показатели в ранее созданном источнике данных.

Теперь можно добавить этот источник в модель и на ее основе построить первый виджет с аналитикой продаж товарных позиций за январь. Например, товары, проданные в количестве более 100 штук, можно выделить на графике зеленым цветом.

наш первый построенный виджет на основе данных из облачного хранилища

Вернёмся в модель и на вкладке настроек зададим расписание обновления. Это позволит автоматически поддерживать актуальность данных в виджетах и дашбордах, в соответствии с заданным расписанием.

Теперь, добавляя новые данные на Яндекс.Диск, мы можем быть уверены, что они автоматически подтянутся в систему. После этого модель обновится, и виджет перестроится с учетом новых показателей.

График с продажами автоматически изменил свои показатели

Обратите внимание, что теперь не 1, а 2 товарные позиции проданы в количестве более 100 штук.

Настроив такой процесс взаимодействия с облачными источниками данных один раз, вы можете быть уверены, что ваш дашборд каждый месяц будет автоматически обновляться и показывать самую актуальную информацию о товарах.

Есть только парочка важных примечаний:

  • Не выполняется рекурсивный обход указанной в строке подключения папки, то есть подключаются только те файлы, которые содержатся непосредственно в указанной папке (вложенные подпапки игнорируются).
  • В качестве файлов можно указывать в т.ч. и архивы.
1 лайк