Azure Data Factory — dokumentacja skryptów JSON

Uwaga

Ten artykuł dotyczy wersji 1 usługi Data Factory.

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można utworzyć nowych zasobów usługi Machine Learning Studio (klasycznej) (plan obszaru roboczego i usługi internetowej). Do 31 sierpnia 2024 r. możesz nadal korzystać z istniejących eksperymentów i usług internetowych usługi Machine Learning Studio (klasycznej).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Ten artykuł zawiera schematy JSON i przykłady definiowania jednostek usługi Azure Data Factory (potoku, działania, zestawu danych i połączonej usługi).

Uwaga

W tym artykule użyto modułu Azure Az programu PowerShell, który jest zalecanym modułem programu PowerShell do interakcji z platformą Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Potok

Struktura wysokiego poziomu definicji potoku jest następująca:

{
  "name": "SamplePipeline",
  "properties": {
    "description": "Describe what pipeline does",
    "activities": [
    ],
    "start": "2016-07-12T00:00:00",
    "end": "2016-07-13T00:00:00"
  }
}

W poniższej tabeli opisano właściwości definicji JSON potoku:

Właściwość Opis Wymagane
name Nazwa potoku. Określ nazwę reprezentującą akcję skonfigurowaną do wykonania działania lub potoku
  • Maksymalna liczba znaków: 260
  • Musi rozpoczynać się literą, cyfrą lub podkreśleniem (_)
  • Następujące znaki są niedozwolone: ".", "+", "?", "/", "<>","","*","%&","",":","\"
Tak
description (opis) Tekst opisujący sposób użycia działania lub potoku Nie
activities Zawiera listę działań. Tak
start Data rozpoczęcia potoku. Musi być w formacie ISO. Na przykład: 2014-10-14T16:32:41.

Istnieje możliwość określenia czasu lokalnego, na przykład czasu EST. Oto przykład: 2016-02-27T06:00:00**-05:00, czyli 6:00 EST.

Właściwości początkowe i końcowe razem określają aktywny okres dla potoku. Wycinki danych wyjściowych są tworzone tylko w tym aktywnym okresie.
Nie

Jeśli określisz wartość właściwości końcowej, musisz określić wartość właściwości start.

Czasy rozpoczęcia i zakończenia mogą być puste, aby utworzyć potok. Należy określić obie wartości, aby ustawić aktywny okres uruchomienia potoku. Jeśli nie określisz czasów rozpoczęcia i zakończenia podczas tworzenia potoku, możesz je ustawić przy użyciu polecenia cmdlet Set-AzDataFactoryPipelineActivePeriod później.
end Data zakończenia potoku. Jeśli określono, musi być w formacie ISO. Na przykład: 2014-10-14T17:32:41

Istnieje możliwość określenia czasu lokalnego, na przykład czasu EST. Oto przykład: 2016-02-27T06:00:00**-05:00, czyli 6:00 EST.

Aby uruchomić potok bezterminowo, określ 9999-09-09 jako wartość właściwości end.
Nie

Jeśli określisz wartość właściwości start, musisz określić wartość właściwości końcowej.

Zobacz uwagi dotyczące właściwości start .
isPaused Jeśli ustawiono wartość true, potok nie zostanie uruchomiony. Wartość domyślna = false. Tej właściwości można użyć do włączenia lub wyłączenia. Nie
pipelineMode Metoda planowania przebiegów dla potoku. Dozwolone wartości to: zaplanowane (domyślne), jednorazowe.

"Zaplanowane" wskazuje, że potok działa w określonym przedziale czasu zgodnie z jego aktywnym okresem (godzina rozpoczęcia i zakończenia). "Onetime" wskazuje, że potok działa tylko raz. Potoki jednorazowe po utworzeniu nie mogą być modyfikowane/aktualizowane obecnie. Aby uzyskać szczegółowe informacje o ustawieniu jednorazowego czasu, zobacz Potok onetime .
Nie
expirationTime Czas trwania po utworzeniu, dla którego potok jest prawidłowy i powinien pozostać aprowizowany. Jeśli nie ma żadnych aktywnych, nieudanych lub oczekujących przebiegów, potok zostanie usunięty automatycznie po osiągnięciu czasu wygaśnięcia. Nie

Działanie

Struktura wysokiego poziomu dla działania w ramach definicji potoku (elementu działania) jest następująca:

{
    "name": "ActivityName",
    "description": "description",
    "type": "<ActivityType>",
    "inputs":  "[]",
    "outputs":  "[]",
    "linkedServiceName": "MyLinkedService",
    "typeProperties":
    {

    },
    "policy":
    {
    },
    "scheduler":
    {
    }
}

W poniższej tabeli opisano właściwości definicji JSON działania:

Tag Opis Wymagane
name Nazwa działania. Określ nazwę reprezentującą akcję skonfigurowaną do wykonania działania
  • Maksymalna liczba znaków: 260
  • Musi rozpoczynać się literą, cyfrą lub podkreśleniem (_)
  • Następujące znaki są niedozwolone: ".", "+", "?", "/", "<>","","*","%&","",":","\"
Tak
description (opis) Tekst opisujący, do czego służy działanie. Nie
typ Określa typ działania. Zobacz sekcje MAGAZYNY DANYCH i DZIAŁANIA PRZEKSZTAŁCANIA DANYCH , aby zapoznać się z różnymi typami działań. Tak
Wejścia Tabele wejściowe używane przez działanie

// one input table
"inputs": [ { "name": "inputtable1" } ],

// two input tables
"inputs": [ { "name": "inputtable1" }, { "name": "inputtable2" } ],
Nie dla działań HDInsightStreaming i SqlServerStoredProcedure

Tak dla wszystkich innych
Wyjść Tabele wyjściowe używane przez działanie.

// one output table
"outputs": [ { "name": “outputtable1” } ],

//two output tables
"outputs": [ { "name": “outputtable1” }, { "name": “outputtable2” } ],
Tak
linkedServiceName Nazwa połączonej usługi używana na potrzeby działania.

Działanie może wymagać określenia połączonej usługi, która stanowi łącze do wymaganego środowiska obliczeniowego.
Tak w przypadku działań usługi HDInsight, działań ML Studio (klasycznych) i działania procedury składowanej.

Nie dla wszystkich innych
typeProperties Właściwości w sekcji typeProperties zależą od typu działania. Nie
policy Zasady, które mają wpływ na zachowanie działania w czasie wykonania. Jeśli nie zostanie określony, zostaną użyte zasady domyślne. Nie
scheduler Właściwość "scheduler" służy do definiowania żądanego planowania dla działania. Jego podwłaściwości są takie same jak te we właściwości dostępności w zestawie danych. Nie

Zasady

Zasady wpływają na zachowanie działania w czasie wykonywania, szczególnie w przypadku przetwarzania wycinka tabeli. Poniższa tabela zawiera szczegółowe informacje.

Właściwość Dozwolone wartości Wartość domyślna Opis
współbieżność Liczba całkowita

Maksymalna wartość: 10
1 Liczba współbieżnych wykonań działania.

Określa liczbę równoległych wykonań działań, które mogą wystąpić w różnych wycinkach. Jeśli na przykład działanie musi przejść przez duży zestaw dostępnych danych, większa wartość współbieżności przyspiesza przetwarzanie danych.
executionPriorityOrder NajnowszyFirst

NajstarszeFirst
NajstarszeFirst Określa kolejność przetwarzanych wycinków danych.

Jeśli na przykład masz 2 wycinki (jeden dzieje się o godzinie 16:00, a drugi o godzinie 17:00), a oba te operacje oczekują na wykonanie. Jeśli ustawisz wartość executionPriorityOrder na Wartość NajnowszyFirst, najpierw zostanie przetworzony wycinek o godzinie 17:00. Podobnie jeśli ustawisz wartość executionPriorityORder na wartość OldestFIrst, to wycinek o godzinie 16:00 zostanie przetworzony.
retry Liczba całkowita

Maksymalna wartość może wynosić 10
0 Liczba ponownych prób przed przetworzeniem danych dla wycinka jest oznaczona jako Niepowodzenie. Wykonanie działania dla wycinka danych jest ponawiane do określonej liczby ponownych prób. Ponowienie próby jest wykonywane tak szybko, jak to możliwe po awarii.
timeout przedział_czasu 00:00:00 Limit czasu działania. Przykład: 00:10:00 (oznacza limit czasu 10 minut)

Jeśli wartość nie jest określona lub wynosi 0, limit czasu jest nieskończony.

Jeśli czas przetwarzania danych w wycinku przekracza wartość limitu czasu, jest anulowany, a system próbuje ponowić próbę przetworzenia. Liczba ponownych prób zależy od właściwości ponawiania. Po przekroczeniu limitu czasu stan jest ustawiony na Limit czasu.
Opóźnienie przedział_czasu 00:00:00 Określ opóźnienie przed rozpoczęciem przetwarzania danych wycinka.

Wykonanie działania dla wycinka danych jest uruchamiane po upływie oczekiwanego czasu wykonania opóźnienia.

Przykład: 00:10:00 (oznacza opóźnienie 10 minut)
longRetry Liczba całkowita

Maksymalna wartość: 10
1 Liczba długich prób ponawiania prób przed niepowodzeniem wykonania wycinka.

longRetry próby są odstępowane przez longRetryInterval. Jeśli więc musisz określić czas między próbami ponawiania próby, użyj parametru longRetry. Jeśli zostanie określona zarówno próba ponawiania, jak i longRetry każda próba longRetry obejmuje próby ponawiania, a maksymalna liczba prób to Ponów próbę * longRetry.

Jeśli na przykład mamy następujące ustawienia w zasadach działań:
Ponów próbę: 3
longRetry: 2
longRetryInterval: 01:00:00

Załóżmy, że jest tylko jeden wycinek do wykonania (stan oczekuje) i wykonywanie działania kończy się niepowodzeniem za każdym razem. Początkowo istniałyby 3 kolejne próby wykonania. Po każdej próbie stan wycinka to Ponów próbę. Po zakończeniu pierwszych 3 prób wycinek będzie miał stan LongRetry.

Po godzinie (oznacza to, że wartość longRetryInteval) będzie inny zestaw 3 kolejnych prób wykonania. Po tym stan wycinka będzie niepowodzeniem i nie zostanie podjęta żadna próba ponawiania prób. W związku z tym podjęto ogólną 6 prób.

Jeśli jakiekolwiek wykonanie powiedzie się, stan wycinka będzie gotowy i nie podjęto kolejnych ponownych prób.

longRetry może być używane w sytuacjach, gdy zależne dane docierają do niedeterministycznych czasów lub ogólne środowisko jest łyse, w którym odbywa się przetwarzanie danych. W takich przypadkach wykonanie ponownych prób po kolei może nie pomóc i zrobić to po upływie interwału czasu w żądanych danych wyjściowych.

Słowo ostrożności: nie ustawiaj wysokich wartości dla longRetry lub longRetryInterval. Zazwyczaj wyższe wartości oznaczają inne problemy systemowe.
longRetryInterval przedział_czasu 00:00:00 Opóźnienie między długimi próbami ponawiania prób

typeProperties — sekcja

Sekcja typeProperties jest inna dla każdego działania. Działania przekształcania mają tylko właściwości typu. Zobacz sekcję DZIAŁANIA PRZEKSZTAŁCANIA DANYCH w tym artykule, aby zapoznać się z przykładami JSON, które definiują działania przekształcania w potoku.

Działanie kopiowania zawiera dwie podsekcje w sekcji typeProperties: źródło i ujście. Zobacz sekcję MAGAZYNY DANYCH w tym artykule, aby zapoznać się z przykładami JSON, które pokazują, jak używać magazynu danych jako źródła i/lub ujścia.

Przykładowy potok kopiowania

W poniższym przykładowym potoku występuje jedno działanie typu Copy w sekcji activities. W tym przykładzie działanie kopiowania kopiuje dane z usługi Azure Blob Storage do usługi Azure SQL Database.

{
  "name": "CopyPipeline",
  "properties": {
    "description": "Copy data from a blob to Azure SQL table",
    "activities": [
      {
        "name": "CopyFromBlobToSQL",
        "type": "Copy",
        "inputs": [
          {
            "name": "InputDataset"
          }
        ],
        "outputs": [
          {
            "name": "OutputDataset"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink",
            "writeBatchSize": 10000,
            "writeBatchTimeout": "60:00:00"
          }
        },
        "Policy": {
          "concurrency": 1,
          "executionPriorityOrder": "NewestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ],
    "start": "2016-07-12T00:00:00",
    "end": "2016-07-13T00:00:00"
  }
}

Pamiętaj o następujących kwestiach:

  • W sekcji działań jest tylko jedno działanie, którego parametr type (typ) został ustawiony na wartość Copy.
  • Dane wejściowe dla działania mają ustawienie InputDataset, a dane wyjściowe — OutputDataset.
  • W sekcji typeProperties parametr BlobSource został określony jako typ źródłowy, a parametr SqlSink został określony jako typ ujścia.

Zobacz sekcję MAGAZYNY DANYCH w tym artykule, aby zapoznać się z przykładami JSON, które pokazują, jak używać magazynu danych jako źródła i/lub ujścia.

Aby zapoznać się z kompletnym przewodnikiem tworzenia tego potoku, zobacz Samouczek: kopiowanie danych z usługi Blob Storage do usługi SQL Database.

Przykładowy potok przekształcania

W poniższym przykładowym potoku występuje jedno działanie typu HDInsightHive w sekcji activities. W tym przykładzie działanie HDInsight Hive przekształca dane z usługi Azure Blob Storage przez uruchomienie pliku skryptu Hive na klastrze usługi Azure HDInsight Hadoop.

{
    "name": "TransformPipeline",
    "properties": {
        "description": "My first Azure Data Factory pipeline",
        "activities": [
            {
                "type": "HDInsightHive",
                "typeProperties": {
                    "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                    "scriptLinkedService": "AzureStorageLinkedService",
                    "defines": {
                        "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                        "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                    }
                },
                "inputs": [
                    {
                        "name": "AzureBlobInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobOutput"
                    }
                ],
                "policy": {
                    "concurrency": 1,
                    "retry": 3
                },
                "scheduler": {
                    "frequency": "Month",
                    "interval": 1
                },
                "name": "RunSampleHiveActivity",
                "linkedServiceName": "HDInsightOnDemandLinkedService"
            }
        ],
        "start": "2016-04-01T00:00:00",
        "end": "2016-04-02T00:00:00",
        "isPaused": false
    }
}

Pamiętaj o następujących kwestiach:

  • W sekcji działań jest tylko jedno działanie, którego parametr type został ustawiony na wartość HDInsightHive.
  • Plik skryptu programu Hive partitionweblogs.hql jest przechowywany na koncie usługi Azure Storage (określonym za pomocą elementu scriptLinkedService o nazwie AzureStorageLinkedService) oraz w folderze script w kontenerze adfgetstarted.
  • Sekcja definiuje służy do określania ustawień środowiska uruchomieniowego przekazywanych do skryptu hive jako wartości konfiguracji programu Hive (np${hiveconf:inputtable}. ). ${hiveconf:partitionedtable}

Zobacz sekcję DZIAŁANIA PRZEKSZTAŁCANIA DANYCH w tym artykule, aby zapoznać się z przykładami w formacie JSON, które definiują działania przekształcania w potoku.

Aby zapoznać się z kompletnym przewodnikiem tworzenia tego potoku, zobacz Samouczek: tworzenie pierwszego potoku w celu przetwarzania danych przy użyciu klastra Hadoop.

Połączona usługa

Struktura wysokiego poziomu dla definicji połączonej usługi jest następująca:

{
    "name": "<name of the linked service>",
    "properties": {
        "type": "<type of the linked service>",
        "typeProperties": {
        }
    }
}

W poniższej tabeli opisano właściwości w definicji JSON działania:

Właściwość Opis Wymagane
name Nazwa połączonej usługi. Tak
properties — typ Typ połączonej usługi. Na przykład: Azure Storage, Azure SQL Database.
typeProperties Sekcja typeProperties zawiera elementy, które są różne dla każdego magazynu danych lub środowiska obliczeniowego. Zobacz sekcję Magazyny danych dla wszystkich połączonych usług magazynu danych i środowisk obliczeniowych dla wszystkich połączonych usług obliczeniowych

Zestaw danych

Zestaw danych w usłudze Azure Data Factory jest zdefiniowany w następujący sposób:

{
    "name": "<name of dataset>",
    "properties": {
        "type": "<type of dataset: AzureBlob, AzureSql etc...>",
        "external": <boolean flag to indicate external data. only for input datasets>,
        "linkedServiceName": "<Name of the linked service that refers to a data store.>",
        "structure": [
            {
                "name": "<Name of the column>",
                "type": "<Name of the type>"
            }
        ],
        "typeProperties": {
            "<type specific property>": "<value>",
            "<type specific property 2>": "<value 2>",
        },
        "availability": {
            "frequency": "<Specifies the time unit for data slice production. Supported frequency: Minute, Hour, Day, Week, Month>",
            "interval": "<Specifies the interval within the defined frequency. For example, frequency set to 'Hour' and interval set to 1 indicates that new data slices should be produced hourly>"
        },
        "policy":
        {
        }
    }
}

W poniższej tabeli opisano właściwości w powyższym formacie JSON:

Właściwość Opis Wymagane Domyślny
name Nazwa zestawu danych. Zobacz Azure Data Factory — reguły nazewnictwa dla reguł nazewnictwa. Tak NA
typ Typ zestawu danych. Określ jeden z typów obsługiwanych przez usługę Azure Data Factory (na przykład AzureBlob, AzureSqlTable). Zobacz sekcję MAGAZYNY DANYCH , aby zapoznać się ze wszystkimi magazynami danych i typami zestawów danych obsługiwanymi przez usługę Data Factory.
— struktura Schemat zestawu danych. Zawiera kolumny, ich typy itp. Nie NA
typeProperties Właściwości odpowiadające wybranemu typowi. Zobacz sekcję MAGAZYNY DANYCH , aby uzyskać informacje o obsługiwanych typach i ich właściwościach. Tak NA
external Flaga logiczna określająca, czy zestaw danych jest jawnie generowany przez potok fabryki danych, czy nie. Nie fałsz
availability Definiuje okno przetwarzania lub model fragmentowania dla produkcji zestawu danych. Aby uzyskać szczegółowe informacje na temat modelu fragmentowania zestawu danych, zobacz artykuł Planowanie i wykonywanie . Tak NA
policy Definiuje kryteria lub warunek, który musi spełniać wycinki zestawu danych.

Aby uzyskać szczegółowe informacje, zobacz sekcję Zasady zestawu danych.
Nie NA

Każda kolumna w sekcji struktury zawiera następujące właściwości:

Właściwość Opis Wymagane
name Nazwa kolumny. Tak
typ Typ danych kolumny. Nie
kultura Kultura oparta na platformie .NET, która ma być używana podczas określania typu i jest typem Datetime platformy .NET lub Datetimeoffset. Wartość domyślna to en-us. Nie
format Ciąg formatu, który ma być używany podczas określania typu i jest typem Datetime platformy .NET lub Datetimeoffset. Nie

W poniższym przykładzie zestaw danych ma trzy kolumny slicetimestamp, projectnamei pageviews mają typ: Ciąg, Ciąg i Dziesiętny.

structure:
[
    { "name": "slicetimestamp", "type": "String"},
    { "name": "projectname", "type": "String"},
    { "name": "pageviews", "type": "Decimal"}
]

W poniższej tabeli opisano właściwości, których można użyć w sekcji dostępności :

Właściwość Opis Wymagane Domyślny
frequency Określa jednostkę czasu dla produkcji wycinków zestawu danych.

Obsługiwana częstotliwość: Minuta, Godzina, Dzień, Tydzień, Miesiąc
Tak NA
interval Określa mnożnik częstotliwości

Wyrażenie "Częstotliwość x interwał" określa częstotliwość tworzenia wycinka.

Jeśli chcesz, aby zestaw danych był fragmentowany co godzinę, należy ustawić wartość Częstotliwość na Wartość Godzina, a interwał na 1.

Uwaga: Jeśli określisz wartość Częstotliwość jako Minuta, zalecamy ustawienie interwału na wartość nie mniejszą niż 15
Tak NA
styl Określa, czy wycinek powinien być generowany na początku/końcu interwału.
  • StartOfInterval
  • EndOfInterval


Jeśli właściwość Frequency (Częstotliwość) ma wartość Month (Miesiąc), a styl jest ustawiony na EndOfInterval, wycinek jest generowany w ostatnim dniu miesiąca. Jeśli styl jest ustawiony na StartOfInterval, wycinek jest generowany w pierwszym dniu miesiąca.

Jeśli właściwość Częstotliwość jest ustawiona na Wartość Dzień, a styl ma wartość EndOfInterval, wycinek jest generowany w ciągu ostatniej godziny dnia.

Jeśli właściwość Frequency jest ustawiona na Wartość Godzina, a styl ma wartość EndOfInterval, wycinek jest generowany na końcu godziny. Na przykład w przypadku wycinka dla okresu 13:00–23:00 wycinek jest generowany o godzinie 14:00.
Nie EndOfInterval
anchorDateTime Definiuje położenie bezwzględne w czasie używanym przez harmonogram do obliczania granic wycinków zestawu danych.

Uwaga: Jeśli właściwość AnchorDateTime zawiera części daty, które są bardziej szczegółowe niż częstotliwość, bardziej szczegółowe części są ignorowane.

Jeśli na przykład interwał to hourly (frequency: hour i interval: 1) oraz AnchorDateTime zawiera minuty i sekundy, części AnchorDateTime są ignorowane.
Nie 01/01/0001
przesunięcie Przedział czasu, w którym są przesuwane początkowe i końcowe wycinki wszystkich zestawów danych.

Uwaga: Jeśli określono zarówno wartość anchorDateTime, jak i przesunięcie, wynikiem jest połączona zmiana.
Nie NA

Poniższa sekcja dostępności określa, że wyjściowy zestaw danych jest generowany godzinowo (lub) wejściowy zestaw danych jest dostępny co godzinę:

"availability":
{
    "frequency": "Hour",
    "interval": 1
}

Sekcja zasad w definicji zestawu danych definiuje kryteria lub warunek, który musi spełniać wycinki zestawu danych.

Policy Name (Nazwa zasad) Opis Zastosowane do Wymagane Domyślny
minimumSizeMB Sprawdza, czy dane w obiekcie blob platformy Azure spełniają minimalne wymagania dotyczące rozmiaru (w megabajtach). Obiekt bob Azure Nie NA
minimumRows Sprawdza, czy dane w usłudze Azure SQL Database lub tabeli platformy Azure zawierają minimalną liczbę wierszy.
  • Azure SQL Database
  • Tabela platformy Azure
Nie NA

Przykład:

"policy":

{
    "validation":
    {
        "minimumSizeMB": 10.0
    }
}

Jeśli zestaw danych nie jest tworzony przez usługę Azure Data Factory, powinien zostać oznaczony jako zewnętrzny. To ustawienie zwykle dotyczy danych wejściowych pierwszego działania w potoku, chyba że jest używane działanie lub tworzenie łańcucha potoków.

Nazwa Opis Wymagane Wartość domyślna
dataDelay Czas opóźnienia sprawdzania dostępności danych zewnętrznych dla danego wycinka. Jeśli na przykład dane są dostępne co godzinę, sprawdź, czy dane zewnętrzne są dostępne, a odpowiedni wycinek jest gotowy, może zostać opóźniony przy użyciu elementu dataDelay.

Dotyczy tylko czasu bieżącego. Jeśli na przykład jest to teraz 13:00, a ta wartość to 10 minut, walidacja rozpoczyna się o 13:10.

To ustawienie nie ma wpływu na wycinki w przeszłości (wycinki z czasem zakończenia wycinka i dataDelay < Now) są przetwarzane bez opóźnień.

Czas dłuższy niż 23:59 godzin musi być określony przy użyciu day.hours:minutes:seconds formatu . Na przykład aby określić 24 godziny, nie używaj wartości 24:00:00; Zamiast tego użyj wartości 1.00:00:00. Jeśli używasz wartości 24:00:00, jest ona traktowana jako 24 dni (24.00:00:00). W ciągu 1 dnia i 4 godzin określ wartość 1:04:00:00.
Nie 0
retryInterval Czas oczekiwania między niepowodzeniem a następną próbą ponawiania. Jeśli próba zakończy się niepowodzeniem, kolejna próba zostanie podjęta po ponowieniu próby.

Jeśli jest to teraz godzina 13:00, rozpoczniemy pierwszą próbę. Jeśli czas trwania pierwszego sprawdzenia poprawności wynosi 1 minutę i operacja nie powiodła się, następna ponowna próba wynosi 1:00 + 1 min (czas trwania) + 1 min (interwał ponawiania prób) = 1:02 PM.

W przypadku wycinków w przeszłości nie ma opóźnienia. Ponawianie jest wykonywane natychmiast.
Nie 00:01:00 (1 minuta)
retryTimeout Limit czasu dla każdej próby ponawiania.

Jeśli ta właściwość jest ustawiona na 10 minut, walidacja musi zostać ukończona w ciągu 10 minut. Jeśli walidacja trwa dłużej niż 10 minut, limit czasu ponawiania zostanie upłynął.

Jeśli wszystkie próby weryfikacji upłynął limit czasu, wycinek zostanie oznaczony jako Limit czasu.
Nie 00:10:00 (10 minut)
maximumRetry Liczba razy, aby sprawdzić dostępność danych zewnętrznych. Dozwolona wartość maksymalna to 10. Nie 3

MAGAZYNY DANYCH

Sekcja Połączona usługa zawiera opisy elementów JSON, które są wspólne dla wszystkich typów połączonych usług. Ta sekcja zawiera szczegółowe informacje o elementach JSON specyficznych dla każdego magazynu danych.

Sekcja Zestaw danych zawiera opisy elementów JSON, które są wspólne dla wszystkich typów zestawów danych. Ta sekcja zawiera szczegółowe informacje o elementach JSON specyficznych dla każdego magazynu danych.

Sekcja Działanie zawiera opisy elementów JSON, które są wspólne dla wszystkich typów działań. Ta sekcja zawiera szczegółowe informacje o elementach JSON, które są specyficzne dla każdego magazynu danych, gdy są używane jako źródło/ujście w działaniu kopiowania.

Kliknij link dla sklepu, który cię interesuje, aby wyświetlić schematy JSON dla połączonej usługi, zestawu danych i źródła/ujścia dla działania kopiowania.

Kategoria Magazyn danych
Azure Azure Blob Storage
  Azure Data Lake Store
  Azure Cosmos DB
  Azure SQL Database
  Azure Synapse Analytics
  Azure Cognitive Search
  Azure Table storage
Bazy danych Amazon Redshift
  IBM DB2
  MySQL
  Oracle
  PostgreSQL
  SAP Business Warehouse
  SAP HANA
  SQL Server
  Sybase
  Teradata
NoSQL Cassandra
  MongoDB
Plik Amazon S3
  System plików
  FTP
  HDFS
  SFTP
Inne HTTP
  OData
  ODBC
  Salesforce
  Tabela internetowa

Azure Blob Storage

Połączona usługa

Istnieją dwa typy połączonych usług: połączona usługa Azure Storage i połączona usługa SAS usługi Azure Storage.

Połączona usługa Azure Storage

Aby połączyć konto usługi Azure Storage z fabryką danych przy użyciu klucza konta, utwórz połączoną usługę Azure Storage. Aby zdefiniować połączoną usługę Azure Storage, ustaw typ połączonej usługi azureStorage. Następnie można określić następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z usługą Azure Storage dla właściwości connectionString. Tak
Przykład
{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        }
    }
}

Połączona usługa SAS usługi Azure Storage

Połączona usługa SAS usługi Azure Storage umożliwia łączenie konta usługi Azure Storage z fabryką danych platformy Azure przy użyciu sygnatury dostępu współdzielonego (SAS). Zapewnia ona fabryce danych ograniczony/ograniczony czas dostęp do wszystkich/określonych zasobów (obiektów blob/kontenera) w magazynie. Aby połączyć konto usługi Azure Storage z fabryką danych przy użyciu sygnatury dostępu współdzielonego, utwórz połączoną usługę SAS usługi Azure Storage. Aby zdefiniować połączoną usługę Azure Storage SAS, ustaw typ połączonej usługi AzureStorageSas. Następnie można określić następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
sasUri Określ identyfikator URI sygnatury dostępu współdzielonego do zasobów usługi Azure Storage, takich jak obiekty blob, kontener lub tabela. Tak
Przykład
{
    "name": "StorageSasLinkedService",
    "properties": {
        "type": "AzureStorageSas",
        "typeProperties": {
            "sasUri": "<storageUri>?<sasToken>"
        }
    }
}

Aby uzyskać więcej informacji na temat tych połączonych usług, zobacz artykuł Dotyczący łącznika usługi Azure Blob Storage .

Zestaw danych

Aby zdefiniować zestaw danych obiektów blob platformy Azure, ustaw typ zestawu danych na AzureBlob. Następnie określ następujące właściwości specyficzne dla obiektu blob platformy Azure w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Ścieżka do kontenera i folderu w magazynie obiektów blob. Przykład: myblobcontainer\myblobfolder\ Tak
fileName Nazwa obiektu blob. fileName jest opcjonalny i uwzględnia wielkość liter.

Jeśli określisz nazwę pliku, działanie (w tym kopiowanie) działa na określonym obiekcie blob.

Jeśli parametr fileName nie zostanie określony, opcja Copy zawiera wszystkie obiekty blob w folderPath dla wejściowego zestawu danych.

Jeśli parametr fileName nie zostanie określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku będzie miała następujący format: Data.<Guid>.txt (na przykład: : Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt
Nie
partitionedBy partitionedBy jest opcjonalną właściwością. Można go użyć do określenia dynamicznego folderuPath i nazwy pliku dla danych szeregów czasowych. Na przykład folderPath można sparametryzować dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki zgodnie z rzeczywistym użyciem między magazynami opartymi na plikach (kopiowaniem binarnym), pomiń sekcję formatowania zarówno w definicjach zestawu danych wejściowych, jak i wyjściowych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Przykład

{
    "name": "AzureBlobInput",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": "AzureStorageLinkedService",
        "typeProperties": {
            "fileName": "input.log",
            "folderPath": "adfgetstarted/inputdata",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ","
            }
        },
        "availability": {
            "frequency": "Month",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika obiektów blob platformy Azure .

Obiekt BlobSource w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure Blob Storage, ustaw typ źródłowy działania kopiowania na blobSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. True (wartość domyślna), Fałsz Nie

Przykład: BlobSource

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoSQL",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "AzureSqlOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "SqlSink"
                }
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

BlobSink w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure Blob Storage, ustaw typ ujścia działania kopiowania na blobSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
copyBehavior Definiuje zachowanie kopiowania, gdy źródłem jest BlobSource lub FileSystem. PreserveHierarchy: zachowuje hierarchię plików w folderze docelowym. Ścieżka względna pliku źródłowego do folderu źródłowego jest taka sama jak ścieżka względna pliku docelowego do folderu docelowego.

FlattenHierarchy: wszystkie pliki z folderu źródłowego znajdują się na pierwszym poziomie folderu docelowego. Pliki docelowe mają automatycznie wygenerowaną nazwę.

MergeFiles (ustawienie domyślne): scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli określono nazwę pliku/obiektu blob, scalona nazwa pliku będzie określoną nazwą; w przeciwnym razie będzie to automatycznie wygenerowana nazwa pliku.
Nie

Przykład: BlobSink

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureSQLtoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureSQLInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika obiektów blob platformy Azure .

Azure Data Lake Store

Połączona usługa

Aby zdefiniować połączoną usługę Azure Data Lake Store, ustaw typ połączonej usługi na wartość AzureDataLakeStore i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ Właściwość type musi być ustawiona na: AzureDataLakeStore Tak
dataLakeStoreUri Określ informacje o koncie usługi Azure Data Lake Store. Ma następujący format: https://[accountname].azuredatalakestore.net/webhdfs/v1 lub adl://[accountname].azuredatalakestore.net/. Tak
subscriptionId Identyfikator subskrypcji platformy Azure, do którego należy usługa Data Lake Store. Wymagane do ujścia
resourceGroupName Nazwa grupy zasobów platformy Azure, do której należy usługa Data Lake Store. Wymagane do ujścia
servicePrincipalId Określ identyfikator klienta aplikacji. Tak (w przypadku uwierzytelniania jednostki usługi)
servicePrincipalKey Określ klucz aplikacji. Tak (w przypadku uwierzytelniania jednostki usługi)
tenant Określ informacje o dzierżawie (nazwę domeny lub identyfikator dzierżawy), w ramach których znajduje się aplikacja. Możesz go pobrać, umieszczając wskaźnik myszy w prawym górnym rogu witryny Azure Portal. Tak (w przypadku uwierzytelniania jednostki usługi)
autoryzacja Kliknij przycisk Autoryzuj w Edytorze fabryki danych i wprowadź swoje poświadczenia, które przypisują automatycznie wygenerowany adres URL autoryzacji do tej właściwości. Tak (w przypadku uwierzytelniania poświadczeń użytkownika)
Sessionid Identyfikator sesji OAuth z sesji autoryzacji OAuth. Każdy identyfikator sesji jest unikatowy i może być używany tylko raz. To ustawienie jest generowane automatycznie podczas korzystania z Edytora fabryki danych. Tak (w przypadku uwierzytelniania poświadczeń użytkownika)

Przykład: używanie uwierzytelniania jednostki usługi

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": "<service principal key>",
            "tenant": "<tenant info. Example: microsoft.onmicrosoft.com>"
        }
    }
}

Przykład: używanie uwierzytelniania poświadczeń użytkownika

{
    "name": "AzureDataLakeStoreLinkedService",
    "properties": {
        "type": "AzureDataLakeStore",
        "typeProperties": {
            "dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
            "sessionId": "<session ID>",
            "authorization": "<authorization URL>",
            "subscriptionId": "<subscription of ADLS>",
            "resourceGroupName": "<resource group of ADLS>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Data Lake Store .

Zestaw danych

Aby zdefiniować zestaw danych usługi Azure Data Lake Store, ustaw typ zestawu danych na Wartość AzureDataLakeStore i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Ścieżka do kontenera i folderu w usłudze Azure Data Lake Store. Tak
fileName Nazwa pliku w usłudze Azure Data Lake Store. fileName jest opcjonalny i uwzględnia wielkość liter.

Jeśli określisz nazwę pliku, działanie (w tym kopiowanie) działa na określonym pliku.

Jeśli parametr fileName nie zostanie określony, opcja Kopiuj zawiera wszystkie pliki w folderPath dla wejściowego zestawu danych.

Jeśli parametr fileName nie zostanie określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku będzie mieć następujący format: Data.<Guid>.txt (na przykład: : Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt
Nie
partitionedBy partitionedBy jest opcjonalną właściwością. Można go użyć do określenia dynamicznego folderuPath i nazwy pliku dla danych szeregów czasowych. Na przykład parametr folderPath może być sparametryzowany dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki w stanie rzeczywistym między magazynami opartymi na plikach (kopią binarną), pomiń sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: Optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Przykład

{
    "name": "AzureDataLakeStoreInput",
    "properties": {
        "type": "AzureDataLakeStore",
        "linkedServiceName": "AzureDataLakeStoreLinkedService",
        "typeProperties": {
            "folderPath": "datalake/input/",
            "fileName": "SearchLog.tsv",
            "format": {
                "type": "TextFormat",
                "rowDelimiter": "\n",
                "columnDelimiter": "\t"
            }
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Data Lake Store .

Źródło usługi Azure Data Lake Store w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure Data Lake Store, ustaw typ źródłowy działania kopiowania na wartość AzureDataLakeStoreSource i określ następujące właściwości w sekcji źródłowej :

Usługa AzureDataLakeStoreSource obsługuje następującą sekcję właściwości TypeProperties :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. True (wartość domyślna), Fałsz Nie

Przykład: AzureDataLakeStoreSource

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureDakeLaketoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureDataLakeStoreInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "AzureDataLakeStoreSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Data Lake Store .

Ujście usługi Azure Data Lake Store w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure Data Lake Store, ustaw typ ujścia działania kopiowania na azureDataLakeStoreSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
copyBehavior Określa zachowanie kopiowania. PreserveHierarchy: zachowuje hierarchię plików w folderze docelowym. Ścieżka względna pliku źródłowego do folderu źródłowego jest taka sama jak ścieżka względna pliku docelowego do folderu docelowego.

FlattenHierarchy: wszystkie pliki z folderu źródłowego są tworzone na pierwszym poziomie folderu docelowego. Pliki docelowe są tworzone z automatycznie wygenerowaną nazwą.

MergeFiles: scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli określono nazwę pliku/obiektu blob, scalona nazwa pliku będzie określoną nazwą; w przeciwnym razie będzie to automatycznie wygenerowana nazwa pliku.
Nie

Przykład: AzureDataLakeStoreSink

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoDataLake",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "AzureDataLakeStoreOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "AzureDataLakeStoreSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Data Lake Store .

Azure Cosmos DB

Połączona usługa

Aby zdefiniować połączoną usługę Azure Cosmos DB, ustaw typ połączonej usługi na wartość DocumentDb i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z bazą danych usługi Azure Cosmos DB. Tak

Przykład

{
    "name": "CosmosDBLinkedService",
    "properties": {
        "type": "DocumentDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;AccountKey=<AccessKey>;Database=<Database>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cosmos DB .

Zestaw danych

Aby zdefiniować zestaw danych usługi Azure Cosmos DB, ustaw typ zestawu danych na DocumentDbCollection i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Collectionname Nazwa kolekcji usługi Azure Cosmos DB. Tak

Przykład

{
    "name": "PersonCosmosDBTable",
    "properties": {
        "type": "DocumentDbCollection",
        "linkedServiceName": "CosmosDBLinkedService",
        "typeProperties": {
            "collectionName": "Person"
        },
        "external": true,
        "availability": {
            "frequency": "Day",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cosmos DB .

Źródło kolekcji usługi Azure Cosmos DB w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure Cosmos DB, ustaw typ źródłowy działania kopiowania na wartość DocumentDbCollectionSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Określ zapytanie, aby odczytywać dane. Ciąg zapytania obsługiwany przez usługę Azure Cosmos DB.

Przykład: SELECT c.BusinessEntityID, c.PersonType, c.NameStyle, c.Title, c.Name.First AS FirstName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"
Nie

Jeśli nie zostanie określony, wykonywana jest instrukcja SQL: select <columns defined in structure> from mycollection
nestingSeparator Znak specjalny wskazujący, że dokument jest zagnieżdżony Dowolny znak.

Usługa Azure Cosmos DB to magazyn NoSQL dla dokumentów JSON, w którym dozwolone są zagnieżdżone struktury. Usługa Azure Data Factory umożliwia użytkownikowi oznaczenie hierarchii za pomocą zagnieżdżania elementu "." w powyższych przykładach. Za pomocą separatora działanie kopiowania wygeneruje obiekt "Name" z trzema elementami podrzędnymi First, Middle i Last, zgodnie z definicją tabeli "Name.First", "Name.Middle" i "Name.Last".
Nie

Przykład

{
    "name": "DocDbToBlobPipeline",
    "properties": {
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "DocumentDbCollectionSource",
                    "query": "SELECT Person.Id, Person.Name.First AS FirstName, Person.Name.Middle as MiddleName, Person.Name.Last AS LastName FROM Person",
                    "nestingSeparator": "."
                },
                "sink": {
                    "type": "BlobSink",
                    "blobWriterAddHeader": true,
                    "writeBatchSize": 1000,
                    "writeBatchTimeout": "00:00:59"
                }
            },
            "inputs": [{
                "name": "PersonCosmosDBTable"
            }],
            "outputs": [{
                "name": "PersonBlobTableOut"
            }],
            "policy": {
                "concurrency": 1
            },
            "name": "CopyFromCosmosDbToBlob"
        }],
        "start": "2016-04-01T00:00:00",
        "end": "2016-04-02T00:00:00"
    }
}

Ujście kolekcji usługi Azure Cosmos DB w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure Cosmos DB, ustaw typ ujścia działania kopiowania na wartość DocumentDbCollectionSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
nestingSeparator Znak specjalny w nazwie kolumny źródłowej wskazujący, że potrzebny jest zagnieżdżony dokument.

Na przykład powyżej: Name.First w tabeli wyjściowej tworzy następującą strukturę JSON w dokumencie usługi Cosmos DB:

"Name": {
"First": "John"
},
Znak używany do rozdzielania poziomów zagnieżdżenia.

Wartość domyślna to . (kropka).
Znak używany do rozdzielania poziomów zagnieżdżenia.

Wartość domyślna to . (kropka).
writeBatchSize Liczba żądań równoległych do usługi Azure Cosmos DB w celu utworzenia dokumentów.

Wydajność można dostosować podczas kopiowania danych do/z usługi Azure Cosmos DB przy użyciu tej właściwości. Możesz oczekiwać lepszej wydajności podczas zwiększania rozmiaru zapisuBatchSize, ponieważ wysyłane są bardziej równoległe żądania do usługi Azure Cosmos DB. Należy jednak unikać ograniczania przepustowości, które mogą zgłaszać komunikat o błędzie: "Szybkość żądań jest duża".

Ograniczanie przepustowości jest ustalane przez wiele czynników, w tym rozmiar dokumentów, liczbę terminów w dokumentach, zasady indeksowania kolekcji docelowej itp. W przypadku operacji kopiowania można użyć lepszej kolekcji (na przykład S3), aby uzyskać największą dostępną przepływność (2500 jednostek żądań na sekundę).
Liczba całkowita Nie (wartość domyślna: 5)
writeBatchTimeout Czas oczekiwania na ukończenie operacji przed upływem limitu czasu. zakres czasu

Przykład: "00:30:00" (30 minut).
Nie

Przykład

{
    "name": "BlobToDocDbPipeline",
    "properties": {
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "DocumentDbCollectionSink",
                    "nestingSeparator": ".",
                    "writeBatchSize": 2,
                    "writeBatchTimeout": "00:00:00"
                },
                "translator": {
                    "type": "TabularTranslator",
                    "ColumnMappings": "FirstName: Name.First, MiddleName: Name.Middle, LastName: Name.Last, BusinessEntityID: BusinessEntityID, PersonType: PersonType, NameStyle: NameStyle, Title: Title, Suffix: Suffix"
                }
            },
            "inputs": [{
                "name": "PersonBlobTableIn"
            }],
            "outputs": [{
                "name": "PersonCosmosDbTableOut"
            }],
            "policy": {
                "concurrency": 1
            },
            "name": "CopyFromBlobToCosmosDb"
        }],
        "start": "2016-04-14T00:00:00",
        "end": "2016-04-15T00:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cosmos DB .

Azure SQL Database

Połączona usługa

Aby zdefiniować połączoną usługę Azure SQL Database, ustaw typ połączonej usługi na wartość AzureSqlDatabase i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z wystąpieniem usługi Azure SQL Database dla właściwości connectionString. Tak

Przykład

{
    "name": "AzureSqlLinkedService",
    "properties": {
        "type": "AzureSqlDatabase",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure SQL .

Zestaw danych

Aby zdefiniować zestaw danych usługi Azure SQL Database, ustaw typ zestawu danych na Wartość AzureSqlTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli lub widoku w wystąpieniu usługi Azure SQL Database, do którego odwołuje się połączona usługa. Tak

Przykład

{
    "name": "AzureSqlInput",
    "properties": {
        "type": "AzureSqlTable",
        "linkedServiceName": "AzureSqlLinkedService",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure SQL .

Źródło SQL w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure SQL Database, ustaw typ źródłowy działania kopiowania na wartość SqlSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
sqlReaderQuery Użyj zapytania niestandardowego, aby odczytać dane. Ciąg zapytania SQL. Przykład: select * from MyTable. Nie
sqlReaderStoredProcedureName Nazwa procedury składowanej, która odczytuje dane z tabeli źródłowej. Nazwa procedury składowanej. Nie
storedProcedureParameters Parametry procedury składowanej. Pary nazwa/wartość. Nazwy i wielkość liter parametrów muszą być zgodne z nazwami i wielkością liter parametrów procedury składowanej. Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureSQLtoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureSQLInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure SQL .

Ujście SQL w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure SQL Database, ustaw typ ujścia działania kopiowania na sqlSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
writeBatchTimeout Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed upływem limitu czasu. zakres czasu

Przykład: "00:30:00" (30 minut).
Nie
writeBatchSize Wstawia dane do tabeli SQL, gdy rozmiar buforu osiągnie wartość writeBatchSize. Liczba całkowita (liczba wierszy) Nie (wartość domyślna: 10000)
sqlWriterCleanupScript Określ zapytanie dotyczące działania kopiowania, aby wykonać w taki sposób, aby dane określonego wycinka zostały wyczyszczone. Instrukcja zapytania. Nie
sliceIdentifierColumnName Określ nazwę kolumny działania kopiowania, która ma być wypełniana przy użyciu automatycznie generowanego identyfikatora wycinka, który służy do czyszczenia danych określonego wycinka podczas ponownego uruchamiania. Nazwa kolumny kolumny z typem danych binary(32). Nie
sqlWriterStoredProcedureName Nazwa procedury składowanej, która upserts (aktualizacje/wstawia) dane do tabeli docelowej. Nazwa procedury składowanej. Nie
storedProcedureParameters Parametry procedury składowanej. Pary nazwa/wartość. Nazwy i wielkość liter parametrów muszą być zgodne z nazwami i wielkością liter parametrów procedury składowanej. Nie
sqlWriterTableType Określ nazwę typu tabeli, która ma być używana w procedurze składowanej. Działanie kopiowania umożliwia udostępnianie danych przenoszonych w tabeli tymczasowej przy użyciu tego typu tabeli. Kod procedury składowanej może następnie scalić skopiowane dane z istniejącymi danymi. Nazwa typu tabeli. Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoSQL",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "AzureSqlOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource",
                    "blobColumnSeparators": ","
                },
                "sink": {
                    "type": "SqlSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure SQL .

Azure Synapse Analytics

Połączona usługa

Aby zdefiniować połączoną usługę Azure Synapse Analytics, ustaw typ połączonej usługi na wartość AzureSqlDW i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z wystąpieniem usługi Azure Synapse Analytics dla właściwości connectionString. Tak

Przykład

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Synapse Analytics .

Zestaw danych

Aby zdefiniować zestaw danych usługi Azure Synapse Analytics, ustaw typ zestawu danych na Wartość AzureSqlDWTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli lub widoku w bazie danych usługi Azure Synapse Analytics, do którego odwołuje się połączona usługa. Tak

Przykład

{
    "name": "AzureSqlDWInput",
    "properties": {
    "type": "AzureSqlDWTable",
        "linkedServiceName": "AzureSqlDWLinkedService",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Synapse Analytics .

Źródło usługi Azure Synapse Analytics w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure Synapse Analytics, ustaw typ źródłowy działania kopiowania na sqlDWSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
sqlReaderQuery Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: select * from MyTable. Nie
sqlReaderStoredProcedureName Nazwa procedury składowanej, która odczytuje dane z tabeli źródłowej. Nazwa procedury składowanej. Nie
storedProcedureParameters Parametry procedury składowanej. Pary nazw/wartości. Nazwy i wielkość liter parametrów muszą być zgodne z nazwami i wielkością parametrów procedury składowanej. Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureSQLDWtoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureSqlDWInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlDWSource",
                    "sqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Synapse Analytics .

Ujście usługi Azure Synapse Analytics w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure Synapse Analytics, ustaw typ ujścia działania kopiowania na SqlDWSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
sqlWriterCleanupScript Określ zapytanie dotyczące działania kopiowania w celu wykonania, aby dane określonego wycinka zostały wyczyszczone. Instrukcja zapytania. Nie
allowPolyBase Wskazuje, czy używać mechanizmu PolyBase (jeśli ma to zastosowanie) zamiast mechanizmu BULKINSERT.

Korzystanie z technologii PolyBase to zalecany sposób ładowania danych do usługi Azure Synapse Analytics.
Prawda
False (domyślnie)
Nie
polyBaseSettings Grupa właściwości, które można określić, gdy właściwość allowPolybase ma wartość true.   Nie
rejectValue Określa liczbę lub procent wierszy, które można odrzucić przed niepowodzeniem zapytania.

Dowiedz się więcej o opcjach odrzucenia programu PolyBase w sekcji Argumenty tematu CREATE EXTERNAL TABLE (Transact-SQL).
0 (wartość domyślna), 1, 2, ... Nie
rejectType Określa, czy opcja rejectValue jest określona jako wartość literału, czy wartość procentowa. Wartość (wartość domyślna), wartość procentowa Nie
rejectSampleValue Określa liczbę wierszy do pobrania przed ponownym obliczenie wartości procentowej odrzuconych wierszy przez program PolyBase. 1, 2, ... Tak, jeśli parametr rejectType ma wartość procentową
useTypeDefault Określa sposób obsługi brakujących wartości w rozdzielanych plikach tekstowych, gdy program PolyBase pobiera dane z pliku tekstowego.

Dowiedz się więcej o tej właściwości w sekcji Argumenty w temacie CREATE EXTERNAL FILE FORMAT (Transact-SQL).
Prawda, Fałsz (wartość domyślna) Nie
writeBatchSize Wstawia dane do tabeli SQL, gdy rozmiar buforu osiągnie wartość writeBatchSize Liczba całkowita (liczba wierszy) Nie (wartość domyślna: 10000)
writeBatchTimeout Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. zakres czasu

Przykład: "00:30:00" (30 minut).
Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoSQLDW",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "AzureSqlDWOutput"
            }],
            "typeProperties": {
                "source": {
                "type": "BlobSource",
                    "blobColumnSeparators": ","
                },
                "sink": {
                    "type": "SqlDWSink",
                    "allowPolyBase": true
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Synapse Analytics .

Połączona usługa

Aby zdefiniować połączoną usługę Azure Cognitive Search, ustaw typ połączonej usługi azureSearch i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
url Adres URL usługi wyszukiwania. Tak
key Klucz administracyjny usługi wyszukiwania. Tak

Przykład

{
    "name": "AzureSearchLinkedService",
    "properties": {
        "type": "AzureSearch",
        "typeProperties": {
            "url": "https://<service>.search.windows.net",
            "key": "<AdminKey>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cognitive Search .

Zestaw danych

Aby zdefiniować zestaw danych usługi Azure Cognitive Search, ustaw typ zestawu danych na AzureSearchIndex i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ Właściwość type musi być ustawiona na Wartość AzureSearchIndex. Tak
indexName Nazwa indeksu wyszukiwania. Usługa Data Factory nie tworzy indeksu. Indeks musi istnieć w usłudze Azure Cognitive Search. Tak

Przykład

{
    "name": "AzureSearchIndexDataset",
    "properties": {
        "type": "AzureSearchIndex",
        "linkedServiceName": "AzureSearchLinkedService",
        "typeProperties": {
            "indexName": "products"
        },
        "availability": {
            "frequency": "Minute",
            "interval": 15
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cognitive Search .

Ujście indeksu usługi Azure Cognitive Search w działaniu kopiowania

Jeśli kopiujesz dane do indeksu wyszukiwania, ustaw typujścia działania kopiowania na wartość AzureSearchIndexSink i określ następujące właściwości w sekcji ujścia:

Właściwość Opis Dozwolone wartości Wymagane
WriteBehavior Określa, czy scalić, czy zastąpić, gdy dokument już istnieje w indeksie. Scal (ustawienie domyślne)
Przekazywanie
Nie
WriteBatchSize Przekazuje dane do indeksu wyszukiwania, gdy rozmiar buforu osiągnie wartość writeBatchSize. Od 1 do 1000. Wartość domyślna to 1000. Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "SqlServertoAzureSearchIndex",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": " SqlServerInput"
            }],
            "outputs": [{
                "name": "AzureSearchIndexDataset"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "AzureSearchIndexSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Azure Cognitive Search .

Azure Table Storage

Połączona usługa

Istnieją dwa typy połączonych usług: połączona usługa Azure Storage i połączona usługa SAS usługi Azure Storage.

Połączona usługa Azure Storage

Aby połączyć konto usługi Azure Storage z fabryką danych przy użyciu klucza konta, utwórz połączoną usługę Azure Storage. Aby zdefiniować połączoną usługę Azure Storage, ustaw typ połączonej usługi azureStorage. Następnie można określić następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ Właściwość type musi być ustawiona na: AzureStorage Tak
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z usługą Azure Storage dla właściwości connectionString. Tak

Przykład:

{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        }
    }
}

Połączona usługa SAS usługi Azure Storage

Połączona usługa SAS usługi Azure Storage umożliwia łączenie konta usługi Azure Storage z fabryką danych platformy Azure przy użyciu sygnatury dostępu współdzielonego (SAS). Zapewnia ona fabryce danych ograniczony/ograniczony czas dostęp do wszystkich/określonych zasobów (obiektów blob/kontenera) w magazynie. Aby połączyć konto usługi Azure Storage z fabryką danych przy użyciu sygnatury dostępu współdzielonego, utwórz połączoną usługę SAS usługi Azure Storage. Aby zdefiniować połączoną usługę Azure Storage SAS, ustaw typ połączonej usługi AzureStorageSas. Następnie można określić następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ Właściwość typu musi być ustawiona na: AzureStorageSas Tak
sasUri Określ identyfikator URI sygnatury dostępu współdzielonego do zasobów usługi Azure Storage, takich jak obiekty blob, kontener lub tabela. Tak

Przykład:

{
    "name": "StorageSasLinkedService",
    "properties": {
        "type": "AzureStorageSas",
        "typeProperties": {
            "sasUri": "<storageUri>?<sasToken>"
        }
    }
}

Aby uzyskać więcej informacji na temat tych połączonych usług, zobacz artykuł Dotyczący łącznika usługi Azure Table Storage .

Zestaw danych

Aby zdefiniować zestaw danych tabel platformy Azure, ustaw typ zestawu danych na AzureTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w wystąpieniu usługi Azure Table Database, do którego odwołuje się połączona usługa. Tak. Gdy parametr tableName jest określony bez elementu azureTableSourceQuery, wszystkie rekordy z tabeli są kopiowane do miejsca docelowego. Jeśli określono również wartość azureTableSourceQuery, rekordy z tabeli, która spełnia wymagania zapytania, są kopiowane do miejsca docelowego.

Przykład

{
    "name": "AzureTableInput",
    "properties": {
        "type": "AzureTable",
        "linkedServiceName": "StorageLinkedService",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji na temat tych połączonych usług, zobacz artykuł Dotyczący łącznika usługi Azure Table Storage .

Źródło tabeli platformy Azure w działaniu kopiowania

Jeśli kopiujesz dane z usługi Azure Table Storage, ustaw typ źródłowy działania kopiowania na wartość AzureTableSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
azureTableSourceQuery Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania tabeli platformy Azure. Zobacz przykłady w następnej sekcji. Nie. Gdy parametr tableName jest określony bez elementu azureTableSourceQuery, wszystkie rekordy z tabeli są kopiowane do miejsca docelowego. Jeśli określono również wartość azureTableSourceQuery, rekordy z tabeli, która spełnia wymagania zapytania, są kopiowane do miejsca docelowego.
azureTableSourceIgnoreTableNotFound Wskaż, czy połykanie wyjątku tabeli nie istnieje. Prawda
Fałsz
Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureTabletoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureTableInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "AzureTableSource",
                    "AzureTableSourceQuery": "PartitionKey eq 'DefaultPartitionKey'"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji na temat tych połączonych usług, zobacz artykuł Dotyczący łącznika usługi Azure Table Storage .

Ujście tabeli platformy Azure w działaniu kopiowania

Jeśli kopiujesz dane do usługi Azure Table Storage, ustaw typ ujścia działania kopiowania na wartość AzureTableSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
azureTableDefaultPartitionKeyValue Domyślna wartość klucza partycji, która może być używana przez ujście. Wartość ciągu. Nie
azureTablePartitionKeyName Określ nazwę kolumny, której wartości są używane jako klucze partycji. Jeśli nie zostanie określony, parametr AzureTableDefaultPartitionKeyValue jest używany jako klucz partycji. Nazwa kolumny. Nie
azureTableRowKeyName Określ nazwę kolumny, której wartości kolumn są używane jako klucz wiersza. Jeśli nie zostanie określony, użyj identyfikatora GUID dla każdego wiersza. Nazwa kolumny. Nie
azureTableInsertType Tryb wstawiania danych do tabeli platformy Azure.

Ta właściwość określa, czy istniejące wiersze w tabeli wyjściowej z pasującymi kluczami partycji i wierszy mają ich wartości zamienione lub scalone.

Aby dowiedzieć się, jak działają te ustawienia (scalanie i zastępowanie), zobacz Wstawianie lub scalanie jednostek oraz Wstawianie lub zastępowanie tematów jednostki .

To ustawienie ma zastosowanie na poziomie wiersza, a nie na poziomie tabeli i żadna z opcji nie usuwa wierszy w tabeli wyjściowej, które nie istnieją w danych wejściowych.
merge (ustawienie domyślne)
Zastąp
Nie
writeBatchSize Wstawia dane do tabeli platformy Azure po osiągnięciu wartości writeBatchSize lub writeBatchTimeout. Liczba całkowita (liczba wierszy) Nie (wartość domyślna: 10000)
writeBatchTimeout Wstawia dane do tabeli platformy Azure po osiągnięciu wartości writeBatchSize lub writeBatchTimeout zakres czasu

Przykład: "00:20:00" (20 minut)
Nie (domyślna wartość limitu czasu klienta magazynu: 90 s)

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoTable",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "AzureTableOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "AzureTableSink",
                    "writeBatchSize": 100,
                    "writeBatchTimeout": "01:00:00"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji na temat tych połączonych usług, zobacz artykuł Dotyczący łącznika usługi Azure Table Storage .

Amazon RedShift

Połączona usługa

Aby zdefiniować połączoną usługę Amazon Redshift, ustaw typ połączonej usługi na AmazonRedshift i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Adres IP lub nazwa hosta serwera Amazon Redshift. Tak
port Liczba portów TCP używanych przez serwer Amazon Redshift do nasłuchiwania połączeń klientów. Nie, wartość domyślna: 5439
database Nazwa bazy danych Amazon Redshift. Tak
nazwa użytkownika Nazwa użytkownika, który ma dostęp do bazy danych. Tak
hasło Hasło do konta użytkownika. Tak

Przykład

{
    "name": "AmazonRedshiftLinkedService",
    "properties": {
        "type": "AmazonRedshift",
        "typeProperties": {
            "server": "<Amazon Redshift host name or IP address>",
            "port": 5439,
            "database": "<database name>",
            "username": "user",
            "password": "password"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Amazon Redshift.

Zestaw danych

Aby zdefiniować zestaw danych Amazon Redshift, ustaw typ zestawu danych na RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w bazie danych Amazon Redshift, do którego odwołuje się połączona usługa. Nie (jeśli określono zapytanieRelationalSource )

Przykład

{
    "name": "AmazonRedshiftInputDataset",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "AmazonRedshiftLinkedService",
        "typeProperties": {
            "tableName": "<Table name>"
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Amazon Redshift.

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z usługi Amazon Redshift, ustaw typ źródłowy działania kopiowania na Wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Ciąg zapytania SQL. Na przykład: select * from MyTable. Nie (jeśli określono parametr tableNamezestawu danych )

Przykład

{
    "name": "CopyAmazonRedshiftToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "$$Text.Format('select * from MyTable where timestamp >= \\'{0:yyyy-MM-ddTHH:mm:ss}\\' AND timestamp < \\'{1:yyyy-MM-ddTHH:mm:ss}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "AmazonRedshiftInputDataset"
            }],
            "outputs": [{
                "name": "AzureBlobOutputDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "AmazonRedshiftToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Amazon Redshift.

IBM DB2

Połączona usługa

Aby zdefiniować połączoną usługę IBM DB2, ustaw typ połączonej usługi na Wartość OnPremisesDB2 i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Nazwa serwera DB2. Tak
database Nazwa bazy danych DB2. Tak
schema Nazwa schematu w bazie danych. W nazwie schematu jest rozróżniana wielkość liter. Nie
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych DB2. Możliwe wartości to: Anonimowe, Podstawowe i Windows. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego lub windows. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory do nawiązywania połączenia z lokalną bazą danych DB2. Tak

Przykład

{
    "name": "OnPremDb2LinkedService",
    "properties": {
        "type": "OnPremisesDb2",
        "typeProperties": {
            "server": "<server>",
            "database": "<database>",
            "schema": "<schema>",
            "authenticationType": "<authentication type>",
            "username": "<username>",
            "password": "<password>",
            "gatewayName": "<gatewayName>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika IBM DB2.

Zestaw danych

Aby zdefiniować zestaw danych DB2, ustaw typ zestawu danych na RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w wystąpieniu bazy danych DB2, do którego odwołuje się połączona usługa. W tabeli TableName jest uwzględniana wielkość liter. Nie (jeśli określono zapytanieRelationalSource )

Przykład

{
    "name": "Db2DataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremDb2LinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika IBM DB2.

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych IBM DB2, ustaw typ źródłowy działania kopiowania na wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Ciąg zapytania SQL. Na przykład: "query": "select * from "MySchema"."MyTable"". Nie (jeśli określono parametr tableNamezestawu danych )

Przykład

{
    "name": "CopyDb2ToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "select * from \"Orders\""
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "inputs": [{
                "name": "Db2DataSet"
            }],
            "outputs": [{
                "name": "AzureBlobDb2DataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "Db2ToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika IBM DB2.

MySQL

Połączona usługa

Aby zdefiniować połączoną usługę MySQL, ustaw typ połączonej usługi na Wartość OnPremisesMySql i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Nazwa serwera MySQL. Tak
database Nazwa bazy danych MySQL. Tak
schema Nazwa schematu w bazie danych. Nie
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych MySQL. Możliwe wartości to: Basic. Tak
userName Określ nazwę użytkownika, aby nawiązać połączenie z bazą danych MySQL. Tak
hasło Określ hasło dla określonego konta użytkownika. Tak
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory do nawiązywania połączenia z lokalną bazą danych MySQL. Tak

Przykład

{
    "name": "OnPremMySqlLinkedService",
    "properties": {
        "type": "OnPremisesMySql",
        "typeProperties": {
            "server": "<server name>",
            "database": "<database name>",
            "schema": "<schema name>",
            "authenticationType": "<authentication type>",
            "userName": "<user name>",
            "password": "<password>",
            "gatewayName": "<gateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika mySQL .

Zestaw danych

Aby zdefiniować zestaw danych MySQL, ustaw typ zestawu danych na RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w wystąpieniu bazy danych MySQL, do którego odwołuje się połączona usługa. Nie (jeśli określono zapytanieRelationalSource )

Przykład

{
    "name": "MySqlDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremMySqlLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika mySQL .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych MySQL, ustaw typ źródłowy działania kopiowania na wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Ciąg zapytania SQL. Na przykład: select * from MyTable. Nie (jeśli określono parametr tableNamezestawu danych )

Przykład

{
    "name": "CopyMySqlToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "$$Text.Format('select * from MyTable where timestamp >= \\'{0:yyyy-MM-ddTHH:mm:ss}\\' AND timestamp < \\'{1:yyyy-MM-ddTHH:mm:ss}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "MySqlDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobMySqlDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "MySqlToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika mySQL .

Oracle

Połączona usługa

Aby zdefiniować połączoną usługę Oracle, ustaw typ połączonej usługi na Wartość OnPremisesOracle i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
driverType Określ, który sterownik ma być używany do kopiowania danych z/do bazy danych Oracle Database. Dozwolone wartości to Microsoft lub ODP (wartość domyślna). Aby uzyskać szczegółowe informacje o sterownikach, zobacz sekcję Obsługiwana wersja i instalacja. Nie
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z wystąpieniem bazy danych Oracle dla właściwości connectionString. Tak
gatewayName Nazwa bramy używanej do nawiązywania połączenia z lokalnym serwerem Oracle Tak

Przykład

{
    "name": "OnPremisesOracleLinkedService",
    "properties": {
        "type": "OnPremisesOracle",
        "typeProperties": {
            "driverType": "Microsoft",
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;",
            "gatewayName": "<gateway name>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Oracle .

Zestaw danych

Aby zdefiniować zestaw danych Oracle, ustaw typ zestawu danych na OracleTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w bazie danych Oracle Database, do którego odwołuje się połączona usługa. Nie (jeśli określono oracleReaderQuery elementu OracleSource )

Przykład

{
    "name": "OracleInput",
    "properties": {
        "type": "OracleTable",
        "linkedServiceName": "OnPremisesOracleLinkedService",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "external": true,
        "availability": {
            "offset": "01:00:00",
            "interval": "1",
            "anchorDateTime": "2016-02-27T12:00:00",
            "frequency": "Hour"
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Oracle .

Źródło Oracle w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych Oracle, ustaw typ źródłowy działania kopiowania na oracleSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
oracleReaderQuery Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: select * from MyTable

Jeśli nie zostanie określona, instrukcja SQL, która jest wykonywana: select * from MyTable
Nie (jeśli określono wartość tableNamezestawu danych )

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "OracletoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": " OracleInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "OracleSource",
                    "oracleReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
            "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Oracle .

Ujście Oracle w działaniu kopiowania

Jeśli kopiujesz dane do bazy danych Oracle, ustaw typ ujścia działania kopiowania na OracleSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
writeBatchTimeout Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. zakres czasu

Przykład: 00:30:00 (30 minut).
Nie
writeBatchSize Wstawia dane do tabeli SQL, gdy rozmiar buforu osiągnie wartość writeBatchSize. Liczba całkowita (liczba wierszy) Nie (wartość domyślna: 100)
sqlWriterCleanupScript Określ zapytanie dotyczące działania kopiowania w celu wykonania, aby dane określonego wycinka zostały wyczyszczone. Instrukcja zapytania. Nie
sliceIdentifierColumnName Określ nazwę kolumny dla działania kopiowania, aby wypełnić go automatycznie wygenerowanym identyfikatorem wycinka, który służy do czyszczenia danych określonego wycinka podczas ponownego uruchamiania. Nazwa kolumny z typem danych binarnych (32). Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-05T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoOracle",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": "OracleOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource"
                },
                "sink": {
                    "type": "OracleSink"
                }
            },
            "scheduler": {
                "frequency": "Day",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Oracle .

PostgreSQL

Połączona usługa

Aby zdefiniować połączoną usługę PostgreSQL, ustaw typ połączonej usługi na OnPremisesPostgreSql i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Nazwa serwera PostgreSQL. Tak
database Nazwa bazy danych PostgreSQL. Tak
schema Nazwa schematu w bazie danych. Nazwa schematu jest wrażliwa na wielkość liter. Nie
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych PostgreSQL. Możliwe wartości to: Anonimowe, Podstawowe i Windows. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego lub windows. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z lokalną bazą danych PostgreSQL. Tak

Przykład

{
    "name": "OnPremPostgreSqlLinkedService",
    "properties": {
        "type": "OnPremisesPostgreSql",
        "typeProperties": {
            "server": "<server>",
            "database": "<database>",
            "schema": "<schema>",
            "authenticationType": "<authentication type>",
            "username": "<username>",
            "password": "<password>",
            "gatewayName": "<gatewayName>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika PostgreSQL .

Zestaw danych

Aby zdefiniować zestaw danych PostgreSQL, ustaw typ zestawu danych na Wartość RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w wystąpieniu bazy danych PostgreSQL, do którego odwołuje się połączona usługa. Wartość tableName jest rozróżniana wielkość liter. Nie (jeśli określono zapytanierelacyjne źródło )

Przykład

{
    "name": "PostgreSqlDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremPostgreSqlLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika PostgreSQL .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych PostgreSQL, ustaw typ źródłowy działania kopiowania na Wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: "query": "select * from "MySchema". MyTable"". Nie (jeśli określono wartość tableNamezestawu danych )

Przykład

{
    "name": "CopyPostgreSqlToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "select * from \"public\".\"usstates\""
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "inputs": [{
                "name": "PostgreSqlDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobPostgreSqlDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "PostgreSqlToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika PostgreSQL .

SAP Business Warehouse

Połączona usługa

Aby zdefiniować połączoną usługę SAP Business Warehouse (BW), ustaw typ połączonej usługi na sapBw i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Dozwolone wartości Wymagane
serwer Nazwa serwera, na którym znajduje się wystąpienie sap BW. ciąg Tak
systemNumber Numer systemu SAP BW. Dwucyfrowa liczba dziesiętna reprezentowana jako ciąg. Tak
clientId Identyfikator klienta klienta w systemie SAP W. Trzycyfrowa liczba dziesiętna reprezentowana jako ciąg. Tak
nazwa użytkownika Nazwa użytkownika, który ma dostęp do serwera SAP ciąg Tak
hasło Hasło użytkownika. ciąg Tak
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z lokalnym wystąpieniem sap BW. ciąg Tak
encryptedCredential Zaszyfrowany ciąg poświadczeń. ciąg Nie

Przykład

{
    "name": "SapBwLinkedService",
    "properties": {
        "type": "SapBw",
        "typeProperties": {
            "server": "<server name>",
            "systemNumber": "<system number>",
            "clientId": "<client id>",
            "username": "<SAP user>",
            "password": "<Password for SAP user>",
            "gatewayName": "<gateway name>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP Business Warehouse .

Zestaw danych

Aby zdefiniować zestaw danych SAP BW, ustaw typ zestawu danych na Wartość RelationalTable. Dla zestawu danych SAP BW typu RelationalTable nie są obsługiwane żadne właściwości specyficzne dla typu .

Przykład

{
    "name": "SapBwDataset",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "SapBwLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP Business Warehouse .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z usługi SAP Business Warehouse, ustaw typ źródłowy działania kopiowania na wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Określa zapytanie MDX do odczytu danych z wystąpienia sap BW. Zapytanie MDX. Tak

Przykład

{
    "name": "CopySapBwToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "<MDX query for SAP BW>"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "SapBwDataset"
            }],
            "outputs": [{
                "name": "AzureBlobDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "SapBwToBlob"
        }],
        "start": "2017-03-01T18:00:00",
        "end": "2017-03-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP Business Warehouse .

SAP HANA

Połączona usługa

Aby zdefiniować połączoną usługę SAP HANA, ustaw typ połączonej usługi na platformę SapHana i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Dozwolone wartości Wymagane
serwer Nazwa serwera, na którym znajduje się wystąpienie sap HANA. Jeśli serwer korzysta z dostosowanego portu, określ server:portwartość . ciąg Tak
authenticationType Typ uwierzytelniania. . "Podstawowa" lub "Windows" Tak
nazwa użytkownika Nazwa użytkownika, który ma dostęp do serwera SAP ciąg Tak
hasło Hasło użytkownika. ciąg Tak
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z lokalnym wystąpieniem platformy SAP HANA. ciąg Tak
encryptedCredential Zaszyfrowany ciąg poświadczeń. ciąg Nie

Przykład

{
    "name": "SapHanaLinkedService",
    "properties": {
        "type": "SapHana",
        "typeProperties": {
            "server": "<server name>",
            "authenticationType": "<Basic, or Windows>",
            "username": "<SAP user>",
            "password": "<Password for SAP user>",
            "gatewayName": "<gateway name>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP HANA .

Zestaw danych

Aby zdefiniować zestaw danych SAP HANA, ustaw typ zestawu danych na Wartość RelationalTable. Brak właściwości specyficznych dla typu dla zestawu danych SAP HANA typu RelationalTable.

Przykład

{
    "name": "SapHanaDataset",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "SapHanaLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP HANA .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z magazynu danych SAP HANA, ustaw typ źródłowy działania kopiowania na RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Określa zapytanie SQL do odczytu danych z wystąpienia sap HANA. Zapytanie SQL. Tak

Przykład

{
    "name": "CopySapHanaToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "<SQL Query for HANA>"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "SapHanaDataset"
            }],
            "outputs": [{
                "name": "AzureBlobDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "SapHanaToBlob"
        }],
        "start": "2017-03-01T18:00:00",
        "end": "2017-03-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SAP HANA .

SQL Server

Połączona usługa

Utworzysz połączoną usługę typu OnPremisesSqlServer , aby połączyć bazę danych programu SQL Server z fabryką danych. Poniższa tabela zawiera opis elementów JSON specyficznych dla połączonej usługi PROGRAMU SQL Server.

Poniższa tabela zawiera opis elementów JSON specyficznych dla połączonej usługi PROGRAMU SQL Server.

Właściwość Opis Wymagane
typ Właściwość typu powinna być ustawiona na: OnPremisesSqlServer. Tak
Parametry połączenia Określ informacje o połączeniu wymagane do nawiązania połączenia z bazą danych programu SQL Server przy użyciu uwierzytelniania SQL lub uwierzytelniania systemu Windows. Tak
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z bazą danych programu SQL Server. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania systemu Windows. Przykład: nazwa_domeny\nazwa_użytkownika. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie

Poświadczenia można szyfrować przy użyciu polecenia cmdlet New-AzDataFactoryEncryptValue i użyć ich w parametrach połączenia, jak pokazano w poniższym przykładzie (właściwość EncryptedCredential ):

"connectionString": "Data Source=<servername>;Initial Catalog=<databasename>;Integrated Security=True;EncryptedCredential=<encrypted credential>",

Przykład: kod JSON do korzystania z uwierzytelniania SQL

{
    "name": "MyOnPremisesSQLDB",
    "properties": {
        "type": "OnPremisesSqlServer",
        "typeProperties": {
            "connectionString": "Data Source=<servername>;Initial Catalog=MarketingCampaigns;Integrated Security=False;User ID=<username>;Password=<password>;",
            "gatewayName": "<gateway name>"
        }
    }
}

Przykład: kod JSON do korzystania z uwierzytelniania systemu Windows

Jeśli określono nazwę użytkownika i hasło, brama używa ich do personifikacji określonego konta użytkownika w celu nawiązania połączenia z bazą danych programu SQL Server. W przeciwnym razie brama łączy się z programem SQL Server bezpośrednio z kontekstem zabezpieczeń bramy (jego konto uruchamiania).

{
    "Name": " MyOnPremisesSQLDB",
    "Properties": {
        "type": "OnPremisesSqlServer",
        "typeProperties": {
            "ConnectionString": "Data Source=<servername>;Initial Catalog=MarketingCampaigns;Integrated Security=True;",
            "username": "<domain\\username>",
            "password": "<password>",
            "gatewayName": "<gateway name>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika programu SQL Server .

Zestaw danych

Aby zdefiniować zestaw danych programu SQL Server, ustaw typ zestawu danych na SqlServerTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli lub widoku w wystąpieniu bazy danych programu SQL Server, do którego odwołuje się połączona usługa. Tak

Przykład

{
    "name": "SqlServerInput",
    "properties": {
        "type": "SqlServerTable",
        "linkedServiceName": "SqlServerLinkedService",
        "typeProperties": {
            "tableName": "MyTable"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika programu SQL Server .

Źródło SQL w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych programu SQL Server, ustaw typ źródłowy działania kopiowania na sqlSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
sqlReaderQuery Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: select * from MyTable. Może odwoływać się do wielu tabel z bazy danych, do których odwołuje się wejściowy zestaw danych. Jeśli nie zostanie określona, wykonywana instrukcja SQL: wybierz pozycję MyTable. Nie
sqlReaderStoredProcedureName Nazwa procedury składowanej, która odczytuje dane z tabeli źródłowej. Nazwa procedury składowanej. Nie
storedProcedureParameters Parametry procedury składowanej. Pary nazw/wartości. Nazwy i wielkość liter parametrów muszą być zgodne z nazwami i wielkością parametrów procedury składowanej. Nie

Jeśli parametr sqlReaderQuery jest określony dla usługi SqlSource, działanie kopiowania uruchamia to zapytanie względem źródła bazy danych programu SQL Server, aby pobrać dane.

Alternatywnie można określić procedurę składowaną, określając sqlReaderStoredProcedureName i storedProcedureParameters (jeśli procedura składowana przyjmuje parametry).

Jeśli nie określisz parametru sqlReaderQuery lub sqlReaderStoredProcedureName, kolumny zdefiniowane w sekcji struktury są używane do kompilowania zapytania wybranego do uruchomienia względem bazy danych programu SQL Server. Jeśli definicja zestawu danych nie ma struktury, wszystkie kolumny są wybierane z tabeli.

Uwaga

Jeśli używasz sqlReaderStoredProcedureName, nadal musisz określić wartość właściwości tableName w formacie JSON zestawu danych. Nie ma jednak żadnych walidacji wykonywanych w tej tabeli.

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "SqlServertoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": " SqlServerInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd HH:mm}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd HH:mm}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink"
                }
			},
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

W tym przykładzie parametr sqlReaderQuery jest określony dla usługi SqlSource. Działanie kopiowania uruchamia to zapytanie względem źródła bazy danych programu SQL Server w celu pobrania danych. Alternatywnie można określić procedurę składowaną, określając sqlReaderStoredProcedureName i storedProcedureParameters (jeśli procedura składowana przyjmuje parametry). Zapytanie sqlReaderQuery może odwoływać się do wielu tabel w bazie danych, do których odwołuje się zestaw danych wejściowych. Nie jest ograniczona tylko do tabeli ustawionej jako typ tableName zestawu danychProperty.

Jeśli nie określisz parametru sqlReaderQuery lub sqlReaderStoredProcedureName, kolumny zdefiniowane w sekcji struktury są używane do tworzenia zapytania wybranego do uruchomienia względem bazy danych programu SQL Server. Jeśli definicja zestawu danych nie ma struktury, wszystkie kolumny są wybierane z tabeli.

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika programu SQL Server .

Ujście SQL w działaniu kopiowania

Jeśli kopiujesz dane do bazy danych programu SQL Server, ustaw typ ujścia działania kopiowania na sqlSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
writeBatchTimeout Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. zakres czasu

Przykład: "00:30:00" (30 minut).
Nie
writeBatchSize Wstawia dane do tabeli SQL, gdy rozmiar buforu osiągnie wartość writeBatchSize. Liczba całkowita (liczba wierszy) Nie (wartość domyślna: 10000)
sqlWriterCleanupScript Określ zapytanie dotyczące działania kopiowania w celu wykonania, aby dane określonego wycinka zostały wyczyszczone. Aby uzyskać więcej informacji, zobacz sekcję powtarzalność. Instrukcja zapytania. Nie
sliceIdentifierColumnName Określ nazwę kolumny dla działania kopiowania, aby wypełnić go automatycznie wygenerowanym identyfikatorem wycinka, który służy do czyszczenia danych określonego wycinka podczas ponownego uruchamiania. Aby uzyskać więcej informacji, zobacz sekcję powtarzalność. Nazwa kolumny z typem danych binarnych (32). Nie
sqlWriterStoredProcedureName Nazwa procedury składowanej, która upserts (aktualizacje/wstawia) dane do tabeli docelowej. Nazwa procedury składowanej. Nie
storedProcedureParameters Parametry procedury składowanej. Pary nazw/wartości. Nazwy i wielkość liter parametrów muszą być zgodne z nazwami i wielkością parametrów procedury składowanej. Nie
sqlWriterTableType Określ nazwę typu tabeli do użycia w procedurze składowanej. Działanie kopiowania sprawia, że dane są przenoszone w tabeli tymczasowej o tym typie tabeli. Kod procedury składowanej może następnie scalić dane kopiowane z istniejącymi danymi. Nazwa typu tabeli. Nie

Przykład

Potok zawiera działanie kopiowania skonfigurowane do korzystania z tych wejściowych i wyjściowych zestawów danych i jest zaplanowane do uruchamiania co godzinę. W definicji JSON potoku typ źródła jest ustawiony na BlobSource , a typ ujścia jest ustawiony na SqlSink.

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "AzureBlobtoSQL",
            "description": "Copy Activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureBlobInput"
            }],
            "outputs": [{
                "name": " SqlServerOutput "
            }],
            "typeProperties": {
                "source": {
                    "type": "BlobSource",
                    "blobColumnSeparators": ","
                },
                "sink": {
                    "type": "SqlSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika programu SQL Server .

Sybase

Połączona usługa

Aby zdefiniować połączoną usługę Sybase, ustaw typ połączonej usługi na OnPremisesSybase i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Nazwa serwera Sybase. Tak
database Nazwa bazy danych Sybase. Tak
schema Nazwa schematu w bazie danych. Nie
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych Sybase. Możliwe wartości to: Anonimowe, Podstawowe i Windows. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego lub windows. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z lokalną bazą danych Sybase. Tak

Przykład

{
    "name": "OnPremSybaseLinkedService",
    "properties": {
        "type": "OnPremisesSybase",
        "typeProperties": {
            "server": "<server>",
            "database": "<database>",
            "schema": "<schema>",
            "authenticationType": "<authentication type>",
            "username": "<username>",
            "password": "<password>",
            "gatewayName": "<gatewayName>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Sybase .

Zestaw danych

Aby zdefiniować zestaw danych Sybase, ustaw typ zestawu danych na Wartość RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w wystąpieniu bazy danych Sybase, do którego odwołuje się połączona usługa. Nie (jeśli określono zapytanierelacyjne źródło )

Przykład

{
    "name": "SybaseDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremSybaseLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Sybase .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych Sybase, ustaw typ źródłowy działania kopiowania na Wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: select * from MyTable. Nie (jeśli określono wartość tableNamezestawu danych )

Przykład

{
    "name": "CopySybaseToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "select * from DBA.Orders"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "inputs": [{
                "name": "SybaseDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobSybaseDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "SybaseToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Sybase .

Teradata

Połączona usługa

Aby zdefiniować połączoną usługę Teradata, ustaw typ połączonej usługi na OnPremisesTeradata i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Nazwa serwera Teradata. Tak
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych Teradata. Możliwe wartości to: Anonimowe, Podstawowe i Windows. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego lub windows. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory do nawiązywania połączenia z lokalną bazą danych Teradata. Tak

Przykład

{
    "name": "OnPremTeradataLinkedService",
    "properties": {
        "type": "OnPremisesTeradata",
        "typeProperties": {
            "server": "<server>",
            "authenticationType": "<authentication type>",
            "username": "<username>",
            "password": "<password>",
            "gatewayName": "<gatewayName>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Teradata .

Zestaw danych

Aby zdefiniować zestaw danych obiektu blob Teradata, ustaw typ zestawu danych na RelationalTable. Obecnie dla zestawu danych Teradata nie są obsługiwane żadne właściwości typu.

Przykład

{
    "name": "TeradataDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremTeradataLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Teradata .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych Teradata, ustaw typ źródłowy działania kopiowania na RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Ciąg zapytania SQL. Na przykład: select * from MyTable. Tak

Przykład

{
    "name": "CopyTeradataToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "$$Text.Format('select * from MyTable where timestamp >= \\'{0:yyyy-MM-ddTHH:mm:ss}\\' AND timestamp < \\'{1:yyyy-MM-ddTHH:mm:ss}\\'', SliceStart, SliceEnd)"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "TeradataDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobTeradataDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "TeradataToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "isPaused": false
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Teradata .

Cassandra

Połączona usługa

Aby zdefiniować połączoną usługę Cassandra, ustaw typ połączonej usługi na Wartość OnPremisesCassandra i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
host Co najmniej jeden adres IP lub nazwy hostów serwerów Cassandra.

Określ rozdzielaną przecinkami listę adresów IP lub nazw hostów, aby połączyć się ze wszystkimi serwerami jednocześnie.
Tak
port Port TCP używany przez serwer Cassandra do nasłuchiwania połączeń klienckich. Nie, wartość domyślna: 9042
authenticationType Podstawowa lub anonimowa Tak
nazwa użytkownika Określ nazwę użytkownika dla konta użytkownika. Tak, jeśli właściwość authenticationType jest ustawiona na Wartość Podstawowa.
hasło Określ hasło dla konta użytkownika. Tak, jeśli właściwość authenticationType jest ustawiona na Wartość Podstawowa.
gatewayName Nazwa bramy używanej do nawiązywania połączenia z lokalną bazą danych Cassandra. Tak
encryptedCredential Poświadczenie zaszyfrowane przez bramę. Nie

Przykład

{
    "name": "CassandraLinkedService",
    "properties": {
        "type": "OnPremisesCassandra",
        "typeProperties": {
            "authenticationType": "Basic",
            "host": "<cassandra server name or IP address>",
            "port": 9042,
            "username": "user",
            "password": "password",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Cassandra .

Zestaw danych

Aby zdefiniować zestaw danych Cassandra, ustaw typ zestawu danych na CassandraTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
przestrzeń kluczy Nazwa przestrzeni kluczy lub schematu w bazie danych Cassandra. Tak (Jeśli zapytanie dotyczące elementu CassandraSource nie jest zdefiniowane).
tableName Nazwa tabeli w bazie danych Cassandra. Tak (Jeśli zapytanie dotyczące elementu CassandraSource nie jest zdefiniowane).

Przykład

{
    "name": "CassandraInput",
    "properties": {
        "linkedServiceName": "CassandraLinkedService",
        "type": "CassandraTable",
        "typeProperties": {
            "tableName": "mytable",
            "keySpace": "<key space>"
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Cassandra .

Źródło Cassandra w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych Cassandra, ustaw typ źródłowy działania kopiowania na cassandraSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Zapytanie SQL-92 lub zapytanie CQL. Zobacz dokumentację języka CQL.

W przypadku korzystania z zapytania SQL określ nazwę name.table przestrzeni kluczy , która będzie reprezentować tabelę, której chcesz wykonać zapytanie.
Nie (jeśli element tableName i przestrzeń kluczy w zestawie danych są zdefiniowane).
consistencyLevel Poziom spójności określa, ile replik musi odpowiadać na żądanie odczytu przed zwróceniem danych do aplikacji klienckiej. System Cassandra sprawdza określoną liczbę replik danych w celu spełnienia żądania odczytu. JEDEN, DWA, TRZY, KWORUM, WSZYSTKIE, LOCAL_QUORUM, EACH_QUORUM, LOCAL_ONE. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie spójności danych . Nie. Wartość domyślna to ONE.

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "CassandraToAzureBlob",
            "description": "Copy from Cassandra to an Azure blob",
            "type": "Copy",
            "inputs": [{
                "name": "CassandraInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "CassandraSource",
                    "query": "select id, firstname, lastname from mykeyspace.mytable"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika Cassandra .

MongoDB

Połączona usługa

Aby zdefiniować połączoną usługę MongoDB, ustaw typ połączonej usługi na Wartość OnPremisesMongoDB i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
serwer Adres IP lub nazwa hosta serwera MongoDB. Tak
port Port TCP używany przez serwer MongoDB do nasłuchiwania połączeń klienckich. Opcjonalna, wartość domyślna: 27017
authenticationType Podstawowa lub anonimowa. Tak
nazwa użytkownika Konto użytkownika w celu uzyskania dostępu do bazy danych MongoDB. Tak (jeśli jest używane uwierzytelnianie podstawowe).
hasło Hasło użytkownika. Tak (jeśli jest używane uwierzytelnianie podstawowe).
authSource Nazwa bazy danych MongoDB, której chcesz użyć do sprawdzenia poświadczeń na potrzeby uwierzytelniania. Opcjonalnie (jeśli jest używane uwierzytelnianie podstawowe). wartość domyślna: używa konta administratora i bazy danych określonej przy użyciu właściwości databaseName.
Databasename Nazwa bazy danych MongoDB, do której chcesz uzyskać dostęp. Tak
gatewayName Nazwa bramy, która uzyskuje dostęp do magazynu danych. Tak
encryptedCredential Poświadczenia zaszyfrowane przez bramę. Opcjonalne

Przykład

{
    "name": "OnPremisesMongoDbLinkedService",
    "properties": {
        "type": "OnPremisesMongoDb",
        "typeProperties": {
            "authenticationType": "<Basic or Anonymous>",
            "server": "< The IP address or host name of the MongoDB server >",
            "port": "<The number of the TCP port that the MongoDB server uses to listen for client connections.>",
            "username": "<username>",
            "password": "<password>",
            "authSource": "< The database that you want to use to check your credentials for authentication. >",
            "databaseName": "<database name>",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika bazy danych MongoDB

Zestaw danych

Aby zdefiniować zestaw danych MongoDB, ustaw typ zestawu danych na MongoDbCollection i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Collectionname Nazwa kolekcji w bazie danych MongoDB. Tak

Przykład

{
    "name": "MongoDbInputDataset",
    "properties": {
        "type": "MongoDbCollection",
        "linkedServiceName": "OnPremisesMongoDbLinkedService",
        "typeProperties": {
            "collectionName": "<Collection name>"
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika bazy danych MongoDB

Źródło bazy danych MongoDB w działaniu kopiowania

Jeśli kopiujesz dane z bazy danych MongoDB, ustaw typ źródłowy działania kopiowania na mongoDbSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL-92. Na przykład: select * from MyTable. Nie (jeśli jest określona nazwa kolekcjizestawu danych )

Przykład

{
    "name": "CopyMongoDBToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "MongoDbSource",
                    "query": "select * from MyTable"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "MongoDbInputDataset"
            }],
            "outputs": [{
                "name": "AzureBlobOutputDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "MongoDBToAzureBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika bazy danych MongoDB

Amazon S3

Połączona usługa

Aby zdefiniować połączoną usługę Amazon S3, ustaw typ połączonej usługi na wartość AwsAccessKey i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Dozwolone wartości Wymagane
accessKeyID Identyfikator klucza dostępu wpisu tajnego. ciąg Tak
secretAccessKey Sam klucz dostępu wpisu tajnego. Zaszyfrowany ciąg tajny Tak

Przykład

{
    "name": "AmazonS3LinkedService",
    "properties": {
        "type": "AwsAccessKey",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": "<secret access key>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika Amazon S3.

Zestaw danych

Aby zdefiniować zestaw danych Amazon S3, ustaw typ zestawu danych na AmazonS3 i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Dozwolone wartości Wymagane
bucketName Nazwa zasobnika S3. Ciąg Tak
key Klucz obiektu S3. Ciąg Nie
Prefiks Prefiks klucza obiektu S3. Zaznaczono obiekty, których klucze zaczynają się od tego prefiksu. Dotyczy tylko wtedy, gdy klucz jest pusty. Ciąg Nie
Wersja Wersja obiektu S3, jeśli włączono przechowywanie wersji S3. Ciąg Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki zgodnie z rzeczywistym użyciem między magazynami opartymi na plikach (kopiowaniem binarnym), pomiń sekcję formatowania zarówno w definicjach zestawu danych wejściowych, jak i wyjściowych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: Optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Uwaga

bucketName + key określa lokalizację obiektu S3, w którym zasobnik jest kontenerem głównym obiektów S3, a klucz jest pełną ścieżką do obiektu S3.

Przykład: przykładowy zestaw danych z prefiksem

{
    "name": "dataset-s3",
    "properties": {
        "type": "AmazonS3",
        "linkedServiceName": "link- testS3",
        "typeProperties": {
            "prefix": "testFolder/test",
            "bucketName": "<S3 bucket name>",
            "format": {
                "type": "OrcFormat"
            }
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Przykład: przykładowy zestaw danych (z wersją)

{
    "name": "dataset-s3",
    "properties": {
        "type": "AmazonS3",
        "linkedServiceName": "link- testS3",
        "typeProperties": {
            "key": "testFolder/test.orc",
            "bucketName": "<S3 bucket name>",
            "version": "XXXXXXXXXczm0CJajYkHf0_k6LhBmkcL",
            "format": {
                "type": "OrcFormat"
            }
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true
    }
}

Przykład: ścieżki dynamiczne dla S3

W przykładzie używamy wartości stałych dla właściwości key i bucketName w zestawie danych Amazon S3.

"key": "testFolder/test.orc",
"bucketName": "<S3 bucket name>",

Usługa Data Factory może dynamicznie obliczać klucz i bucketName w czasie wykonywania przy użyciu zmiennych systemowych, takich jak SliceStart.

"key": "$$Text.Format('{0:MM}/{0:dd}/test.orc', SliceStart)"
"bucketName": "$$Text.Format('{0:yyyy}', SliceStart)"

Można to zrobić dla właściwości prefiksu zestawu danych Amazon S3. Aby uzyskać listę obsługiwanych funkcji i zmiennych systemowych, zobacz Funkcje i zmienne usługi Data Factory .

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika amazon S3.

Źródło systemu plików w działaniu kopiowania

Jeśli kopiujesz dane z usługi Amazon S3, ustaw typ źródłowy działania kopiowania na FileSystemSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Określa, czy cyklicznie wyświetlać listę obiektów S3 w katalogu. prawda/fałsz Nie

Przykład

{
    "name": "CopyAmazonS3ToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource",
                    "recursive": true
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "AmazonS3InputDataset"
            }],
            "outputs": [{
                "name": "AzureBlobOutputDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "AmazonS3ToBlob"
        }],
        "start": "2016-08-08T18:00:00",
        "end": "2016-08-08T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika amazon S3.

System plików

Połączona usługa

Lokalny system plików można połączyć z fabryką danych Platformy Azure za pomocą połączonej usługi lokalnego serwera plików . Poniższa tabela zawiera opisy elementów JSON specyficznych dla połączonej usługi lokalnego serwera plików.

Właściwość Opis Wymagane
typ Upewnij się, że właściwość type jest ustawiona na OnPremisesFileServer. Tak
host Określa ścieżkę główną folderu, który chcesz skopiować. Użyj znaku ucieczki ' \ ' dla znaków specjalnych w ciągu. Przykłady można znaleźć w temacie Sample linked service and dataset definitions (Przykładowa połączona usługa i definicje zestawów danych). Tak
userid Określ identyfikator użytkownika, który ma dostęp do serwera. Nie (jeśli wybierzesz pozycję encryptedCredential)
hasło Określ hasło użytkownika (userid). Nie (jeśli wybierzesz pozycję encryptedCredential)
encryptedCredential Określ zaszyfrowane poświadczenia, które można uzyskać, uruchamiając polecenie cmdlet New-AzDataFactoryEncryptValue. Nie (jeśli zdecydujesz się określić identyfikator użytkownika i hasło w postaci zwykłego tekstu)
gatewayName Określa nazwę bramy, która ma być używana przez usługę Data Factory w celu nawiązania połączenia z lokalnym serwerem plików. Tak

Przykładowe definicje ścieżek folderów

Scenariusz Host w definicji połączonej usługi folderPath w definicji zestawu danych
Folder lokalny na maszynie bramy zarządzania danymi:

Przykłady: D:\* lub D:\folder\subfolder\*
D:\\ (w przypadku bramy zarządzania danymi w wersji 2.0 i nowszych)

localhost (w przypadku starszych wersji niż brama zarządzania danymi 2.0)
.\\ or folder\\subfolder (w przypadku bramy zarządzania danymi w wersji 2.0 lub nowszej)

D:\\ lub D:\\folder\\subfolder (w przypadku bramy w wersji starszej niż 2.0)
Zdalny folder udostępniony:

Przykłady: \\myserver\share\* lub \\myserver\share\folder\subfolder\*
\\\\myserver\\share .\\ lub folder\\podfolder

Przykład: używanie nazwy użytkownika i hasła w postaci zwykłego tekstu

{
    "Name": "OnPremisesFileServerLinkedService",
    "properties": {
        "type": "OnPremisesFileServer",
        "typeProperties": {
            "host": "\\\\Contosogame-Asia",
            "userid": "Admin",
            "password": "123456",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład: używanie funkcji encryptedcredential

{
    "Name": " OnPremisesFileServerLinkedService ",
    "properties": {
        "type": "OnPremisesFileServer",
        "typeProperties": {
            "host": "D:\\",
            "encryptedCredential": "WFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5xxxxxxxxxxxxxxxxx",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Łącznik systemu plików.

Zestaw danych

Aby zdefiniować zestaw danych systemu plików, ustaw typ zestawu danych na FileShare i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Określa ścieżkę podrzędną do folderu. Użyj znaku ucieczki "\" dla znaków specjalnych w ciągu. Przykłady można znaleźć w temacie Sample linked service and dataset definitions (Przykładowa połączona usługa i definicje zestawów danych).

Tę właściwość można połączyć z partycjąBy , aby mieć ścieżki folderów oparte na dacie rozpoczęcia/zakończenia wycinka.
Tak
fileName Określ nazwę pliku w folderPath , jeśli tabela ma odwoływać się do określonego pliku w folderze. Jeśli nie określisz żadnej wartości dla tej właściwości, tabela wskazuje wszystkie pliki w folderze.

Jeśli parametr fileName nie jest określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku ma następujący format:

Data.<Guid>.txt (Przykład: Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt)
Nie
Filefilter Określ filtr, który ma być używany do wybierania podzestawu plików w folderPath, a nie wszystkich plików.

Dozwolone wartości to: * (wiele znaków) i ? (pojedynczy znak).

Przykład 1: "fileFilter": "*.log"
Przykład 2: "fileFilter": 2016-1-?.txt"

Należy pamiętać, że parametr fileFilter ma zastosowanie do wejściowego zestawu danych FileShare.
Nie
partitionedBy Można użyć partitionedBy, aby określić dynamiczny folderPath/fileName dla danych szeregów czasowych. Przykładem jest folderPath sparametryzowany dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki w stanie rzeczywistym między magazynami opartymi na plikach (kopią binarną), pomiń sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate; obsługiwane poziomy to: optymalne i najszybsze. zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Uwaga

Nie można jednocześnie używać fileName i fileFilter.

Przykład

{
    "name": "OnpremisesFileSystemInput",
    "properties": {
        "type": " FileShare",
        "linkedServiceName": " OnPremisesFileServerLinkedService ",
        "typeProperties": {
            "folderPath": "mysharedfolder/yearno={Year}/monthno={Month}/dayno={Day}",
            "fileName": "{Hour}.csv",
            "partitionedBy": [{
                "name": "Year",
                "value": {
                    "type": "DateTime",
                    "date": "SliceStart",
                        "format": "yyyy"
                }
            }, {
                "name": "Month",
                "value": {
                    "type": "DateTime",
                    "date": "SliceStart",
                    "format": "MM"
                }
            }, {
                "name": "Day",
                "value": {
                    "type": "DateTime",
                    "date": "SliceStart",
                    "format": "dd"
                }
            }, {
                "name": "Hour",
                "value": {
                    "type": "DateTime",
                    "date": "SliceStart",
                    "format": "HH"
                }
            }]
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika systemu plików.

Źródło systemu plików w działaniu kopiowania

Jeśli kopiujesz dane z systemu plików, ustaw typ źródłowy działania kopiowania na FileSystemSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane cyklicznie z podfolderów, czy tylko z określonego folderu. Prawda, Fałsz (wartość domyślna) Nie

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2015-06-01T18:00:00",
        "end": "2015-06-01T19:00:00",
        "description": "Pipeline for copy activity",
        "activities": [{
            "name": "OnpremisesFileSystemtoBlob",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "OnpremisesFileSystemInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
            "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika systemu plików.

Ujście systemu plików w działaniu kopiowania

Jeśli kopiujesz dane do systemu plików, ustaw typ ujścia działania kopiowania na FileSystemSink i określ następujące właściwości w sekcji ujścia :

Właściwość Opis Dozwolone wartości Wymagane
copyBehavior Definiuje zachowanie kopiowania, gdy źródłem jest BlobSource lub FileSystem. PreserveHierarchy: Zachowuje hierarchię plików w folderze docelowym. Oznacza to, że ścieżka względna pliku źródłowego do folderu źródłowego jest taka sama jak ścieżka względna pliku docelowego do folderu docelowego.

FlattenHierarchy: Wszystkie pliki z folderu źródłowego są tworzone na pierwszym poziomie folderu docelowego. Pliki docelowe są tworzone z automatycznie wygenerowaną nazwą.

MergeFiles: Scala wszystkie pliki z folderu źródłowego do jednego pliku. Jeśli określono nazwę pliku/nazwę obiektu blob, scalona nazwa pliku jest określoną nazwą. W przeciwnym razie jest to automatycznie wygenerowana nazwa pliku.
Nie

auto-

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2015-06-01T18:00:00",
        "end": "2015-06-01T20:00:00",
        "description": "pipeline for copy activity",
        "activities": [{
            "name": "AzureSQLtoOnPremisesFile",
            "description": "copy activity",
            "type": "Copy",
            "inputs": [{
                "name": "AzureSQLInput"
            }],
            "outputs": [{
                "name": "OnpremisesFileSystemOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "SqlSource",
                    "SqlReaderQuery": "$$Text.Format('select * from MyTable where timestampcolumn >= \\'{0:yyyy-MM-dd}\\' AND timestampcolumn < \\'{1:yyyy-MM-dd}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "FileSystemSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 3,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika systemu plików.

FTP

Połączona usługa

Aby zdefiniować połączoną usługę FTP, ustaw typ połączonej usługi na ftpServer i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane Domyślny
host Nazwa lub adres IP serwera FTP Tak  
authenticationType Określanie typu uwierzytelniania Tak Podstawowe, anonimowe
nazwa użytkownika Użytkownik, który ma dostęp do serwera FTP Nie  
hasło Hasło użytkownika (nazwa użytkownika) Nie  
encryptedCredential Zaszyfrowane poświadczenia umożliwiające uzyskanie dostępu do serwera FTP Nie  
gatewayName Nazwa bramy zarządzania danymi do nawiązywania połączenia z lokalnym serwerem FTP Nie  
port Port, na którym nasłuchuje serwer FTP Nie 21
Enablessl Określ, czy używać protokołu FTP za pośrednictwem kanału SSL/TLS Nie true
enableServerCertificateValidation Określ, czy włączyć walidację certyfikatu TLS/SSL serwera podczas korzystania z protokołu FTP za pośrednictwem kanału SSL/TLS Nie true

Przykład: używanie uwierzytelniania anonimowego

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
            "typeProperties": {
            "authenticationType": "Anonymous",
            "host": "myftpserver.com"
        }
    }
}

Przykład: używanie nazwy użytkownika i hasła w postaci zwykłego tekstu na potrzeby uwierzytelniania podstawowego

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "username": "Admin",
            "password": "123456"
        }
    }
}

Przykład: używanie portu, enableSsl, enableServerCertificateValidation

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "username": "Admin",
            "password": "123456",
            "port": "21",
            "enableSsl": true,
            "enableServerCertificateValidation": true
        }
    }
}

Przykład: używanie funkcji encryptedCredential na potrzeby uwierzytelniania i bramy

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "myftpserver.com",
            "authenticationType": "Basic",
            "encryptedCredential": "xxxxxxxxxxxxxxxxx",
            "gatewayName": "<onpremgateway>"
        }
      }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika FTP .

Zestaw danych

Aby zdefiniować zestaw danych FTP, ustaw typ zestawu danych na FileShare i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Ścieżka podrzędna do folderu. Użyj znaku ucieczki " \ " dla znaków specjalnych w ciągu. Zobacz Przykładowe połączone definicje usług i zestawów danych.

Tę właściwość można połączyć z partycjąBy , aby mieć ścieżki folderów na podstawie daty rozpoczęcia/zakończenia wycinka.
Tak
fileName Określ nazwę pliku w folderPath , jeśli chcesz, aby tabela odwołyła się do określonego pliku w folderze. Jeśli nie określisz żadnej wartości dla tej właściwości, tabela wskazuje wszystkie pliki w folderze.

Jeśli parametr fileName nie zostanie określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku będzie miała następujący format:

Data.<Guid>.txt (Przykład: Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt)
Nie
Filefilter Określ filtr, który ma być używany do wybierania podzestawu plików w folderPath, a nie wszystkich plików.

Dozwolone wartości to: * (wiele znaków) i ? (pojedynczy znak).

Przykłady 1: "fileFilter": "*.log"
Przykład 2: "fileFilter": 2016-1-?.txt"

fileFilter ma zastosowanie do wejściowego zestawu danych FileShare. Ta właściwość nie jest obsługiwana w systemie plików HDFS.
Nie
partitionedBy partitionedBy może służyć do określenia dynamicznego folderPath, nazwa pliku dla danych szeregów czasowych. Na przykład folderPath sparametryzowany dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki w stanie rzeczywistym między magazynami opartymi na plikach (kopią binarną), pomiń sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate; obsługiwane poziomy to: Optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie
useBinaryTransfer Określ, czy używasz trybu transferu binarnego. True dla trybu binarnego i false ASCII. Wartość domyślna: True. Tej właściwości można używać tylko wtedy, gdy skojarzony typ połączonej usługi jest typu FtpServer. Nie

Uwaga

Nazwy pliku i plikuFilter nie można używać jednocześnie.

Przykład

{
    "name": "FTPFileInput",
    "properties": {
        "type": "FileShare",
        "linkedServiceName": "FTPLinkedService",
        "typeProperties": {
            "folderPath": "<path to shared folder>",
            "fileName": "test.csv",
            "useBinaryTransfer": true
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika FTP .

Źródło systemu plików w działaniu kopiowania

Jeśli kopiujesz dane z serwera FTP, ustaw typ źródłowy działania kopiowania na FileSystemSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. True, False (wartość domyślna) Nie

Przykład

{
    "name": "pipeline",
    "properties": {
        "activities": [{
            "name": "FTPToBlobCopy",
            "inputs": [{
                "name": "FtpFileInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "NewestFirst",
                "retry": 1,
                "timeout": "00:05:00"
            }
        }],
        "start": "2016-08-24T18:00:00",
        "end": "2016-08-24T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika FTP .

SYSTEM PLIKÓW HDFS

Połączona usługa

Aby zdefiniować połączoną usługę HDFS, ustaw typ połączonej usługi na hdfs i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ Właściwość type musi być ustawiona na: Hdfs Tak
Url Adres URL do systemu plików HDFS Tak
authenticationType Anonimowe lub Windows.

Aby użyć uwierzytelniania Kerberos dla łącznika systemu plików HDFS, zapoznaj się z tą sekcją, aby odpowiednio skonfigurować środowisko lokalne.
Tak
userName Nazwa użytkownika na potrzeby uwierzytelniania systemu Windows. Tak (w przypadku uwierzytelniania systemu Windows)
hasło Hasło do uwierzytelniania systemu Windows. Tak (w przypadku uwierzytelniania systemu Windows)
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory do nawiązywania połączenia z systemem plików HDFS. Tak
encryptedCredential Dane wyjściowe New-AzDataFactoryEncryptValue poświadczenia dostępu. Nie

Przykład: używanie uwierzytelniania anonimowego

{
    "name": "HDFSLinkedService",
    "properties": {
        "type": "Hdfs",
        "typeProperties": {
            "authenticationType": "Anonymous",
            "userName": "hadoop",
            "url": "http://<machine>:50070/webhdfs/v1/",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład: używanie uwierzytelniania systemu Windows

{
    "name": "HDFSLinkedService",
    "properties": {
        "type": "Hdfs",
        "typeProperties": {
            "authenticationType": "Windows",
            "userName": "Administrator",
            "password": "password",
            "url": "http://<machine>:50070/webhdfs/v1/",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika systemu plików HDFS.

Zestaw danych

Aby zdefiniować zestaw danych HDFS, ustaw typ zestawu danych na FileShare i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Ścieżka do folderu. Przykład: myfolder

Użyj znaku ucieczki ' \ ' dla znaków specjalnych w ciągu. Na przykład: w przypadku folderu\podfolder określ folder\\subfolder, a w polu d:\samplefolder określ wartość d:\\samplefolder.

Tę właściwość można połączyć z partycjąBy , aby mieć ścieżki folderów oparte na dacie rozpoczęcia/zakończenia wycinka.
Tak
fileName Określ nazwę pliku w folderPath , jeśli tabela ma odwoływać się do określonego pliku w folderze. Jeśli nie określisz żadnej wartości dla tej właściwości, tabela wskazuje wszystkie pliki w folderze.

Jeśli parametr fileName nie zostanie określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku będzie mieć następujący format:

Data.<Guid>.txt (na przykład: : Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt
Nie
partitionedBy partitionedBy może służyć do określenia dynamicznego folderPath, nazwa pliku dla danych szeregów czasowych. Przykład: folderPath sparametryzowany dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki w stanie rzeczywistym między magazynami opartymi na plikach (kopią binarną), pomiń sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: Optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Uwaga

Nazwy pliku i plikuFilter nie można używać jednocześnie.

Przykład

{
    "name": "InputDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName": "HDFSLinkedService",
        "typeProperties": {
            "folderPath": "DataTransfer/UnitTest/"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika systemu plików HDFS.

Źródło systemu plików w działaniu kopiowania

Jeśli kopiujesz dane z systemu plików HDFS, ustaw typ źródłowy działania kopiowania na FileSystemSource i określ następujące właściwości w sekcji źródłowej :

Element FileSystemSource obsługuje następujące właściwości:

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane rekursywnie z podfolderów, czy tylko z określonego folderu. True, False (wartość domyślna) Nie

Przykład

{
    "name": "pipeline",
    "properties": {
        "activities": [{
            "name": "HdfsToBlobCopy",
            "inputs": [{
                "name": "InputDataset"
            }],
            "outputs": [{
                "name": "OutputDataset"
            }],
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "NewestFirst",
                "retry": 1,
                "timeout": "00:05:00"
            }
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika systemu plików HDFS.

SFTP

Połączona usługa

Aby zdefiniować połączoną usługę SFTP, ustaw typ połączonej usługi na Sftp i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
host Nazwa lub adres IP serwera SFTP. Tak
port Port, na którym nasłuchuje serwer SFTP. Wartość domyślna to: 21 Nie
authenticationType Określ typ uwierzytelniania. Dozwolone wartości: Basic, SshPublicKey.

Zapoznaj się z sekcjami Using basic authentication (Używanie uwierzytelniania podstawowego) i Using SSH public key authentication (Korzystanie z uwierzytelniania podstawowego) i Using SSH public key authentication (Używanie uwierzytelniania klucza publicznego SSH ) w temacie Więcej właściwości i przykładów JSON.
Tak
skipHostKeyValidation Określ, czy należy pominąć walidację klucza hosta. Nie. Wartość domyślna: false
hostKeyFingerprint Określ odcisk palca klucza hosta. Tak, jeśli skipHostKeyValidation parametr ma wartość false.
gatewayName Nazwa bramy zarządzania danymi w celu nawiązania połączenia z lokalnym serwerem SFTP. Tak, jeśli kopiowanie danych z lokalnego serwera SFTP.
encryptedCredential Zaszyfrowane poświadczenia umożliwiające dostęp do serwera SFTP. Generowane automatycznie podczas określania uwierzytelniania podstawowego (nazwy użytkownika i hasła) lub uwierzytelniania SshPublicKey (nazwa użytkownika i ścieżka klucza prywatnego lub zawartość) w kreatorze kopiowania lub w oknie podręcznym ClickOnce. Nie. Zastosuj tylko podczas kopiowania danych z lokalnego serwera SFTP.

Przykład: używanie uwierzytelniania podstawowego

Aby użyć uwierzytelniania podstawowego, ustaw authenticationTypeBasicjako i określ następujące właściwości oprócz łącznika SFTP ogólne wprowadzone w ostatniej sekcji:

Właściwość Opis Wymagane
nazwa użytkownika Użytkownik, który ma dostęp do serwera SFTP. Tak
hasło Hasło użytkownika (nazwa użytkownika). Tak
{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<SFTP server name or IP address>",
            "port": 22,
            "authenticationType": "Basic",
            "username": "xxx",
            "password": "xxx",
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład: Uwierzytelnianie podstawowe z zaszyfrowanymi poświadczeniami

{
    "name": "SftpLinkedService",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<FTP server name or IP address>",
            "port": 22,
            "authenticationType": "Basic",
            "username": "xxx",
            "encryptedCredential": "xxxxxxxxxxxxxxxxx",
            "skipHostKeyValidation": false,
            "hostKeyFingerPrint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Korzystanie z uwierzytelniania za pomocą klucza publicznego SSH:

Aby użyć uwierzytelniania podstawowego, ustaw authenticationTypeSshPublicKeyjako i określ następujące właściwości oprócz łącznika SFTP ogólne wprowadzone w ostatniej sekcji:

Właściwość Opis Wymagane
nazwa użytkownika Użytkownik, który ma dostęp do serwera SFTP Tak
privateKeyPath Określ ścieżkę bezwzględną do pliku klucza prywatnego, do którego brama może uzyskać dostęp. Określ wartość privateKeyPath lub privateKeyContent.

Zastosuj tylko podczas kopiowania danych z lokalnego serwera SFTP.
privateKeyContent Serializowany ciąg zawartości klucza prywatnego. Kreator kopiowania może odczytać plik klucza prywatnego i automatycznie wyodrębnić zawartość klucza prywatnego. Jeśli używasz dowolnego innego narzędzia/zestawu SDK, zamiast tego użyj właściwości privateKeyPath. Określ wartość privateKeyPath lub privateKeyContent.
Hasło Określ hasło/hasło, aby odszyfrować klucz prywatny, jeśli plik klucza jest chroniony przez frazę dostępu. Tak, jeśli plik klucza prywatnego jest chroniony przez frazę dostępu.
{
    "name": "SftpLinkedServiceWithPrivateKeyPath",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "<FTP server name or IP address>",
            "port": 22,
            "authenticationType": "SshPublicKey",
            "username": "xxx",
            "privateKeyPath": "D:\\privatekey_openssh",
            "passPhrase": "xxx",
            "skipHostKeyValidation": true,
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład: uwierzytelnianie SshPublicKey przy użyciu zawartości klucza prywatnego

{
    "name": "SftpLinkedServiceWithPrivateKeyContent",
    "properties": {
        "type": "Sftp",
        "typeProperties": {
            "host": "mysftpserver.westus.cloudapp.azure.com",
            "port": 22,
            "authenticationType": "SshPublicKey",
            "username": "xxx",
            "privateKeyContent": "<base64 string of the private key content>",
            "passPhrase": "xxx",
            "skipHostKeyValidation": true
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SFTP .

Zestaw danych

Aby zdefiniować zestaw danych SFTP, ustaw typ zestawu danych na FileShare i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
folderPath Ścieżka podrzędna do folderu. Użyj znaku ucieczki " \ " dla znaków specjalnych w ciągu. Zobacz Przykładowe połączone definicje usług i zestawów danych.

Tę właściwość można połączyć z partycjąBy , aby mieć ścieżki folderów na podstawie daty rozpoczęcia/zakończenia wycinka.
Tak
fileName Określ nazwę pliku w folderPath , jeśli chcesz, aby tabela odwołyła się do określonego pliku w folderze. Jeśli nie określisz żadnej wartości dla tej właściwości, tabela wskazuje wszystkie pliki w folderze.

Jeśli parametr fileName nie zostanie określony dla wyjściowego zestawu danych, nazwa wygenerowanego pliku będzie miała następujący format:

Data.<Guid>.txt (Przykład: Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt)
Nie
Filefilter Określ filtr, który ma być używany do wybierania podzestawu plików w folderPath, a nie wszystkich plików.

Dozwolone wartości to: * (wiele znaków) i ? (pojedynczy znak).

Przykłady 1: "fileFilter": "*.log"
Przykład 2: "fileFilter": 2016-1-?.txt"

fileFilter ma zastosowanie do wejściowego zestawu danych FileShare. Ta właściwość nie jest obsługiwana w systemie plików HDFS.
Nie
partitionedBy partitionedBy można użyć do określenia dynamicznego folderuPath, nazwy pliku dla danych szeregów czasowych. Na przykład folderPath sparametryzowany dla każdej godziny danych. Nie
format Obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Ustaw właściwość type w formacie na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .

Jeśli chcesz skopiować pliki zgodnie z rzeczywistym użyciem między magazynami opartymi na plikach (kopiowaniem binarnym), pomiń sekcję formatowania zarówno w definicjach zestawu danych wejściowych, jak i wyjściowych.
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie
useBinaryTransfer Określ, czy używasz trybu transferu binarnego. True dla trybu binarnego i false ASCII. Wartość domyślna: Prawda. Ta właściwość może być używana tylko wtedy, gdy skojarzony połączony typ usługi jest typu: FtpServer. Nie

Uwaga

Nazwy pliku i plikuFiltr nie można używać jednocześnie.

Przykład

{
    "name": "SFTPFileInput",
    "properties": {
        "type": "FileShare",
        "linkedServiceName": "SftpLinkedService",
        "typeProperties": {
            "folderPath": "<path to shared folder>",
            "fileName": "test.csv"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SFTP .

Źródło systemu plików w działaniu kopiowania

W przypadku kopiowania danych ze źródła SFTP ustaw typ źródłowy działania kopiowania na FileSystemSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
Cykliczne Wskazuje, czy dane są odczytywane cyklicznie z podfolderów, czy tylko z określonego folderu. Prawda, Fałsz (wartość domyślna) Nie

Przykład

{
    "name": "pipeline",
    "properties": {
        "activities": [{
            "name": "SFTPToBlobCopy",
            "inputs": [{
                "name": "SFTPFileInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "FileSystemSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "NewestFirst",
                "retry": 1,
                "timeout": "00:05:00"
            }
        }],
        "start": "2017-02-20T18:00:00",
        "end": "2017-02-20T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika SFTP .

HTTP

Połączona usługa

Aby zdefiniować połączoną usługę HTTP, ustaw typ połączonej usługi na http i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
url Podstawowy adres URL serwera sieci Web Tak
authenticationType Określa typ uwierzytelniania. Dozwolone wartości to : Anonimowe, Podstawowe, Szyfrowane, Windows, ClientCertificate.

Zapoznaj się z sekcjami poniżej tej tabeli, aby uzyskać więcej właściwości i przykładów JSON dla tych typów uwierzytelniania.
Tak
enableServerCertificateValidation Określ, czy należy włączyć weryfikację certyfikatu TLS/SSL serwera, jeśli źródłem jest serwer internetowy HTTPS Nie, wartość domyślna jest prawdziwa
gatewayName Nazwa bramy zarządzania danymi w celu nawiązania połączenia z lokalnym źródłem HTTP. Tak, jeśli kopiowanie danych z lokalnego źródła HTTP.
encryptedCredential Zaszyfrowane poświadczenia umożliwiające uzyskanie dostępu do punktu końcowego HTTP. Generowane automatycznie podczas konfigurowania informacji uwierzytelniania w kreatorze kopiowania lub w oknie podręcznym ClickOnce. Nie. Zastosuj tylko podczas kopiowania danych z lokalnego serwera HTTP.

Przykład: korzystanie z uwierzytelniania podstawowego, szyfrowego lub windows

Ustaw authenticationType jako Basic, Digestlub Windowsi określ następujące właściwości oprócz ogólnych łączników HTTP wprowadzonych powyżej:

Właściwość Opis Wymagane
nazwa użytkownika Nazwa użytkownika w celu uzyskania dostępu do punktu końcowego HTTP. Tak
hasło Hasło użytkownika (nazwa użytkownika). Tak
{
    "name": "HttpLinkedService",
    "properties": {
        "type": "Http",
        "typeProperties": {
            "authenticationType": "basic",
            "url": "https://en.wikipedia.org/wiki/",
            "userName": "user name",
            "password": "password"
        }
    }
}

Przykład: używanie uwierzytelniania ClientCertificate

Aby użyć uwierzytelniania podstawowego, ustaw authenticationType jako ClientCertificatei określ następujące właściwości oprócz ogólnych łączników HTTP wprowadzonych powyżej:

Właściwość Opis Wymagane
embeddedCertData Zawartość zakodowana w formacie Base64 danych binarnych pliku PFX (Personal Information Exchange). Określ wartość embeddedCertData lub certThumbprint.
certThumbprint Odcisk palca certyfikatu zainstalowanego w magazynie certyfikatów maszyny bramy. Zastosuj tylko podczas kopiowania danych z lokalnego źródła HTTP. Określ wartość embeddedCertData lub certThumbprint.
hasło Hasło skojarzone z certyfikatem. Nie

Jeśli używasz certThumbprint uwierzytelniania i certyfikat jest zainstalowany w magazynie osobistym komputera lokalnego, musisz udzielić uprawnień do odczytu do usługi bramy:

  1. Uruchom program Microsoft Management Console (MMC). Dodaj przystawkę Certyfikaty , która jest przeznaczona dla komputera lokalnego.
  2. Rozwiń węzeł Certyfikaty, Osobiste i kliknij pozycję Certyfikaty.
  3. Kliknij prawym przyciskiem myszy certyfikat z magazynu osobistego, a następnie wybierz pozycję Wszystkie zadania>Zarządzaj kluczami prywatnymi...
  4. Na karcie Zabezpieczenia dodaj konto użytkownika, w ramach którego jest uruchomiona usługa hosta bramy zarządzania danymi z dostępem do odczytu do certyfikatu.

Przykład: przy użyciu certyfikatu klienta: Ta połączona usługa łączy fabrykę danych z lokalnym serwerem internetowym HTTP. Używa certyfikatu klienta zainstalowanego na maszynie z zainstalowaną bramą zarządzania danymi.

{
    "name": "HttpLinkedService",
    "properties": {
        "type": "Http",
        "typeProperties": {
            "authenticationType": "ClientCertificate",
            "url": "https://en.wikipedia.org/wiki/",
            "certThumbprint": "thumbprint of certificate",
            "gatewayName": "gateway name"
        }
    }
}

Przykład: używanie certyfikatu klienta w pliku

Ta połączona usługa łączy fabrykę danych z lokalnym serwerem internetowym HTTP. Używa pliku certyfikatu klienta na maszynie z zainstalowaną bramą zarządzania danymi.

{
    "name": "HttpLinkedService",
    "properties": {
        "type": "Http",
        "typeProperties": {
            "authenticationType": "ClientCertificate",
            "url": "https://en.wikipedia.org/wiki/",
            "embeddedCertData": "base64 encoded cert data",
            "password": "password of cert"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika HTTP .

Zestaw danych

Aby zdefiniować zestaw danych HTTP, ustaw typ zestawu danych na Http i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
relativeUrl Względny adres URL zasobu, który zawiera dane. Jeśli ścieżka nie jest określona, używany jest tylko adres URL określony w definicji połączonej usługi.

Aby utworzyć dynamiczny adres URL, można użyć funkcji usługi Data Factory i zmiennych systemowych, przykład: "relativeUrl": "$$Text.Format('/my/report?month={0:yyyy}-{0:MM}&fmt=csv', SliceStart)".
Nie
requestMethod Metoda HTTP. Dozwolone wartości to GET lub POST. Nie. Wartość domyślna to GET.
dodatkowe głowice Dodatkowe nagłówki żądań HTTP. Nie
requestBody Treść żądania HTTP. Nie
format Jeśli chcesz po prostu pobrać dane z punktu końcowego HTTP bez analizowania, pomiń te ustawienia formatu.

Jeśli chcesz przeanalizować zawartość odpowiedzi HTTP podczas kopiowania, obsługiwane są następujące typy formatów: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. Aby uzyskać więcej informacji, zobacz sekcje Format tekstu, Format Json, Avro Format, Orc Format i Parquet Format .
Nie
kompresja Określ typ i poziom kompresji danych. Obsługiwane typy to: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy to: optymalne i najszybsze. Aby uzyskać więcej informacji, zobacz Formaty plików i kompresji w usłudze Azure Data Factory. Nie

Przykład: użycie metody GET (domyślnej)

{
    "name": "HttpSourceDataInput",
    "properties": {
        "type": "Http",
        "linkedServiceName": "HttpLinkedService",
        "typeProperties": {
            "relativeUrl": "XXX/test.xml",
            "additionalHeaders": "Connection: keep-alive\nUser-Agent: Mozilla/5.0\n"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Przykład: używanie metody POST

{
    "name": "HttpSourceDataInput",
    "properties": {
        "type": "Http",
        "linkedServiceName": "HttpLinkedService",
        "typeProperties": {
            "relativeUrl": "/XXX/test.xml",
            "requestMethod": "Post",
            "requestBody": "body for POST HTTP request"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika HTTP .

Źródło HTTP w działaniu kopiowania

Jeśli kopiujesz dane ze źródła HTTP, ustaw typ źródłowy działania kopiowania na wartość HttpSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Wymagane
httpRequestTimeout Limit czasu (TimeSpan) żądania HTTP w celu uzyskania odpowiedzi. Jest to limit czasu, aby uzyskać odpowiedź, a nie limit czasu odczytu danych odpowiedzi. Nie. Wartość domyślna: 00:01:40

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "HttpSourceToAzureBlob",
            "description": "Copy from an HTTP source to an Azure blob",
            "type": "Copy",
            "inputs": [{
                "name": "HttpSourceDataInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "HttpSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika HTTP .

OData

Połączona usługa

Aby zdefiniować połączoną usługę OData, ustaw typ połączonej usługi na wartość OData i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
url Adres URL usługi OData. Tak
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia ze źródłem OData.

W przypadku chmury OData możliwe wartości to Anonimowe, Podstawowe i OAuth (uwaga Usługa Azure Data Factory obecnie obsługuje tylko uwierzytelnianie OAuth oparte na usłudze Azure Active Directory).

W przypadku lokalnych danych OData możliwe wartości to Anonimowe, Podstawowe i Windows.
Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego. Tak (tylko wtedy, gdy używasz uwierzytelniania podstawowego)
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Tak (tylko wtedy, gdy używasz uwierzytelniania podstawowego)
authorizedCredential Jeśli używasz protokołu OAuth, kliknij przycisk Autoryzuj w Kreatorze kopiowania fabryki danych lub Edytorze i wprowadź swoje poświadczenia, a następnie wartość tej właściwości zostanie wygenerowana automatycznie. Tak (tylko wtedy, gdy używasz uwierzytelniania OAuth)
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z lokalną usługą OData. Określ tylko wtedy, gdy kopiujesz dane z lokalnego źródła OData. Nie

Przykład — używanie uwierzytelniania podstawowego

{
    "name": "inputLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Basic",
            "username": "username",
            "password": "password"
        }
    }
}

Przykład — używanie uwierzytelniania anonimowego

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Anonymous"
        }
    }
}

Przykład — używanie uwierzytelniania systemu Windows do lokalnego źródła OData

{
    "name": "inputLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of on-premises OData source, for example, Dynamics CRM>",
            "authenticationType": "Windows",
            "username": "domain\\user",
            "password": "password",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład — używanie uwierzytelniania OAuth do źródła OData w chmurze

{
    "name": "inputLinkedService",
    "properties":
    {
        "type": "OData",
            "typeProperties":
        {
            "url": "<endpoint of cloud OData source, for example, https://<tenant>.crm.dynamics.com/XRMServices/2011/OrganizationData.svc>",
            "authenticationType": "OAuth",
            "authorizedCredential": "<auto generated by clicking the Authorize button on UI>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika OData .

Zestaw danych

Aby zdefiniować zestaw danych OData, ustaw typ zestawu danych na wartość ODataResource i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
path Ścieżka do zasobu OData Nie

Przykład

{
    "name": "ODataDataset",
    "properties": {
        "type": "ODataResource",
        "typeProperties": {
            "path": "Products"
        },
        "linkedServiceName": "ODataLinkedService",
        "structure": [],
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "retryInterval": "00:01:00",
            "retryTimeout": "00:10:00",
            "maximumRetry": 3
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika OData .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane ze źródła OData, ustaw typ źródłowy działania kopiowania na RelalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Przykład Wymagane
query Użyj zapytania niestandardowego do odczytywania danych. "?$select=Name, Description&$top=5" Nie

Przykład

{
    "name": "CopyODataToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "?$select=Name, Description&$top=5"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "ODataDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobODataDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "ODataToBlob"
        }],
        "start": "2017-02-01T18:00:00",
        "end": "2017-02-03T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika OData .

ODBC

Połączona usługa

Aby zdefiniować połączoną usługę ODBC, ustaw typ połączonej usługi na OnPremisesOdbc i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Parametry połączenia Część poświadczeń bez dostępu parametrów połączenia i opcjonalne zaszyfrowane poświadczenia. Zobacz przykłady w poniższych sekcjach. Tak
poświadczenia Część poświadczeń dostępu parametrów połączenia określonych w formacie właściwości specyficznej dla sterownika. Przykład: “Uid=<user ID>;Pwd=<password>;RefreshToken=<secret refresh token>;”. Nie
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z magazynem danych ODBC. Możliwe wartości to: Anonimowe i Podstawowe. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania podstawowego. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie
gatewayName Nazwa bramy, której usługa Data Factory powinna używać do nawiązywania połączenia z magazynem danych ODBC. Tak

Przykład — używanie uwierzytelniania podstawowego

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "OnPremisesOdbc",
        "typeProperties": {
            "authenticationType": "Basic",
            "connectionString": "Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;",
            "userName": "username",
            "password": "password",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład — używanie uwierzytelniania podstawowego z zaszyfrowanymi poświadczeniami

Poświadczenia można zaszyfrować przy użyciu polecenia cmdlet New-AzDataFactoryEncryptValue .

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "OnPremisesOdbc",
        "typeProperties": {
            "authenticationType": "Basic",
            "connectionString": "Driver={SQL Server};Server=myserver.database.windows.net; Database=TestDatabase;;EncryptedCredential=eyJDb25uZWN0...........................",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Przykład: używanie uwierzytelniania anonimowego

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "OnPremisesOdbc",
        "typeProperties": {
            "authenticationType": "Anonymous",
            "connectionString": "Driver={SQL Server};Server={servername}.database.windows.net; Database=TestDatabase;",
            "credential": "UID={uid};PWD={pwd}",
            "gatewayName": "<onpremgateway>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika ODBC .

Zestaw danych

Aby zdefiniować zestaw danych ODBC, ustaw typ zestawu danych na Wartość RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w magazynie danych ODBC. Tak

Przykład

{
    "name": "ODBCDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "ODBCLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika ODBC .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z magazynu danych ODBC, ustaw typ źródłowy działania kopiowania na RelalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego do odczytywania danych. Ciąg zapytania SQL. Na przykład: select * from MyTable. Tak

Przykład

{
    "name": "CopyODBCToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [{
            "type": "Copy",
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "$$Text.Format('select * from MyTable where timestamp >= \\'{0:yyyy-MM-ddTHH:mm:ss}\\' AND timestamp < \\'{1:yyyy-MM-ddTHH:mm:ss}\\'', WindowStart, WindowEnd)"
                },
                "sink": {
                    "type": "BlobSink",
                    "writeBatchSize": 0,
                    "writeBatchTimeout": "00:00:00"
                }
            },
            "inputs": [{
                "name": "OdbcDataSet"
            }],
            "outputs": [{
                "name": "AzureBlobOdbcDataSet"
            }],
            "policy": {
                "timeout": "01:00:00",
                "concurrency": 1
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "name": "OdbcToBlob"
        }],
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika ODBC .

SalesForce

Połączona usługa

Aby zdefiniować połączoną usługę Salesforce, ustaw typ połączonej usługi na wartość Salesforce i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
environmentUrl Określ adres URL wystąpienia usługi Salesforce.

- Wartość domyślna to "https://login.salesforce.com".
- Aby skopiować dane z piaskownicy, określ wartość "https://test.salesforce.com".
— Aby skopiować dane z domeny niestandardowej, określ na przykład "https://[domena].my.salesforce.com".
Nie
nazwa użytkownika Określ nazwę użytkownika dla konta użytkownika. Tak
hasło Określ hasło dla konta użytkownika. Tak
Securitytoken Określ token zabezpieczający dla konta użytkownika. Aby uzyskać instrukcje dotyczące resetowania/pobierania tokenu zabezpieczającego, zobacz Uzyskiwanie tokenu zabezpieczającego . Aby dowiedzieć się więcej o tokenach zabezpieczających, zobacz Zabezpieczenia i interfejs API. Tak

Przykład

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "Salesforce",
        "typeProperties": {
            "username": "<user name>",
            "password": "<password>",
            "securityToken": "<security token>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Salesforce .

Zestaw danych

Aby zdefiniować zestaw danych usługi Salesforce, ustaw typ zestawu danych na wartość RelationalTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
tableName Nazwa tabeli w usłudze Salesforce. Nie (jeśli określono zapytanieRelationalSource )

Przykład

{
    "name": "SalesforceInput",
    "properties": {
        "linkedServiceName": "SalesforceLinkedService",
        "type": "RelationalTable",
        "typeProperties": {
            "tableName": "AllDataType__c"
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Salesforce .

Źródło relacyjne w działaniu kopiowania

Jeśli kopiujesz dane z usługi Salesforce, ustaw typ źródłowy działania kopiowania na wartość RelationalSource i określ następujące właściwości w sekcji źródłowej :

Właściwość Opis Dozwolone wartości Wymagane
query Użyj zapytania niestandardowego, aby odczytać dane. Zapytanie SQL-92 lub zapytanie SOQL (Salesforce Object Query Language). Na przykład: select * from MyTable__c. Nie (jeśli określono parametr tableNamezestawu danych )

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "SalesforceToAzureBlob",
            "description": "Copy from Salesforce to an Azure blob",
            "type": "Copy",
            "inputs": [{
                "name": "SalesforceInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "RelationalSource",
                    "query": "SELECT Id, Col_AutoNumber__c, Col_Checkbox__c, Col_Currency__c, Col_Date__c, Col_DateTime__c, Col_Email__c, Col_Number__c, Col_Percent__c, Col_Phone__c, Col_Picklist__c, Col_Picklist_MultiSelect__c, Col_Text__c, Col_Text_Area__c, Col_Text_AreaLong__c, Col_Text_AreaRich__c, Col_URL__c, Col_Text_Encrypt__c, Col_Lookup__c FROM AllDataType__c"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Ważne

Część "__c" nazwy interfejsu API jest wymagana dla dowolnego obiektu niestandardowego.

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika usługi Salesforce .

Dane internetowe

Połączona usługa

Aby zdefiniować połączoną usługę sieci Web, ustaw typ połączonej usługi na sieć Web i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
Url Adres URL źródła sieci Web Tak
authenticationType Anonimowe. Tak

Przykład

{
    "name": "web",
    "properties": {
        "type": "Web",
        "typeProperties": {
            "authenticationType": "Anonymous",
            "url": "https://en.wikipedia.org/wiki/"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika tabel internetowych .

Zestaw danych

Aby zdefiniować zestaw danych sieci Web, ustaw typ zestawu danych na WebTable i określ następujące właściwości w sekcji typeProperties :

Właściwość Opis Wymagane
typ typ zestawu danych. Musi być ustawiona wartość WebTable Tak
path Względny adres URL zasobu, który zawiera tabelę. Nie. Jeśli ścieżka nie jest określona, używany jest tylko adres URL określony w definicji połączonej usługi.
index Indeks tabeli w zasobie. Zobacz Pobieranie indeksu tabeli w sekcji strony HTML, aby uzyskać instrukcje pobierania indeksu tabeli na stronie HTML. Tak

Przykład

{
    "name": "WebTableInput",
    "properties": {
        "type": "WebTable",
        "linkedServiceName": "WebLinkedService",
        "typeProperties": {
            "index": 1,
            "path": "AFI's_100_Years...100_Movies"
        },
        "external": true,
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika tabel internetowych .

Źródło internetowe w działaniu kopiowania

Jeśli kopiujesz dane z tabeli internetowej, ustaw typ źródła działania kopiowania na wartość WebSource. Obecnie, gdy źródło w działaniu kopiowania jest typu WebSource, nie są obsługiwane żadne dodatkowe właściwości.

Przykład

{
    "name": "SamplePipeline",
    "properties": {
        "start": "2016-06-01T18:00:00",
        "end": "2016-06-01T19:00:00",
        "description": "pipeline with copy activity",
        "activities": [{
            "name": "WebTableToAzureBlob",
            "description": "Copy from a Web table to an Azure blob",
            "type": "Copy",
            "inputs": [{
                "name": "WebTableInput"
            }],
            "outputs": [{
                "name": "AzureBlobOutput"
            }],
            "typeProperties": {
                "source": {
                    "type": "WebSource"
                },
                "sink": {
                    "type": "BlobSink"
                }
            },
            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            },
            "policy": {
                "concurrency": 1,
                "executionPriorityOrder": "OldestFirst",
                "retry": 0,
                "timeout": "01:00:00"
            }
        }]
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący łącznika tabel internetowych .

ŚRODOWISKA OBLICZENIOWE

W poniższej tabeli wymieniono środowiska obliczeniowe obsługiwane przez usługę Data Factory oraz działania przekształcania, które można na nich uruchomić. Kliknij link do obliczeń, które cię interesują, aby wyświetlić schematy JSON połączonej usługi, aby połączyć je z fabryką danych.

Środowisko obliczeniowe Działania
Klaster usługi HDInsight na żądanie lub własny klaster usługi HDInsight Działanie niestandardowe platformy .NET, działanie Hive, działanie Pig, działanie MapReduce, działanie przesyłania strumieniowego usługi Hadoop, działanie platformy Spark
Usługa Azure Batch Niestandardowe działanie platformy .NET
Usługa Machine Learning Studio (klasyczna) Działanie wykonywania wsadowego w usłudze ML Studio (wersja klasyczna),aktualizowanie działania zasobu w programie ML Studio (wersja klasyczna)
Azure Data Lake Analytics Data Lake Analytics U-SQL
Azure SQL Database, Azure Synapse Analytics, SQL Server Procedura składowana

Klaster usługi Azure HDInsight na żądanie

Usługa Azure Data Factory może automatycznie utworzyć klaster usługi HDInsight oparty na systemie Windows/Linux do przetwarzania danych. Klaster jest tworzony w tym samym regionie co konto magazynu (właściwość linkedServiceName w formacie JSON) skojarzonym z klastrem. Następujące działania przekształcania można uruchomić w tej połączonej usłudze: działanie niestandardowe platformy .NET, działanie Programu Hive, działanie Pig, działanie MapReduce, działanie przesyłania strumieniowego usługi Hadoop, działanie platformy Spark.

Połączona usługa

Poniższa tabela zawiera opisy właściwości używanych w definicji JSON platformy Azure połączonej usługi HDInsight na żądanie.

Właściwość Opis Wymagane
typ Właściwość type powinna być ustawiona na wartość HDInsightOnDemand. Tak
clusterSize Liczba węzłów procesu roboczego/danych w klastrze. Klaster usługi HDInsight jest tworzony z 2 węzłami głównymi wraz z liczbą węzłów roboczych, które określisz dla tej właściwości. Węzły mają rozmiar Standard_D3, który ma 4 rdzenie, więc klaster 4 węzłów roboczych ma 24 rdzenie (4 *4 = 16 rdzeni dla węzłów roboczych, plus 2*4 = 8 rdzeni dla węzłów głównych). Aby uzyskać szczegółowe informacje na temat warstwy Standard_D3, zobacz Create Linux-based Hadoop clusters in HDInsight (Tworzenie klastrów Hadoop opartych na systemie Linux w usłudze HDInsight ). Tak
timetolive Dozwolony czas bezczynności klastra usługi HDInsight na żądanie. Określa, jak długo klaster usługi HDInsight na żądanie pozostaje aktywny po zakończeniu działania, jeśli w klastrze nie ma żadnych innych aktywnych zadań.

Jeśli na przykład uruchomienie działania trwa 6 minut, a wartość timetolive jest ustawiona na 5 minut, klaster pozostaje aktywny przez 5 minut po 6 minutach przetwarzania działania. Jeśli w oknie 6 minut zostanie wykonane inne uruchomienie działania, zostanie ono przetworzone przez ten sam klaster.

Tworzenie klastra usługi HDInsight na żądanie jest kosztowną operacją (może chwilę potrwać), dlatego użyj tego ustawienia w razie potrzeby, aby zwiększyć wydajność fabryki danych przez ponowne użycie klastra usługi HDInsight na żądanie.

Jeśli ustawisz wartość timetolive na 0, klaster zostanie usunięty natychmiast po uruchomieniu działania w przetwarzaniu. Z drugiej strony, jeśli ustawisz wysoką wartość, klaster może pozostać bezczynny niepotrzebnie powodując wysokie koszty. Dlatego ważne jest, aby ustawić odpowiednią wartość na podstawie potrzeb.

Wiele potoków może współużytkować to samo wystąpienie klastra usługi HDInsight na żądanie, jeśli wartość właściwości timetolive jest odpowiednio ustawiona
Tak
Wersja Wersja klastra usługi HDInsight. Aby uzyskać szczegółowe informacje, zobacz obsługiwane wersje usługi HDInsight w usłudze Azure Data Factory. Nie
linkedServiceName Połączona usługa Azure Storage używana przez klaster na żądanie do przechowywania i przetwarzania danych.

Obecnie nie można utworzyć klastra usługi HDInsight na żądanie, który używa usługi Azure Data Lake Store jako magazynu. Jeśli chcesz przechowywać dane wynikowe z przetwarzania usługi HDInsight w usłudze Azure Data Lake Store, użyj działania kopiowania, aby skopiować dane z usługi Azure Blob Storage do usługi Azure Data Lake Store.

Tak
additionalLinkedServiceNames Określa dodatkowe konta magazynu dla połączonej usługi HDInsight, aby usługa Data Factory mogła je zarejestrować w Twoim imieniu. Nie
osType Typ systemu operacyjnego. Dozwolone wartości to: Windows (ustawienie domyślne) i Linux Nie
hcatalogLinkedServiceName Nazwa połączonej usługi Azure SQL wskazującej bazę danych HCatalog. Klaster usługi HDInsight na żądanie jest tworzony przy użyciu usługi Azure SQL Database jako magazynu metadanych. Nie

Przykład kodu JSON

Poniższy kod JSON definiuje połączoną usługę HDInsight opartą na systemie Linux. Usługa Data Factory automatycznie tworzy klaster usługi HDInsight oparty na systemie Linux podczas przetwarzania wycinka danych.

{
    "name": "HDInsightOnDemandLinkedService",
    "properties": {
        "type": "HDInsightOnDemand",
        "typeProperties": {
            "version": "3.5",
            "clusterSize": 1,
            "timeToLive": "00:05:00",
            "osType": "Linux",
            "linkedServiceName": "StorageLinkedService"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Compute linked services (Połączone usługi obliczeniowe ).

Istniejący klaster usługi Azure HDInsight

Możesz utworzyć połączoną usługę Azure HDInsight, aby zarejestrować własny klaster usługi HDInsight w usłudze Data Factory. W tej połączonej usłudze można uruchomić następujące działania przekształcania danych: działanie niestandardowe platformy .NET, działanie Programu Hive, działanie Pig, działanie MapReduce, działanie przesyłania strumieniowego usługi Hadoop, działanie platformy Spark.

Połączona usługa

Poniższa tabela zawiera opisy właściwości używanych w definicji JSON platformy Azure połączonej usługi Azure HDInsight.

Właściwość Opis Wymagane
typ Właściwość type powinna być ustawiona na wartość HDInsight. Tak
clusterUri Identyfikator URI klastra usługi HDInsight. Tak
nazwa użytkownika Określ nazwę użytkownika, który ma być używany do nawiązywania połączenia z istniejącym klastrem usługi HDInsight. Tak
hasło Określ hasło dla konta użytkownika. Tak
linkedServiceName Nazwa połączonej usługi Azure Storage odwołującej się do magazynu obiektów blob platformy Azure używanego przez klaster usługi HDInsight.

Obecnie nie można określić połączonej usługi Azure Data Lake Store dla tej właściwości. Dostęp do danych w usłudze Azure Data Lake Store można uzyskać za pomocą skryptów Hive/Pig, jeśli klaster usługi HDInsight ma dostęp do usługi Data Lake Store.

Tak

Aby uzyskać informacje o obsługiwanych wersjach klastrów usługi HDInsight, zobacz obsługiwane wersje usługi HDInsight.

Przykład kodu JSON

{
    "name": "HDInsightLinkedService",
    "properties": {
        "type": "HDInsight",
        "typeProperties": {
            "clusterUri": " https://<hdinsightclustername>.azurehdinsight.net/",
            "userName": "admin",
            "password": "<password>",
            "linkedServiceName": "MyHDInsightStoragelinkedService"
        }
    }
}

Usługa Azure Batch

Możesz utworzyć połączoną usługę Azure Batch, aby zarejestrować pulę maszyn wirtualnych usługi Batch w fabryce danych. Działania niestandardowe platformy .NET można uruchamiać przy użyciu usługi Azure Batch lub Azure HDInsight. Możesz uruchomić działanie niestandardowe platformy .NET w tej połączonej usłudze.

Połączona usługa

Poniższa tabela zawiera opisy właściwości używanych w definicji JSON platformy Azure połączonej usługi Azure Batch.

Właściwość Opis Wymagane
typ Właściwość type powinna być ustawiona na Wartość AzureBatch. Tak
accountName Nazwa konta usługi Azure Batch. Tak
Accesskey Klucz dostępu dla konta usługi Azure Batch. Tak
poolName Nazwa puli maszyn wirtualnych. Tak
linkedServiceName Nazwa połączonej usługi Azure Storage skojarzonej z tą połączoną usługą Azure Batch. Ta połączona usługa jest używana na potrzeby plików przejściowych wymaganych do uruchomienia działania i przechowywania dzienników wykonywania działań. Tak

Przykład kodu JSON

{
    "name": "AzureBatchLinkedService",
    "properties": {
        "type": "AzureBatch",
        "typeProperties": {
            "accountName": "<Azure Batch account name>",
            "accessKey": "<Azure Batch account key>",
            "poolName": "<Azure Batch pool name>",
            "linkedServiceName": "<Specify associated storage linked service reference here>"
        }
    }
}

ML Studio (wersja klasyczna)

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów usługi Machine Learning Studio (klasycznych) (obszar roboczy i plan usługi internetowej). Do 31 sierpnia 2024 r. można nadal korzystać z istniejących eksperymentów i usług internetowych usługi Machine Learning Studio (klasycznej).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Utworzysz połączoną usługę ML Studio (klasyczną) w celu zarejestrowania punktu końcowego oceniania wsadowego programu Studio (klasycznego) w fabryce danych. Dwa działania przekształcania danych, które mogą być uruchamiane w tej połączonej usłudze: działanie wykonywania wsadowego usługi ML Studio (klasycznej),działanie aktualizacji zasobu usługi ML Studio (klasycznej).

Połączona usługa

Poniższa tabela zawiera opisy właściwości używanych w definicji JSON platformy Azure połączonej usługi Studio (klasycznej).

Właściwość Opis Wymagane
Typ Właściwość type powinna być ustawiona na: AzureML. Tak
mlEndpoint Adres URL oceniania wsadowego. Tak
apiKey Interfejs API opublikowanego modelu obszaru roboczego. Tak

Przykład kodu JSON

{
    "name": "AzureMLLinkedService",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://[batch scoring endpoint]/jobs",
            "apiKey": "<apikey>"
        }
    }
}

Azure Data Lake Analytics

Utworzysz połączoną usługę Azure Data Lake Analytics , aby połączyć usługę obliczeniową Azure Data Lake Analytics z fabryką danych Azure przed użyciem działania U-SQL usługi Data Lake Analytics w potoku.

Połączona usługa

Poniższa tabela zawiera opisy właściwości używanych w definicji JSON połączonej usługi Azure Data Lake Analytics.

Właściwość Opis Wymagane
Typ Właściwość typu powinna być ustawiona na: AzureDataLakeAnalytics. Tak
accountName Nazwa konta usługi Azure Data Lake Analytics. Tak
dataLakeAnalyticsUri Identyfikator URI usługi Azure Data Lake Analytics. Nie
autoryzacja Kod autoryzacji jest automatycznie pobierany po kliknięciu przycisku Autoryzuj w Edytorze fabryki danych i ukończeniu logowania OAuth. Tak
subscriptionId Identyfikator subskrypcji platformy Azure Nie (Jeśli nie określono, używana jest subskrypcja fabryki danych).
resourceGroupName Nazwa grupy zasobów platformy Azure Nie (Jeśli nie określono, używana jest grupa zasobów fabryki danych).
Sessionid identyfikator sesji z sesji autoryzacji OAuth. Każdy identyfikator sesji jest unikatowy i może być używany tylko raz. W przypadku korzystania z Edytora fabryki danych ten identyfikator jest generowany automatycznie. Tak

Przykład kodu JSON

Poniższy przykład zawiera definicję JSON połączonej usługi Azure Data Lake Analytics.

{
    "name": "AzureDataLakeAnalyticsLinkedService",
    "properties": {
        "type": "AzureDataLakeAnalytics",
        "typeProperties": {
            "accountName": "<account name>",
            "dataLakeAnalyticsUri": "datalakeanalyticscompute.net",
            "authorization": "<authcode>",
            "sessionId": "<session ID>",
            "subscriptionId": "<subscription id>",
            "resourceGroupName": "<resource group name>"
        }
    }
}

Procedura składowana programu SQL Server

Utworzysz połączoną usługę programu SQL Server i użyjesz jej z działaniem Procedury składowanej , aby wywołać procedurę składowaną z potoku usługi Data Factory.

Połączona usługa

Utworzysz połączoną usługę typu OnPremisesSqlServer , aby połączyć bazę danych programu SQL Server z fabryką danych. Poniższa tabela zawiera opis elementów JSON specyficznych dla połączonej usługi PROGRAMU SQL Server.

Poniższa tabela zawiera opis elementów JSON specyficznych dla połączonej usługi PROGRAMU SQL Server.

Właściwość Opis Wymagane
typ Właściwość typu powinna być ustawiona na: OnPremisesSqlServer. Tak
Parametry połączenia Określ informacje o połączeniu wymagane do nawiązania połączenia z bazą danych programu SQL Server przy użyciu uwierzytelniania SQL lub uwierzytelniania systemu Windows. Tak
gatewayName Nazwa bramy, która powinna być używana przez usługę Data Factory w celu nawiązania połączenia z bazą danych programu SQL Server. Tak
nazwa użytkownika Określ nazwę użytkownika, jeśli używasz uwierzytelniania systemu Windows. Przykład: nazwa_domeny\nazwa_użytkownika. Nie
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Nie

Poświadczenia można szyfrować przy użyciu polecenia cmdlet New-AzDataFactoryEncryptValue i użyć ich w parametrach połączenia, jak pokazano w poniższym przykładzie (właściwość EncryptedCredential ):

"connectionString": "Data Source=<servername>;Initial Catalog=<databasename>;Integrated Security=True;EncryptedCredential=<encrypted credential>",

Przykład: kod JSON do korzystania z uwierzytelniania SQL

{
    "name": "MyOnPremisesSQLDB",
    "properties": {
        "type": "OnPremisesSqlServer",
        "typeProperties": {
            "connectionString": "Data Source=<servername>;Initial Catalog=MarketingCampaigns;Integrated Security=False;User ID=<username>;Password=<password>;",
            "gatewayName": "<gateway name>"
        }
    }
}

Przykład: kod JSON do korzystania z uwierzytelniania systemu Windows

Jeśli określono nazwę użytkownika i hasło, brama używa ich do personifikacji określonego konta użytkownika w celu nawiązania połączenia z bazą danych programu SQL Server. W przeciwnym razie brama łączy się z programem SQL Server bezpośrednio z kontekstem zabezpieczeń bramy (jego konto uruchamiania).

{
    "Name": " MyOnPremisesSQLDB",
    "Properties": {
        "type": "OnPremisesSqlServer",
        "typeProperties": {
            "ConnectionString": "Data Source=<servername>;Initial Catalog=MarketingCampaigns;Integrated Security=True;",
            "username": "<domain\\username>",
            "password": "<password>",
            "gatewayName": "<gateway name>"
        }
    }
}

Aby uzyskać więcej informacji, zobacz artykuł dotyczący łącznika programu SQL Server .

DZIAŁANIA PRZEKSZTAŁCANIA DANYCH

Działanie Opis
Działanie hive w usłudze HDInsight Działanie hive usługi HDInsight w potoku usługi Data Factory wykonuje zapytania Hive na własnym lub na żądanie klastra usługi HDInsight opartego na systemie Windows/Linux.
Działanie usługi HDInsight Pig Działanie usługi HDInsight Pig w potoku usługi Data Factory wykonuje zapytania pig na własnym lub na żądanie klastra usługi HDInsight opartego na systemie Windows/Linux.
Działania technologii MapReduce w usłudze HDInsight Działanie MapReduce w usłudze HDInsight w potoku usługi Data Factory wykonuje programy MapReduce we własnym lub na żądanie klastra usługi HDInsight opartego na systemie Windows/Linux.
Działania przesyłania strumieniowego usługi HDInsight Działanie przesyłania strumieniowego usługi HDInsight w potoku usługi Data Factory wykonuje programy przesyłania strumieniowego hadoop na własnym lub na żądanie opartego na systemie Windows/Linux klastra usługi HDInsight.
Działania platformy Spark w usłudze HDInsight Działanie usługi HDInsight Spark w potoku usługi Data Factory wykonuje programy Spark we własnym klastrze usługi HDInsight.
Działanie wykonywania wsadowego w programie ML Studio (wersja klasyczna) Usługa Azure Data Factory umożliwia łatwe tworzenie potoków korzystających z opublikowanej usługi internetowej Studio (klasycznej) na potrzeby analizy predykcyjnej. Za pomocą działania wykonywania wsadowego w potoku usługi Azure Data Factory możesz wywołać usługę internetową Studio (klasyczną), aby przewidywać dane w partii.
Działanie aktualizacji zasobu w programie ML Studio (wersja klasyczna) W miarę upływu czasu modele predykcyjne w eksperymentach oceniania w programie ML Studio (klasycznym) muszą być ponownie trenowane przy użyciu nowych wejściowych zestawów danych. Po zakończeniu ponownego trenowania chcesz zaktualizować usługę internetową oceniania za pomocą ponownie trenowanego modelu uczenia maszynowego. Za pomocą działania aktualizuj zasób można zaktualizować usługę internetową przy użyciu nowo wytrenowanego modelu.
Działania procedur składowanych Możesz użyć działania Procedury składowanej w potoku usługi Data Factory, aby wywołać procedurę składowaną w jednym z następujących magazynów danych: Azure SQL Database, Azure Synapse Analytics, SQL Server Database w przedsiębiorstwie lub maszynie wirtualnej platformy Azure.
Działanie U-SQL usługi Data Lake Analytics Działanie U-SQL usługi Data Lake Analytics uruchamia skrypt U-SQL w klastrze usługi Azure Data Lake Analytics.
Niestandardowe działanie platformy .NET Jeśli musisz przekształcić dane w sposób, który nie jest obsługiwany przez usługę Data Factory, możesz utworzyć niestandardowe działanie za pomocą własnej logiki przetwarzania danych i użyć działania w potoku. Niestandardowe działanie platformy .NET można skonfigurować do uruchamiania przy użyciu usługi Azure Batch lub klastra usługi Azure HDInsight.

Działania technologii Hive w usłudze HDInsight

Następujące właściwości można określić w definicji JSON działania hive. Właściwość type dla działania musi być: HDInsightHive. Najpierw należy utworzyć połączoną usługę HDInsight i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na hdInsightHive:

Właściwość Opis Wymagane
skrypt Określanie wbudowanego skryptu hive Nie
ścieżka skryptu Zapisz skrypt Hive w magazynie obiektów blob platformy Azure i podaj ścieżkę do pliku. Użyj właściwości "script" lub "scriptPath". Oba nie mogą być używane razem. Nazwa pliku jest uwzględniana w wielkości liter. Nie
Definiuje Określ parametry jako pary klucz/wartość do odwoływania się do skryptu Hive przy użyciu polecenia "hiveconf" Nie

Te właściwości typu są specyficzne dla działania Hive. Inne właściwości (poza sekcją typeProperties) są obsługiwane dla wszystkich działań.

Przykład kodu JSON

Poniższy kod JSON definiuje działanie hive usługi HDInsight w potoku.

{
    "name": "Hive Activity",
    "description": "description",
    "type": "HDInsightHive",
    "inputs": [
      {
        "name": "input tables"
      }
    ],
    "outputs": [
      {
        "name": "output tables"
      }
    ],
    "linkedServiceName": "MyHDInsightLinkedService",
    "typeProperties": {
      "script": "Hive script",
      "scriptPath": "<pathtotheHivescriptfileinAzureblobstorage>",
      "defines": {
        "param1": "param1Value"
      }
    },
   "scheduler": {
      "frequency": "Day",
      "interval": 1
    }
}

Aby uzyskać więcej informacji, zobacz Artykuł Dotyczący działania programu Hive .

Działania technologii Pig w usłudze HDInsight

Następujące właściwości można określić w definicji JSON działania pig. Właściwość typu dla działania musi być następująca: HDInsightPig. Najpierw należy utworzyć połączoną usługę HDInsight i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na HDInsightPig:

Właściwość Opis Wymagane
skrypt Określanie wbudowanego skryptu pig Nie
ścieżka skryptu Zapisz skrypt pig w magazynie obiektów blob platformy Azure i podaj ścieżkę do pliku. Użyj właściwości "script" lub "scriptPath". Oba nie mogą być używane razem. Nazwa pliku jest uwzględniana w wielkości liter. Nie
Definiuje Określ parametry jako pary klucz/wartość do odwoływania się do skryptu pig Nie

Właściwości tego typu są specyficzne dla działania pig. Inne właściwości (poza sekcją typeProperties) są obsługiwane dla wszystkich działań.

Przykład kodu JSON

{
    "name": "HiveActivitySamplePipeline",
      "properties": {
    "activities": [
        {
            "name": "Pig Activity",
            "description": "description",
            "type": "HDInsightPig",
            "inputs": [
                  {
                    "name": "input tables"
                  }
            ],
            "outputs": [
                  {
                    "name": "output tables"
                  }
            ],
            "linkedServiceName": "MyHDInsightLinkedService",
            "typeProperties": {
                  "script": "Pig script",
                  "scriptPath": "<pathtothePigscriptfileinAzureblobstorage>",
                  "defines": {
                    "param1": "param1Value"
                  }
            },
               "scheduler": {
                  "frequency": "Day",
                  "interval": 1
            }
          }
    ]
  }
}

Aby uzyskać więcej informacji, zobacz artykuł Dotyczący aktywności świni.

Działania technologii MapReduce w usłudze HDInsight

Następujące właściwości można określić w definicji JSON działania MapReduce. Właściwość typu dla działania musi być: HDInsightMapReduce. Najpierw należy utworzyć połączoną usługę HDInsight i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties po ustawieniu typu działania na wartość HDInsightMapReduce:

Właściwość Opis Wymagane
jarLinkedService Nazwa połączonej usługi dla usługi Azure Storage zawierającej plik JAR. Tak
jarFilePath Ścieżka do pliku JAR w usłudze Azure Storage. Tak
Classname Nazwa klasy głównej w pliku JAR. Tak
Argumenty Lista argumentów rozdzielanych przecinkami dla programu MapReduce. W czasie wykonywania zobaczysz kilka dodatkowych argumentów (na przykład mapreduce.job.tags) ze struktury MapReduce. Aby odróżnić argumenty za pomocą argumentów MapReduce, rozważ użycie zarówno opcji, jak i wartości jako argumentów, jak pokazano w poniższym przykładzie (s, --input, --output itp., są opcjami natychmiast po ich wartościach) Nie

Przykład kodu JSON

{
    "name": "MahoutMapReduceSamplePipeline",
    "properties": {
        "description": "Sample Pipeline to Run a Mahout Custom Map Reduce Jar. This job calculates an Item Similarity Matrix to determine the similarity between two items",
        "activities": [
            {
                "type": "HDInsightMapReduce",
                "typeProperties": {
                    "className": "org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob",
                    "jarFilePath": "adfsamples/Mahout/jars/mahout-examples-0.9.0.2.2.7.1-34.jar",
                    "jarLinkedService": "StorageLinkedService",
                    "arguments": ["-s", "SIMILARITY_LOGLIKELIHOOD", "--input", "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/input", "--output", "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/output/", "--maxSimilaritiesPerItem", "500", "--tempDir", "wasb://adfsamples@spestore.blob.core.windows.net/Mahout/temp/mahout"]
                },
                "inputs": [
                    {
                        "name": "MahoutInput"
                    }
                ],
                "outputs": [
                    {
                        "name": "MahoutOutput"
                    }
                ],
                "policy": {
                    "timeout": "01:00:00",
                    "concurrency": 1,
                    "retry": 3
                },
                "scheduler": {
                    "frequency": "Hour",
                    "interval": 1
                },
                "name": "MahoutActivity",
                "description": "Custom Map Reduce to generate Mahout result",
                "linkedServiceName": "HDInsightLinkedService"
            }
        ],
        "start": "2017-01-03T00:00:00",
        "end": "2017-01-04T00:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz artykuł MapReduce Activity (Działanie mapreduce ).

Działania przesyłania strumieniowego usługi HDInsight

Następujące właściwości można określić w definicji JSON działania przesyłania strumieniowego usługi Hadoop. Właściwość type dla działania musi być: HDInsightStreaming. Najpierw należy utworzyć połączoną usługę HDInsight i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na HDInsightStreaming:

Właściwość Opis
Mapowania Nazwa pliku wykonywalnego mapowania. W tym przykładzie cat.exe jest plikiem wykonywalny maper.
Reduktor Nazwa pliku wykonywalnego redukcji. W tym przykładzie wc.exe jest plikiem wykonywalny reduktora.
wejście Plik wejściowy (w tym lokalizacja) dla mapowania. W przykładzie: : "wasb://adfsample@<account name>.blob.core.windows.net/example/data/gutenberg/davinci.txt"adfsample jest kontenerem obiektów blob, przykład/data/Gutenberg jest folderem, a davinci.txt jest obiektem blob.
output Plik wyjściowy (w tym lokalizacja) dla reduktora. Dane wyjściowe zadania przesyłania strumieniowego usługi Hadoop są zapisywane w lokalizacji określonej dla tej właściwości.
filePaths Ścieżki dla plików wykonywalnych mapatora i reduktora. W przykładzie: "adfsample/example/apps/wc.exe", adfsample to kontener obiektów blob, przykład/aplikacje to folder, a wc.exe to plik wykonywalny.
fileLinkedService Połączona usługa Azure Storage reprezentująca magazyn platformy Azure zawierający pliki określone w sekcji filePaths.
Argumenty Lista argumentów rozdzielanych przecinkami dla programu MapReduce. W czasie wykonywania zobaczysz kilka dodatkowych argumentów (na przykład mapreduce.job.tags) ze struktury MapReduce. Aby odróżnić argumenty za pomocą argumentów MapReduce, rozważ użycie zarówno opcji, jak i wartości jako argumentów, jak pokazano w poniższym przykładzie (s, --input, --output itp., są opcjami natychmiast po ich wartościach)
getDebugInfo Opcjonalny element. Po ustawieniu opcji Niepowodzenie dzienniki są pobierane tylko po awarii. Po ustawieniu pozycji Wszystkie dzienniki są zawsze pobierane niezależnie od stanu wykonywania.

Uwaga

Musisz określić wyjściowy zestaw danych dla działania przesyłania strumieniowego usługi Hadoop dla właściwości outputs . Ten zestaw danych może być tylko fikcyjnym zestawem danych wymaganym do obsługi harmonogramu potoku (co godzinę, codziennie itp.). Jeśli działanie nie pobiera danych wejściowych, możesz pominąć określanie wejściowego zestawu danych dla działania dla właściwości inputs .

Przykład kodu JSON

{
    "name": "HadoopStreamingPipeline",
    "properties": {
        "description": "Hadoop Streaming Demo",
        "activities": [
            {
                "type": "HDInsightStreaming",
                "typeProperties": {
                    "mapper": "cat.exe",
                    "reducer": "wc.exe",
                    "input": "wasb://<nameofthecluster>@spestore.blob.core.windows.net/example/data/gutenberg/davinci.txt",
                    "output": "wasb://<nameofthecluster>@spestore.blob.core.windows.net/example/data/StreamingOutput/wc.txt",
                    "filePaths": ["<nameofthecluster>/example/apps/wc.exe","<nameofthecluster>/example/apps/cat.exe"],
                    "fileLinkedService": "StorageLinkedService",
                    "getDebugInfo": "Failure"
                },
                "outputs": [
                    {
                        "name": "StreamingOutputDataset"
                    }
                ],
                "policy": {
                    "timeout": "01:00:00",
                    "concurrency": 1,
                    "executionPriorityOrder": "NewestFirst",
                    "retry": 1
                },
                "scheduler": {
                    "frequency": "Day",
                    "interval": 1
                },
                "name": "RunHadoopStreamingJob",
                "description": "Run a Hadoop streaming job",
                "linkedServiceName": "HDInsightLinkedService"
            }
        ],
        "start": "2014-01-04T00:00:00",
        "end": "2014-01-05T00:00:00"
    }
}

Aby uzyskać więcej informacji, zobacz Artykuł Dotyczący działania przesyłania strumieniowego w usłudze Hadoop .

Działania platformy Spark w usłudze HDInsight

Następujące właściwości można określić w definicji JSON działania platformy Spark. Właściwość type dla działania musi być: HDInsightSpark. Najpierw należy utworzyć połączoną usługę HDInsight i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na HDInsightSpark:

Właściwość Opis Wymagane
rootPath Kontener i folder obiektów blob platformy Azure, który zawiera plik Spark. Nazwa pliku jest uwzględniana w wielkości liter. Tak
entryFilePath Ścieżka względna do folderu głównego kodu/pakietu Spark. Tak
Classname Główna klasa Java/Spark aplikacji Nie
Argumenty Lista argumentów wiersza polecenia programu Spark. Nie
proxyUser Konto użytkownika do personifikacji w celu wykonania programu Spark Nie
sparkConfig Właściwości konfiguracji platformy Spark. Nie
getDebugInfo Określa, kiedy pliki dziennika platformy Spark są kopiowane do magazynu platformy Azure używanego przez klaster usługi HDInsight (lub) określony przez sparkJobLinkedService. Dozwolone wartości: Brak, Zawsze lub Niepowodzenie. Wartość domyślna: None. Nie
sparkJobLinkedService Połączona usługa Azure Storage, która przechowuje plik zadania platformy Spark, zależności i dzienniki. Jeśli nie określisz wartości dla tej właściwości, używany jest magazyn skojarzony z klastrem usługi HDInsight. Nie

Przykład kodu JSON

{
    "name": "SparkPipeline",
    "properties": {
        "activities": [
            {
                "type": "HDInsightSpark",
                "typeProperties": {
                    "rootPath": "adfspark\\pyFiles",
                    "entryFilePath": "test.py",
                    "getDebugInfo": "Always"
                },
                "outputs": [
                    {
                        "name": "OutputDataset"
                    }
                ],
                "name": "MySparkActivity",
                "linkedServiceName": "HDInsightLinkedService"
            }
        ],
        "start": "2017-02-05T00:00:00",
        "end": "2017-02-06T00:00:00"
    }
}

Pamiętaj o następujących kwestiach:

  • Właściwość type jest ustawiona na HDInsightSpark.

  • Ścieżka główna jest ustawiona na adfspark\pyFiles, gdzie adfspark jest kontenerem obiektów blob platformy Azure, a plik pyFiles jest w tym kontenerze w dobrym folderze. W tym przykładzie usługa Azure Blob Storage jest tą, która jest skojarzona z klastrem Spark. Plik można przekazać do innej usługi Azure Storage. Jeśli to zrobisz, utwórz połączoną usługę Azure Storage, aby połączyć to konto magazynu z fabryką danych. Następnie określ nazwę połączonej usługi jako wartość właściwości sparkJobLinkedService . Zobacz Właściwości działania platformy Spark, aby uzyskać szczegółowe informacje o tej właściwości i innych właściwościach obsługiwanych przez działanie platformy Spark.

  • Parametr entryFilePath jest ustawiony na test.py, czyli plik języka Python.

  • Właściwość getDebugInfo jest ustawiona na Zawsze, co oznacza, że pliki dziennika są zawsze generowane (powodzenie lub niepowodzenie).

    Ważne

    Zalecamy, aby nie ustawić tej właściwości na Zawsze w środowisku produkcyjnym, chyba że rozwiązujesz problem.

  • Sekcja dane wyjściowe zawiera jeden wyjściowy zestaw danych. Należy określić wyjściowy zestaw danych, nawet jeśli program spark nie generuje żadnych danych wyjściowych. Wyjściowy zestaw danych napędza harmonogram potoku (co godzinę, codziennie itp.).

Aby uzyskać więcej informacji na temat działania, zobacz artykuł Działania platformy Spark .

Działanie wykonywania wsadowego w programie ML Studio (wersja klasyczna)

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można utworzyć nowych zasobów usługi Machine Learning Studio (klasycznej) (plan obszaru roboczego i usługi internetowej). Do 31 sierpnia 2024 r. możesz nadal korzystać z istniejących eksperymentów i usług internetowych usługi Machine Learning Studio (klasycznej).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Następujące właściwości można określić w definicji JSON działania wykonywania wsadowego w programie ML Studio (wersja klasyczna). Właściwość type dla działania musi być: AzureMLBatchExecution. Najpierw należy utworzyć połączoną usługę Studio (klasyczną) i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na AzureMLBatchExecution:

Właściwość Opis Wymagane
webServiceInput Zestaw danych, który ma zostać przekazany jako dane wejściowe dla usługi internetowej Studio (klasycznej). Ten zestaw danych musi być również uwzględniony w danych wejściowych dla działania. Użyj elementu webServiceInput lub webServiceInputs.
webServiceInputs Określ zestawy danych, które mają być przekazywane jako dane wejściowe dla usługi internetowej Studio (klasycznej). Jeśli usługa internetowa przyjmuje wiele danych wejściowych, użyj właściwości webServiceInputs zamiast użyć właściwości webServiceInput. Zestawy danych, do których odwołuje się webServiceInputs , również muszą być uwzględnione w danych wejściowych działania. Użyj elementu webServiceInput lub webServiceInputs.
webServiceOutputs Zestawy danych przypisane jako dane wyjściowe dla usługi internetowej Studio (klasycznej). Usługa internetowa zwraca dane wyjściowe w tym zestawie danych. Tak
globalParameters Określ wartości parametrów usługi internetowej w tej sekcji. Nie

Przykład kodu JSON

W tym przykładzie działanie ma zestaw danych MLSqlInput jako dane wejściowe i MLSqlOutput jako dane wyjściowe. Właściwość MLSqlInput jest przekazywana jako dane wejściowe do usługi internetowej przy użyciu właściwości JSON webServiceInput . Obiekt MLSqlOutput jest przekazywany jako dane wyjściowe do usługi sieci Web przy użyciu właściwości JSON webServiceOutputs .

{
   "name": "MLWithSqlReaderSqlWriter",
   "properties": {
      "description": "Azure ML model with sql azure reader/writer",
      "activities": [{
         "name": "MLSqlReaderSqlWriterActivity",
         "type": "AzureMLBatchExecution",
         "description": "test",
         "inputs": [ { "name": "MLSqlInput" }],
         "outputs": [ { "name": "MLSqlOutput" } ],
         "linkedServiceName": "MLSqlReaderSqlWriterDecisionTreeModel",
         "typeProperties":
         {
            "webServiceInput": "MLSqlInput",
            "webServiceOutputs": {
               "output1": "MLSqlOutput"
            },
            "globalParameters": {
               "Database server name": "<myserver>.database.windows.net",
               "Database name": "<database>",
               "Server user account name": "<user name>",
               "Server user account password": "<password>"
            }
         },
         "policy": {
            "concurrency": 1,
            "executionPriorityOrder": "NewestFirst",
            "retry": 1,
            "timeout": "02:00:00"
         }
      }],
      "start": "2016-02-13T00:00:00",
       "end": "2016-02-14T00:00:00"
   }
}

W przykładzie JSON wdrożona usługa sieci Web studio (klasyczna) używa czytnika i modułu zapisywania do odczytu/zapisu danych z/do usługi Azure SQL Database. Ta usługa sieci Web uwidacznia następujące cztery parametry: nazwa serwera bazy danych, nazwa bazy danych, nazwa konta użytkownika serwera i hasło konta użytkownika serwera.

Uwaga

Tylko dane wejściowe i wyjściowe działania AzureMLBatchExecution można przekazać jako parametry do usługi sieci Web. Na przykład w powyższym fragmencie kodu JSON mlSqlInput jest danymi wejściowymi działania AzureMLBatchExecution, które jest przekazywane jako dane wejściowe do usługi internetowej za pośrednictwem parametru webServiceInput.

Działanie aktualizacji zasobu w programie ML Studio (wersja klasyczna)

Następujące właściwości można określić w definicji JSON działania aktualizacji zasobu usługi ML Studio (wersja klasyczna). Właściwość type dla działania musi być: AzureMLUpdateResource. Najpierw należy utworzyć połączoną usługę Studio (klasyczną) i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na AzureMLUpdateResource:

Właściwość Opis Wymagane
trainedModelName Nazwa ponownie trenowanego modelu. Tak
trainedModelDatasetName Zestaw danych wskazujący plik iLearner zwrócony przez operację ponownego trenowania. Tak

Przykład kodu JSON

Potok ma dwie działania: AzureMLBatchExecution i AzureMLUpdateResource. Działanie Wykonywanie w programie Studio (klasycznym) pobiera dane szkoleniowe jako dane wejściowe i tworzy plik iLearner jako dane wyjściowe. Działanie wywołuje usługę internetową trenowania (eksperyment trenowania uwidoczniony jako usługa internetowa) z danymi treningowymi wejściowymi i odbiera plik ilearner z usługi internetowej. Symbol zastępczyBlob to fikcyjny wyjściowy zestaw danych, który jest wymagany przez usługę Azure Data Factory do uruchomienia potoku.

{
    "name": "pipeline",
    "properties": {
        "activities": [
            {
                "name": "retraining",
                "type": "AzureMLBatchExecution",
                "inputs": [
                    {
                        "name": "trainingData"
                    }
                ],
                "outputs": [
                    {
                        "name": "trainedModelBlob"
                    }
                ],
                "typeProperties": {
                    "webServiceInput": "trainingData",
                    "webServiceOutputs": {
                        "output1": "trainedModelBlob"
                    }
                 },
                "linkedServiceName": "trainingEndpoint",
                "policy": {
                    "concurrency": 1,
                    "executionPriorityOrder": "NewestFirst",
                    "retry": 1,
                    "timeout": "02:00:00"
                }
            },
            {
                "type": "AzureMLUpdateResource",
                "typeProperties": {
                    "trainedModelName": "trained model",
                    "trainedModelDatasetName" :  "trainedModelBlob"
                },
                "inputs": [{ "name": "trainedModelBlob" }],
                "outputs": [{ "name": "placeholderBlob" }],
                "policy": {
                    "timeout": "01:00:00",
                    "concurrency": 1,
                    "retry": 3
                },
                "name": "AzureML Update Resource",
                "linkedServiceName": "updatableScoringEndpoint2"
            }
        ],
        "start": "2016-02-13T00:00:00",
		"end": "2016-02-14T00:00:00"
    }
}

Działania języka U-SQL usługi Data Lake Analytics

Następujące właściwości można określić w definicji kodu JSON działania U-SQL. Właściwość type dla działania musi być: DataLakeAnalyticsU-SQL. Musisz utworzyć połączoną usługę Azure Data Lake Analytics i określić jej nazwę jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na DataLakeAnalyticsU-SQL:

Właściwość Opis Wymagane
scriptPath Ścieżka do folderu zawierającego skrypt U-SQL. Nazwa pliku jest rozróżniana wielkość liter. Nie (jeśli używasz skryptu)
scriptLinkedService Połączona usługa łącząca magazyn zawierający skrypt do fabryki danych Nie (jeśli używasz skryptu)
skrypt Określ wbudowany skrypt zamiast określać skryptPath i scriptLinkedService. Na przykład: "script": "CREATE DATABASE test". Nie (jeśli używasz skryptPath i scriptLinkedService)
degreeOfParallelism Maksymalna liczba węzłów jednocześnie używanych do uruchamiania zadania. Nie
priority Określa, które zadania są w kolejce, należy wybrać do pierwszego uruchomienia. Im mniejsza liczba, tym wyższy priorytet. Nie
parameters Parametry skryptu U-SQL Nie

Przykład kodu JSON

{
    "name": "ComputeEventsByRegionPipeline",
    "properties": {
        "description": "This pipeline computes events for en-gb locale and date less than Feb 19, 2012.",
        "activities":
        [
            {
                "type": "DataLakeAnalyticsU-SQL",
                "typeProperties": {
                    "scriptPath": "scripts\\kona\\SearchLogProcessing.txt",
                    "scriptLinkedService": "StorageLinkedService",
                    "degreeOfParallelism": 3,
                    "priority": 100,
                    "parameters": {
                        "in": "/datalake/input/SearchLog.tsv",
                        "out": "/datalake/output/Result.tsv"
                    }
                },
                "inputs": [
                    {
                        "name": "DataLakeTable"
                    }
                ],
                "outputs":
                [
                    {
                        "name": "EventsByRegionTable"
                    }
                ],
                "policy": {
                    "timeout": "06:00:00",
                    "concurrency": 1,
                    "executionPriorityOrder": "NewestFirst",
                    "retry": 1
                },
                "scheduler": {
                    "frequency": "Day",
                    "interval": 1
                },
                "name": "EventsByRegion",
                "linkedServiceName": "AzureDataLakeAnalyticsLinkedService"
            }
        ],
        "start": "2015-08-08T00:00:00",
        "end": "2015-08-08T01:00:00",
        "isPaused": false
    }
}

Aby uzyskać więcej informacji, zobacz Działanie U-SQL usługi Data Lake Analytics.

Działania procedur składowanych

Następujące właściwości można określić w definicji kodu JSON działania procedury składowanej. Właściwość typu dla działania musi być: SqlServerStoredProcedure. Należy utworzyć jedną z następujących połączonych usług i określić nazwę połączonej usługi jako wartość właściwości linkedServiceName :

  • SQL Server
  • Azure SQL Database
  • Azure Synapse Analytics

Następujące właściwości są obsługiwane w sekcji typeProperties po ustawieniu typu działania na SqlServerStoredProcedure:

Właściwość Opis Wymagane
storedProcedureName Określ nazwę procedury składowanej w usłudze Azure SQL Database lub Azure Synapse Analytics reprezentowanej przez połączoną usługę używaną przez tabelę wyjściową. Tak
storedProcedureParameters Określ wartości parametrów procedury składowanej. Jeśli musisz przekazać wartość null dla parametru, użyj składni : "param1": null (wszystkie małe litery). Zapoznaj się z poniższym przykładem, aby dowiedzieć się więcej o korzystaniu z tej właściwości. Nie

Jeśli określisz wejściowy zestaw danych, musi być dostępny (w stanie Gotowości) dla działania procedury składowanej do uruchomienia. Nie można użyć wejściowego zestawu danych w procedurze składowanej jako parametru. Służy tylko do sprawdzania zależności przed rozpoczęciem działania procedury składowanej. Musisz określić wyjściowy zestaw danych dla działania procedury składowanej.

Wyjściowy zestaw danych określa harmonogram działania procedury składowanej (co godzinę, co tydzień, co miesiąc itp.). Wyjściowy zestaw danych musi używać połączonej usługi , która odwołuje się do usługi Azure SQL Database lub usługi Azure Synapse Analytics lub bazy danych programu SQL Server, w której ma zostać uruchomiona procedura składowana. Wyjściowy zestaw danych może służyć jako sposób przekazywania wyniku procedury składowanej do późniejszego przetwarzania przez inne działanie (działania łańcuchowe) w potoku. Jednak usługa Data Factory nie zapisuje automatycznie danych wyjściowych procedury składowanej do tego zestawu danych. Jest to procedura składowana, która zapisuje w tabeli SQL, do której wskazuje wyjściowy zestaw danych. W niektórych przypadkach wyjściowy zestaw danych może być fikcyjnym zestawem danych, który służy tylko do określania harmonogramu uruchamiania działania procedury składowanej.

Przykład kodu JSON

{
    "name": "SprocActivitySamplePipeline",
    "properties": {
        "activities": [
            {
                "type": "SqlServerStoredProcedure",
                "typeProperties": {
                    "storedProcedureName": "usp_sample",
                    "storedProcedureParameters": {
                        "DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)"
                    }
                },
                "outputs": [{ "name": "sprocsampleout" }],
                "name": "SprocActivitySample"
            }
        ],
         "start": "2016-08-02T00:00:00",
         "end": "2016-08-02T05:00:00",
        "isPaused": false
    }
}

Aby uzyskać więcej informacji, zobacz artykuł Działanie procedury składowanej .

Niestandardowe działanie platformy .NET

Następujące właściwości można określić w definicji niestandardowej JSON działania platformy .NET. Właściwość typu dla działania musi być: DotNetActivity. Musisz utworzyć połączoną usługę Azure HDInsight lub połączoną usługę Azure Batch i określić nazwę połączonej usługi jako wartość właściwości linkedServiceName . Następujące właściwości są obsługiwane w sekcji typeProperties podczas ustawiania typu działania na DotNetActivity:

Właściwość Opis Wymagane
Assemblyname Nazwa zestawu. W tym przykładzie jest to: MyDotnetActivity.dll. Tak
EntryPoint Nazwa klasy implementujące interfejs IDotNetActivity. W tym przykładzie jest to: MyDotNetActivityNS.MyDotNetActivity , gdzie MyDotNetActivityNS jest przestrzenią nazw, a MyDotNetActivity jest klasą . Tak
PackageLinkedService Nazwa połączonej usługi Azure Storage, która wskazuje magazyn obiektów blob zawierający plik zip działania niestandardowego. W tym przykładzie jest to: AzureStorageLinkedService. Tak
PackageFile Nazwa pliku zip. W tym przykładzie jest to: customactivitycontainer/MyDotNetActivity.zip. Tak
Extendedproperties Właściwości rozszerzone, które można zdefiniować i przekazać do kodu platformy .NET. W tym przykładzie zmienna SliceStart jest ustawiana na wartość na podstawie zmiennej systemowej SliceStart. Nie

Przykład kodu JSON

{
  "name": "ADFTutorialPipelineCustom",
  "properties": {
    "description": "Use custom activity",
    "activities": [
      {
        "Name": "MyDotNetActivity",
        "Type": "DotNetActivity",
        "Inputs": [
          {
            "Name": "InputDataset"
          }
        ],
        "Outputs": [
          {
            "Name": "OutputDataset"
          }
        ],
        "LinkedServiceName": "AzureBatchLinkedService",
        "typeProperties": {
          "AssemblyName": "MyDotNetActivity.dll",
          "EntryPoint": "MyDotNetActivityNS.MyDotNetActivity",
          "PackageLinkedService": "AzureStorageLinkedService",
          "PackageFile": "customactivitycontainer/MyDotNetActivity.zip",
          "extendedProperties": {
            "SliceStart": "$$Text.Format('{0:yyyyMMddHH-mm}', Time.AddMinutes(SliceStart, 0))"
          }
        },
        "Policy": {
          "Concurrency": 2,
          "ExecutionPriorityOrder": "OldestFirst",
          "Retry": 3,
          "Timeout": "00:30:00",
          "Delay": "00:00:00"
        }
      }
    ],
    "start": "2016-11-16T00:00:00",
    "end": "2016-11-16T05:00:00",
    "isPaused": false
  }
}

Aby uzyskać szczegółowe informacje, zobacz Artykuł Use custom activities in Data Factory (Używanie niestandardowych działań w usłudze Data Factory ).

Następne kroki

Zobacz następujące samouczki: