Как ежедневно перезаписывать файл в хранилище BLOB-объектов и загружать его во внешнюю таблицу - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь создать пакет служб SSIS с хранилищем BLOB-объектов.Я хочу перезаписать файл в blob с последним файлом и хочу загрузить файл во внешнюю таблицу.Не могли бы вы помочь любому органу, как это осуществить.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Я делаю это с SSIS.Вам не нужно использовать фабрику данных.Конечно, как и все, есть много способов сделать то же самое.На высоком уровне вот что я делаю в своем пакете служб SSIS:

  • Задача потока данных - я создаю плоский файл из источника данных OLEDB.
  • Задача загрузки BLOB-объектов Azure - Я загружаю файл в хранилище BLOB-объектов Azure
  • Выполнение задачи SQL - Я выполняю хранимую процедуру, которая массово вставляет данные из большого двоичного объекта втаблица в Azure SQL.
  • Задача файловой системы - Я удаляю локальную копию файла.

Вот некоторые предварительные условия: 1. Выполните следующеезаявление для учетной записи, которую вы используете для подключения к SQL Azure: GRANT ADMINISTER DATABASE BULK OPERATIONS to <login>

Создание учетных данных базы данных с областью действия:

СОЗДАНИЕ КРЕДИТНОЙ ОБЛАСТИ БАЗЫ ДАННЫХ myScopedCredential WITH IDENTITY = 'ПОДПИСЬ ОБЩЕГО ДОСТУПА', SECRET = '';--Вставьте ПОДПИСАННУЮ ПОДПИСЬ ДОСТУПА с портала Azure здесь

Создайте внешний источник данных, например так:

СОЗДАЙТЕ ИСТОЧНИК ВНЕШНИХ ДАННЫХ myExternalDataSource WITH (TYPE = BLOB_STORAGE, LOCATION = 'https://myAzureAccount.blob.core.windows.net/myContainer', CREDENTIAL = myScopedCredential);

Создайте файл формата, описывающий файл, который вы массово импортируете в SQL Server.Это самая запутанная часть процесса.Подробнее об этом здесь .

Ваш оператор вставки (или сохраненный процесс) будет выглядеть примерно так:

    BULK INSERT dbo.myTable FROM 'myContainer/myFile.txt' 
    WITH(DATA_SOURCE = 'myExternalDataSource',
    FORMATFILE = 'format/format_myFile.xml',
    FORMATFILE_DATA_SOURCE = 'myExternalDataSource')

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

0 голосов
/ 08 октября 2018

Перезапись файла может контролироваться действием перемещения данных, которое помещает данные в папку / местоположение импорта.Что касается автоматизации служб SSIS в Azure, вам понадобится фабрика данных Azure, поскольку она обеспечивает функциональные возможности служб SSIS в среде выполнения в Azure.А затем PowerShell можно использовать для автоматизации процесса: Предоставление среды выполнения интеграции Azure-SSIS в фабрике данных Azure с PowerShell

Загрузка данных в хранилище данных SQL Azure с интеграцией SQL ServerСлужбы (SSIS) Перемещение данных в хранилище BLOB-объектов Azure или из него с использованием соединителей SSIS

...