Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:
Azure Data Factory
Azure Synapse Analytics
Wskazówka
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
W tym artykule opisano sposób używania działania kopiowania w usłudze Azure Data Factory i usłudze Azure Synapse do kopiowania danych z punktu końcowego HTTP. Artykuł opiera się na działaniu kopiowania, które przedstawia ogólne omówienie działania kopiowania.
Różnice między tym łącznikiem HTTP, łącznikiem REST i łącznikiem tabeli sieci Web są następujące:
- Łącznik REST specjalnie wspiera kopiowanie danych z interfejsów API RESTful;
- Łącznik HTTP jest ogólny w celu pobierania danych z dowolnego punktu końcowego HTTP, np. do pobierania pliku. Zanim łącznik REST stanie się dostępny, możesz użyć łącznika HTTP do kopiowania danych z interfejsów RESTful API, co jest obsługiwane, ale w porównaniu do łącznika REST mniej funkcjonalne.
- Łącznik tabeli sieci Web wyodrębnia zawartość tabeli ze strony internetowej HTML.
Obsługiwane możliwości
Ten łącznik HTTP obsługuje następujące funkcje:
| Obsługiwane możliwości | środowisko IR |
|---|---|
| Kopiowanie (źródło/-) | (1) (2) |
| Działanie Lookup | (1) (2) |
(1) Środowisko Azure Integration Runtime (2) Środowisko uruchomieniowe z własnym hostingiem
Aby uzyskać listę magazynów danych obsługiwanych jako źródła/ujścia, zobacz Obsługiwane magazyny danych.
Tego łącznika HTTP można użyć do:
- Pobieranie danych z punktu końcowego HTTP/S przy użyciu metod HTTP GET lub POST .
- Pobieranie danych przy użyciu jednego z następujących uwierzytelniania: Anonimowe, Podstawowe, Digest, Windows lub Certyfikat klienta.
- Skopiuj odpowiedź HTTP tak jak jest lub przeanalizuj ją przy użyciu obsługiwanych formatów plików i kodeków kompresji.
Wskazówka
Aby przetestować żądanie HTTP dotyczące pobierania danych przed skonfigurowaniem łącznika HTTP, zapoznaj się ze specyfikacją interfejsu API dla wymagań nagłówka i treści. Aby zweryfikować poprawność, możesz użyć narzędzi takich jak Visual Studio, Invoke-RestMethod programu PowerShell lub przeglądarki internetowej.
Wymagania wstępne
Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej platformy Azure lub Amazon Virtual Private Cloud, musisz skonfigurować własne środowisko Integration Runtime, aby się z nim połączyć.
Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.
Możesz również użyć zarządzanego środowiska Integration Runtime wirtualnej sieci w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.
Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.
Wprowadzenie
Aby wykonać działanie kopiowania za pomocą pipeline'u, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Portal Azure
- zestawu SDK platformy .NET
- Zestaw SDK dla języka Python
- Azure PowerShell
- API REST
- Szablon usługi Azure Resource Manager
Tworzenie połączonej usługi ze źródłem HTTP przy użyciu interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę ze źródłem HTTP w interfejsie użytkownika witryny Azure Portal.
Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:
Wyszukaj HTTP i wybierz łącznik HTTP.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
Poniższe sekcje zawierają szczegółowe informacje o właściwościach, których można użyć do definiowania jednostek specyficznych dla łącznika HTTP.
Właściwości połączonej usługi
Następujące właściwości są obsługiwane w przypadku połączonej usługi HTTP:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type musi być ustawiona na HttpServer. | Tak |
| Adres URL | Podstawowy adres URL serwera internetowego. | Tak |
| WłączWalidacjęCertyfikatuSerwera | Określ, czy podczas nawiązywania połączenia z punktem końcowym HTTP należy włączyć weryfikację certyfikatu TLS/SSL serwera. Jeśli serwer HTTPS używa certyfikatu z podpisem własnym, ustaw tę właściwość na wartość false. | Nie. (wartość domyślna to true) |
| typ uwierzytelniania | Określa typ uwierzytelniania. Dozwolone wartości to Anonimowe, Podstawowe, Skrót, Windows i ClientCertificate. Ponadto można skonfigurować nagłówki uwierzytelniania w właściwości authHeader. Zobacz sekcje, które znajdują się w tej tabeli, aby uzyskać więcej właściwości i przykładów JSON dla tych typów uwierzytelniania. |
Tak |
| authHeaders | Dodatkowe nagłówki żądań HTTP na potrzeby uwierzytelniania. Aby na przykład użyć uwierzytelniania klucza interfejsu API, możesz wybrać typ uwierzytelniania jako "Anonimowy" i określić klucz interfejsu API w nagłówku. |
Nie. |
| connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. | Nie. |
Korzystanie z uwierzytelniania podstawowego, typu Digest lub Windows
Ustaw właściwość authenticationType na Podstawowy, Skrót lub Windows. Oprócz właściwości ogólnych opisanych w poprzedniej sekcji określ następujące właściwości:
| Właściwości | Opis | Wymagane |
|---|---|---|
| userName | Nazwa użytkownika używana do uzyskiwania dostępu do punktu końcowego HTTP. | Tak |
| hasło | Hasło użytkownika ( wartość userName ). Oznacz to pole jako typ SecureString , aby przechowywać je bezpiecznie. Możesz również odwołać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Tak |
Przykład
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "Basic",
"url" : "<HTTP endpoint>",
"userName": "<user name>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Korzystanie z uwierzytelniania ClientCertificate
Aby użyć uwierzytelniania ClientCertificate, przypisz wartość ClientCertificate do właściwości authenticationType. Oprócz właściwości ogólnych opisanych w poprzedniej sekcji określ następujące właściwości:
| Właściwości | Opis | Wymagane |
|---|---|---|
| embeddedCertData | Dane certyfikatu zakodowane w formacie Base64. | Wskaż albo embeddedCertData, albo certThumbprint. |
| certThumbprint | Odcisk palca certyfikatu zainstalowanego w magazynie certyfikatów własnego środowiska Integration Runtime. Dotyczy tylko wtedy, gdy typ samodzielnie hostowanego Integration Runtime jest określony w wierszu ustawień connectVia. | Określ wartość dla embeddedCertData lub certThumbprint. |
| hasło | Hasło skojarzone z certyfikatem. Oznacz to pole jako typ SecureString , aby przechowywać je bezpiecznie. Możesz również odwołać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Nie. |
Jeśli używasz narzędzia certThumbprint do uwierzytelniania i certyfikat jest zainstalowany w osobistym magazynie komputera lokalnego, przyznaj uprawnienia do odczytu własnemu środowisku Integration Runtime:
- Otwórz konsolę Microsoft Management Console (MMC). Dodaj przystawkę Certyfikaty , która jest przeznaczona dla komputera lokalnego.
- Rozwiń Certyfikaty>osobiste, a następnie wybierz 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, na którym działa usługa hosta środowiska Integration Runtime (DIAHostService), z dostępem do odczytu do certyfikatu.
- Łącznik HTTP ładuje tylko zaufane certyfikaty. Jeśli używasz certyfikatu z podpisem własnym lub niezintegrowanego przez urząd certyfikacji, aby autoryzować certyfikat, musi on być również zainstalowany w jednym z następujących sklepów:
- Zaufane osoby
- Podstawowe urzędy certyfikacji stron trzecich
- Zaufane główne urzędy certyfikacji
Przykład 1. Używanie narzędzia certThumbprint
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"certThumbprint": "<thumbprint of certificate>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Przykład 2. Korzystanie z embeddedCertData
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"authenticationType": "ClientCertificate",
"url": "<HTTP endpoint>",
"embeddedCertData": "<Base64-encoded cert data>",
"password": {
"type": "SecureString",
"value": "password of cert"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Używanie nagłówków uwierzytelniania
Ponadto można skonfigurować nagłówki żądań na potrzeby uwierzytelniania wraz z wbudowanymi typami uwierzytelniania.
Przykład: używanie uwierzytelniania klucza interfejsu API
{
"name": "HttpLinkedService",
"properties": {
"type": "HttpServer",
"typeProperties": {
"url": "<HTTP endpoint>",
"authenticationType": "Anonymous",
"authHeader": {
"x-api-key": {
"type": "SecureString",
"value": "<API key>"
}
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Właściwości zestawu danych
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych.
Usługa Azure Data Factory obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formacie.
- Format Avro
- Format binarny
- Format tekstu z delimitatorami
- Format programu Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Następujące właściwości są obsługiwane w przypadku protokołu HTTP w obszarze location ustawień w zestawie danych opartym na formacie:
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type w obszarze location w zestawie danych musi być ustawiona na HttpServerLocation. |
Tak |
| relativeUrl | Względny adres URL zasobu, który zawiera dane. Łącznik HTTP kopiuje dane z połączonego adresu URL: [URL specified in linked service][relative URL specified in dataset]. |
Nie. |
Uwaga
Obsługiwany rozmiar ładunku żądania HTTP wynosi około 500 KB. Jeśli rozmiar ładunku, który chcesz przekazać do internetowego punktu końcowego, jest większy niż 500 KB, rozważ wsadowanie ładunku w mniejszych fragmentach.
Przykład:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "HttpServerLocation",
"relativeUrl": "<relative url>"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Właściwości działania kopiowania
Ta sekcja zawiera listę właściwości, które obsługuje źródło HTTP.
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Potoki.
HTTP jako źródło
Usługa Azure Data Factory obsługuje następujące formaty plików. Zapoznaj się z każdym artykułem, aby zapoznać się z ustawieniami opartymi na formacie.
- Format Avro
- Format binarny
- Format tekstu z delimitatorami
- Format programu Excel
- Format JSON
- Format ORC
- Format Parquet
- Format XML
Następujące właściwości są obsługiwane dla protokołu HTTP w ustawieniach storeSettings w źródle kopiowania opartego na formacie.
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type w obszarze storeSettings musi być ustawiona na HttpReadSettings. |
Tak |
| requestMethod | Metoda HTTP. Dozwolone wartości to Get (wartość domyślna) i Post. |
Nie. |
| dodatkowe nagłówki | Dodatkowe nagłówki żądań HTTP. | Nie. |
| treśćŻądania | Treść żądania HTTP. | Nie. |
| limit czasu żądania HTTP | Limit czasu ( wartość TimeSpan ) żądania HTTP w celu uzyskania odpowiedzi. Ta wartość to limit czasu pobierania odpowiedzi, a nie limit czasu odczytu danych odpowiedzi. Wartość domyślna to 00:01:40. | Nie. |
| maksymalnaLiczbaJednoczesnychPołączeń | Górny limit połączeń współbieżnych nawiązanych z magazynem danych podczas przebiegu działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. | Nie. |
Przykład:
"activities":[
{
"name": "CopyFromHTTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "HttpReadSettings",
"requestMethod": "Post",
"additionalHeaders": "<header key: header value>\n<header key: header value>\n",
"requestBody": "<body for POST HTTP request>"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Właściwości czynności wyszukiwania
Aby dowiedzieć się więcej o właściwościach, sprawdź działanie wyszukiwania.
Starsze modele
Uwaga
Następujące modele są nadal obsługiwane w obecnej formie ze względu na zgodność wsteczną. Zaleca się używanie nowego modelu wymienionego w powyższych sekcjach na przyszłość, a interfejs użytkownika narzędzia do tworzenia treści został przełączony na generowanie nowego modelu.
Model dziedziczonego zestawu danych
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type zestawu danych musi być ustawiona na HttpFile. | Tak |
| relativeUrl | Względny adres URL zasobu, który zawiera dane. Jeśli ta właściwość nie zostanie określona, zostanie użyty tylko adres URL określony w definicji połączonej usługi. | Nie. |
| requestMethod | Metoda HTTP. Dozwolone wartości to Get (wartość domyślna) i Post. | Nie. |
| dodatkowe nagłówki | Dodatkowe nagłówki żądań HTTP. | Nie. |
| treśćŻądania | Treść żądania HTTP. | Nie. |
| format | Jeśli chcesz pobrać dane z punktu końcowego HTTP bez analizowania, a następnie skopiować dane do magazynu opartego na plikach, pomiń sekcję formatowania zarówno w definicjach wejściowych, jak i wyjściowych zestawu danych. Jeśli chcesz przeanalizować zawartość odpowiedzi HTTP podczas kopiowania, obsługiwane są następujące typy formatów plików: TextFormat, JsonFormat, AvroFormat, OrcFormat i ParquetFormat. Pod format ustaw właściwość type na jedną z tych wartości. Aby uzyskać więcej informacji, zobacz Format JSON, Format tekstu, Format Avro, Format Orc i Parquet format. |
Nie. |
| kompresja | Określ typ i poziom kompresji danych. Aby uzyskać więcej informacji, zobacz Obsługiwane formaty plików i koderów kompresji. Obsługiwane typy: GZip, Deflate, BZip2 i ZipDeflate. Obsługiwane poziomy: optymalne i najszybsze. |
Nie. |
Uwaga
Obsługiwany rozmiar ładunku żądania HTTP wynosi około 500 KB. Jeśli rozmiar ładunku, który chcesz przekazać do internetowego punktu końcowego, jest większy niż 500 KB, rozważ wsadowanie ładunku w mniejszych fragmentach.
Przykład 1. Używanie metody Get (ustawienie domyślne)
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"additionalHeaders": "Connection: keep-alive\nUser-Agent: Mozilla/5.0\n"
}
}
}
Przykład 2: Używanie metody Post
{
"name": "HttpSourceDataInput",
"properties": {
"type": "HttpFile",
"linkedServiceName": {
"referenceName": "<HTTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"relativeUrl": "<relative url>",
"requestMethod": "Post",
"requestBody": "<body for POST HTTP request>"
}
}
}
Starszy model źródła operacji kopiowania
| Właściwości | Opis | Wymagane |
|---|---|---|
| typ | Właściwość type źródła działania kopiowania musi być ustawiona na wartość HttpSource. | Tak |
| limit czasu żądania HTTP | Limit czasu ( wartość TimeSpan ) żądania HTTP w celu uzyskania odpowiedzi. Ta wartość to limit czasu pobierania odpowiedzi, a nie limit czasu odczytu danych odpowiedzi. Wartość domyślna to 00:01:40. | Nie. |
Przykład
"activities":[
{
"name": "CopyFromHTTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<HTTP input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "HttpSource",
"httpRequestTimeout": "00:01:00"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych i formaty.