Megosztás a következőn keresztül:


Adatok másolása HTTP-végpontról az Azure Data Factory vagy az Azure Synapse Analytics használatával

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet az Azure Data Factoryben és az Azure Synapse-ben az adatok HTTP-végpontból való másolásához. A cikk a másolási tevékenységre épül, amely a másolási tevékenység általános áttekintését mutatja be.

A HTTP-összekötő, a REST-összekötő és a webtábla-összekötő közötti különbség a következő:

  • A REST-összekötő kifejezetten támogatja az adatok RESTful API-kból való másolását;
  • A HTTP-összekötő általánosan bármely HTTP-végpontról, például fájl letöltéséhez kér le adatokat. Mielőtt a REST-összekötő elérhetővé válik, előfordulhat, hogy a HTTP-összekötő használatával másol adatokat a RESTful API-kból, amelyek támogatottak, de kevésbé működnek a REST-összekötőhöz képest.
  • A webtábla-összekötő táblatartalmat nyer ki HTML-weblapról.

Támogatott képességek

Ez a HTTP-összekötő a következő képességekhez támogatott:

Támogatott képességek IR
Copy tevékenység (forrás/-) (1) (2)
Keresési tevékenység (1) (2)

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak című témakörben találja.

Ezt a HTTP-összekötőt a következőkre használhatja:

  • HTTP-/S-végpont adatainak lekérése a HTTP GET vagy POST metódusok használatával.
  • Adatok lekérése a következő hitelesítések egyikével: Névtelen, Alapszintű, Kivonatoló, Windows vagy ClientCertificate.
  • Másolja ki a HTTP-választ, vagy elemezheti azt támogatott fájlformátumok és tömörítési kodekek használatával.

Tipp.

Ha a HTTP-összekötő konfigurálása előtt szeretné tesztelni a HTTP-adatlekérési HTTP-kérést, ismerje meg a fejléc- és törzskövetelmények API-specifikációját. Az ellenőrzéshez használhat olyan eszközöket, mint a Postman vagy egy webböngésző.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

HTTP-forráshoz társított szolgáltatás létrehozása felhasználói felülettel

Az alábbi lépésekkel http-forráshoz társított szolgáltatást hozhat létre az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg a HTTP-t, és válassza ki a HTTP-összekötőt.

    Képernyőkép a HTTP-összekötőről.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    A HTTP-hez társított szolgáltatás konfigurációjának képernyőképe.

Az összekötő konfigurációjának részletei

Az alábbi szakaszok a HTTP-összekötőre jellemző entitások definiálásához használható tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

A HTTP-hez társított szolgáltatás esetében a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus A típustulajdonságot HttpServer értékre kell állítani. Igen
url A webkiszolgáló alap URL-címe. Igen
enableServerCertificateValidation Adja meg, hogy engedélyezi-e a kiszolgáló TLS-/SSL-tanúsítványérvényesítését, amikor HTTP-végponthoz csatlakozik. Ha a HTTPS-kiszolgáló önaláírt tanúsítványt használ, állítsa ezt a tulajdonságot hamisra. Nem
(az alapértelmezett érték igaz)
authenticationType Megadja a hitelesítési típust. Az engedélyezett értékek a Névtelen, az Alapszintű, a Kivonatoló, a Windows és a ClientCertificate. A hitelesítési fejléceket a tulajdonságban authHeader is konfigurálhatja. A táblázatot követő szakaszokban további tulajdonságokat és JSON-mintákat talál ezekhez a hitelesítési típusokhoz. Igen
authHeaders További HTTP-kérelemfejlécek a hitelesítéshez.
Az API-kulcsos hitelesítés használatához például kiválaszthatja a hitelesítési típust "Névtelen" néven, és megadhatja az API-kulcsot a fejlécben.
Nem
connectVia Az adattárhoz való csatlakozáshoz használható integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, a rendszer az alapértelmezett Azure Integration Runtime-t használja. Nem

Alapszintű, kivonatoló vagy Windows-hitelesítés használata

Állítsa be az authenticationType tulajdonságot Alapszintű, Kivonat vagy Windows értékre. Az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
Felhasználónév A HTTP-végpont eléréséhez használandó felhasználónév. Igen
jelszó A felhasználó jelszava (a userName érték). Jelölje meg ezt a mezőt SecureString-típusként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Igen

Példa

{
    "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"
        }
    }
}

ClientCertificate hitelesítés használata

A ClientCertificate hitelesítés használatához állítsa az authenticationType tulajdonságot ClientCertificate értékre. Az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
embeddedCertData Base64-kódolású tanúsítványadatok. Adja meg a embeddedCertData vagy a certThumbprint értéket.
certThumbprint A saját üzemeltetésű integrációs futtatókörnyezeti gép tanúsítványtárolójában telepített tanúsítvány ujjlenyomata. Csak akkor érvényes, ha a connectVia tulajdonságban meg van adva az integrációs modul saját üzemeltetésű típusa. Adja meg a embeddedCertData vagy a certThumbprint értéket.
jelszó A tanúsítványhoz társított jelszó. Jelölje meg ezt a mezőt SecureString-típusként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Nem

Ha a hitelesítéshez certThumbprintet használ, és a tanúsítvány telepítve van a helyi számítógép személyes tárolójában, adjon olvasási engedélyeket a saját üzemeltetésű integrációs modulnak:

  1. Nyissa meg a Microsoft Felügyeleti konzolt (MMC). Adja hozzá a helyi számítógépet megcélzó Tanúsítványok beépülő modult.
  2. Bontsa ki a>Személyes tanúsítványok elemet, majd válassza a Tanúsítványok lehetőséget.
  3. Kattintson a jobb gombbal a személyes tár tanúsítványára, majd válassza a Minden feladat>kezelése titkos kulcsok parancsot.
  4. A Biztonság lapon adja hozzá azt a felhasználói fiókot, amely alatt az Integrációs modul gazdagépszolgáltatása (DIAHostService) fut, és olvasási hozzáféréssel rendelkezik a tanúsítványhoz.
  5. A HTTP-összekötő csak megbízható tanúsítványokat tölt be. Ha önaláírt vagy nem minősített hitelesítésszolgáltatói tanúsítványt használ, a megbízhatóság engedélyezéséhez a tanúsítványt az alábbi üzletek egyikében is telepíteni kell:
    • Megbízható személyek
    • Külső legfelső szintű hitelesítésszolgáltatók
    • Megbízható legfelső szintű hitelesítésszolgáltatók

1. példa: A certThumbprint használata

{
    "name": "HttpLinkedService",
    "properties": {
        "type": "HttpServer",
        "typeProperties": {
            "authenticationType": "ClientCertificate",
            "url": "<HTTP endpoint>",
            "certThumbprint": "<thumbprint of certificate>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

2. példa: EmbeddedCertData használata

{
    "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"
        }
    }
}

Hitelesítési fejlécek használata

Emellett konfigurálhatja a kérésfejléceket a hitelesítéshez a beépített hitelesítési típusokkal együtt.

Példa: API-kulcs hitelesítése

{
    "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"
        }
    }
}

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja.

Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.

A formátumalapú adathalmaz beállításai között location a HTTP a következő tulajdonságokat támogatja:

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának location HttpServerLocation értékre kell állítania. Igen
relativeUrl Az adatokat tartalmazó erőforrás relatív URL-címe. A HTTP-összekötő adatokat másol a kombinált URL-címről: [URL specified in linked service][relative URL specified in dataset]. Nem

Feljegyzés

A támogatott HTTP-kérés hasznos adatmérete körülbelül 500 KB. Ha a webes végpontnak átadni kívánt hasznos adat mérete nagyobb, mint 500 KB, fontolja meg a hasznos adatok kötegelését kisebb adattömbökben.

Példa:

{
    "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"
        }
    }
}

Másolási tevékenység tulajdonságai

Ez a szakasz a HTTP-forrás által támogatott tulajdonságok listáját tartalmazza.

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című témakörben találja.

HTTP forrásként

Az Azure Data Factory a következő fájlformátumokat támogatja. A formátumalapú beállításokat az egyes cikkekben találja.

A HTTP formátumalapú másolási forrás beállításai között storeSettings az alábbi tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus Az alatta lévő storeSettings típustulajdonságnak HttpReadSettings értékre kell állítania. Igen
requestMethod A HTTP metódus.
Az engedélyezett értékek a Beolvasás (alapértelmezett) és a Post.
Nem
additionalHeaders További HTTP-kérelemfejlécek. Nem
requestBody A HTTP-kérés törzse. Nem
httpRequestTimeout A HTTP-kérés időtúllépése (a TimeSpan értéke) a válasz lekéréséhez. Ez az érték a válasz lekéréséhez szükséges időtúllépés, nem pedig a válaszadatok olvasásának időtúllépése. Az alapértelmezett érték 00:01:40. Nem
maxConcurrentConnections Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat. Nem

Példa:

"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>"
            }
        }
    }
]

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

Örökölt modellek

Feljegyzés

Az alábbi modellek továbbra is támogatottak a visszamenőleges kompatibilitás érdekében. Javasoljuk, hogy a fenti szakaszokban említett új modellt használja, és a szerzői felhasználói felület átállt az új modell létrehozására.

Örökölt adathalmaz-modell

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának HttpFile értékre kell állítania. Igen
relativeUrl Az adatokat tartalmazó erőforrás relatív URL-címe. Ha ez a tulajdonság nincs megadva, a rendszer csak a társított szolgáltatás definíciójában megadott URL-címet használja. Nem
requestMethod A HTTP metódus. Az engedélyezett értékek a Beolvasás (alapértelmezett) és a Post. Nem
additionalHeaders További HTTP-kérelemfejlécek. Nem
requestBody A HTTP-kérés törzse. Nem
format Ha elemzés nélkül szeretné lekérni az adatokat a HTTP-végpontról, majd fájlalapú tárolóba másolja az adatokat, hagyja ki a formátumszakaszt a bemeneti és kimeneti adatkészlet-definíciókban.

Ha másolás közben szeretné elemezni a HTTP-válasz tartalmát, a következő fájlformátum-típusok támogatottak: TextFormat, JsonFormat, AvroFormat, OrcFormat és ParquetFormat. A Formátum csoportban állítsa be a típustulajdonságot ezen értékek egyikére. További információ: JSON formátum, Szövegformátum, Avro formátum, Orc formátum és Parquet formátum.
Nem
tömörítés Adja meg az adatok tömörítési típusát és szintjét. További információ: Támogatott fájlformátumok és tömörítési kodekek.

Támogatott típusok: GZip, Deflate, BZip2 és ZipDeflate.
Támogatott szintek: Optimális és Leggyorsabb.
Nem

Feljegyzés

A támogatott HTTP-kérés hasznos adatmérete körülbelül 500 KB. Ha a webes végpontnak átadni kívánt hasznos adat mérete nagyobb, mint 500 KB, fontolja meg a hasznos adatok kötegelését kisebb adattömbökben.

1. példa: A Get metódus használata (alapértelmezett)

{
    "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"
        }
    }
}

2. példa: A Post metódus használata

{
    "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>"
        }
    }
}

Régi másolási tevékenység forrásmodellje

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának típustulajdonságát HttpSource értékre kell állítani. Igen
httpRequestTimeout A HTTP-kérés időtúllépése (a TimeSpan értéke) a válasz lekéréséhez. Ez az érték a válasz lekéréséhez szükséges időtúllépés, nem pedig a válaszadatok olvasásának időtúllépése. Az alapértelmezett érték 00:01:40. Nem

Példa

"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>"
            }
        }
    }
]

Azoknak az adattáraknak a listáját, amelyeket a Másolási tevékenység forrásként és fogadóként támogat, tekintse meg a támogatott adattárakat és formátumokat.