Добавление дополнительного столбца в набор данных может рассматриваться как преобразование, и задача копирования фабрики данных Azure v2 (ADF v2) не легко поддается преобразованию.Он может выполнять несколько вещей, например конвертировать из одного формата (например, CSV) в другие форматы (например, JSON), но он ограничен.Возможно, в какой-то момент в будущем они добавят в сопоставление что-то, что позволит добавлять строковые литералы или что-то похожее на функцию производных столбцов служб SSIS, но эти типы функций добавляются в сопоставление потоков данных в тот момент, когда это кажется.
Однако одним из способов достижения этого является использование цели хранимой процедуры с параметром для имени файла и параметром типа таблицы для основного набора данных.Это выглядит примерно так:
Недостатком является то, что теперь вам необходимо создать вспомогательный тип таблицы в вашей базе данных (CREATE TYPE
) и хранимый процесс для его обработки, что-то вроде этого:
CREATE TYPE dbo.typ_multiFile AS TABLE (
col1 CHAR(1) NOT NULL,
col2 CHAR(1) NOT NULL,
col3 CHAR(1) NOT NULL
)
GO
CREATE OR ALTER PROC dbo.usp_ins_myTable (
@fileName AS VARCHAR (100),
@typ AS dbo.typ_multiFile READONLY
)
AS
SET NOCOUNT ON
INSERT INTO dbo.myTable ( [fileName], col1, col2, col3 )
SELECT @fileName, col1, col2, col3
FROM @typ
RETURN
GO
Обратите внимание, что задача копирования находится внутри задачи ForEach, согласно этой диаграмме: