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).
- Zobacz informacje dotyczące przenoszenia projektów uczenia maszynowego z usługi ML Studio (klasycznej) do usługi Azure Machine Learning.
- Dowiedz się więcej o usłudze Azure Machine Learning
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
|
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
|
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
, projectname
i 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.
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. |
|
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 .
Azure Cognitive Search
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:port wartość . |
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 authenticationType
Basic
jako 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 authenticationType
SshPublicKey
jako 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
, Digest
lub Windows
i 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 ClientCertificate
i 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:
- Uruchom program Microsoft Management Console (MMC). Dodaj przystawkę Certyfikaty , która jest przeznaczona dla komputera lokalnego.
- Rozwiń węzeł Certyfikaty, Osobiste i kliknij pozycję Certyfikaty.
- Kliknij prawym przyciskiem myszy certyfikat z magazynu osobistego, a następnie wybierz pozycję Wszystkie zadania>Zarządzaj kluczami prywatnymi...
- 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.
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).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z usługi ML Studio (klasycznej) do usługi Azure Machine Learning.
- Dowiedz się więcej o usłudze Azure Machine Learning
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).
- Zobacz informacje dotyczące przenoszenia projektów uczenia maszynowego z usługi ML Studio (klasycznej) do usługi Azure Machine Learning.
- Dowiedz się więcej o usłudze Azure Machine Learning
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: