Webes tevékenység az Azure Data Factoryben és az Azure Synapse Analyticsben
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!
A webes tevékenység segítségével meghívható egy egyéni REST-végpont egy Azure Data Factory-ból vagy Synapse-folyamatból. Az adatkészleteket és a társított szolgáltatásokat továbbíthatja a tevékenység számára felhasználásra vagy elérés céljára.
Feljegyzés
A webes tevékenység privát virtuális hálózaton üzemeltetett URL-címek meghívására való használata, valamint a saját üzemeltetésű integrációs modullal történő használata is támogatott. Az integrációs modulnak rálátással kell rendelkeznie az URL-végpontra.
Feljegyzés
A maximális támogatott kimeneti válasz hasznos adatmérete 4 MB.
Webes tevékenység létrehozása felhasználói felülettel
Ha webes tevékenységet szeretne használni egy folyamatban, hajtsa végre a következő lépéseket:
Keressen webet a folyamattevékenységek panelen, és húzzon egy webes tevékenységet a folyamatvászonra.
Jelölje ki az új webes tevékenységet a vásznon, ha még nincs kijelölve, és a Beállítások fület a részletek szerkesztéséhez.
Adjon meg egy URL-címet, amely lehet konstans URL-sztring, vagy dinamikus kifejezések, függvények, rendszerváltozók vagy más tevékenységek kimenetei bármilyen kombinációja. Adja meg a kéréssel elküldendő egyéb adatokat.
Használja a tevékenység kimenetét bármely más tevékenység bemeneteként, és hivatkozzon arra a kimenetre, ahol a dinamikus tartalom támogatott a céltevékenységben.
Syntax
{
"name":"MyWebActivity",
"type":"WebActivity",
"typeProperties":{
"method":"Post",
"url":"<URLEndpoint>",
"httpRequestTimeout": "00:01:00"
"connectVia": {
"referenceName": "<integrationRuntimeName>",
"type": "IntegrationRuntimeReference"
}
"headers":{
"Content-Type":"application/json"
},
"authentication":{
"type":"ClientCertificate",
"pfx":"****",
"password":"****"
},
"datasets":[
{
"referenceName":"<ConsumedDatasetName>",
"type":"DatasetReference",
"parameters":{
...
}
}
],
"linkedServices":[
{
"referenceName":"<ConsumedLinkedServiceName>",
"type":"LinkedServiceReference"
}
]
}
}
Típustulajdonságok
Tulajdonság | Leírás | Megengedett értékek | Szükséges |
---|---|---|---|
név | A webes tevékenység neve | Sztring | Igen |
típus | WebActivity értékre kell állítani. | Sztring | Igen |
metódus | REST API-metódus a célvégponthoz. | Húr. Támogatott típusok: "GET", "POST", "PUT", "PATCH", "DELETE" |
Igen |
url | Célvégpont és elérési út | Sztring (vagy kifejezés a sztring eredménytípusával). A tevékenység 1 percen belül időtúllépést okoz, ha nem kap választ a végponttól. Ezt a válaszidőt akár 10 percre is növelheti a httpRequestTimeout tulajdonság frissítésével | Igen |
httpRequestTimeout | Válasz időtúllépési időtartama | hh:mm:ss, a maximális érték 00:10:00. Ha nincs explicit módon megadva az alapértelmezett érték: 00:01:00 | Nem |
Fejlécek | A kérelemnek küldött fejlécek. Például a nyelv beállításához és egy kérés beírásához: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" } . |
Sztring (vagy kifejezés a sztring eredménytípusával) | Nem |
törzs | A végpontnak küldött hasznos adatokat jelöli. | Sztring (vagy kifejezés a sztring eredménytípusával). Tekintse meg a kérelem hasznos adatainak sémáját a Kérelem hasznos adat séma szakaszában. |
A POST/PUT/PATCH metódusokhoz szükséges. A DELETE metódushoz nem kötelező. |
hitelesítés | A végpont meghívásához használt hitelesítési módszer. Támogatott típusok: "Alapszintű, ügyféltanúsítvány, rendszer által hozzárendelt felügyelt identitás, felhasználó által hozzárendelt felügyelt identitás, szolgáltatásnév". További információ: Hitelesítés szakasz. Ha nincs szükség hitelesítésre, zárja ki ezt a tulajdonságot. | Sztring (vagy kifejezés a sztring eredménytípusával) | Nem |
turnOffAsync | A HTTP GET meghívásának letiltása a HTTP 202-válasz válaszfejlécének helymezőjében. Ha igaz érték van beállítva, a válaszfejlécben megadott http-helyen leállítja a HTTP GET meghívását. Ha hamis értéket ad meg, akkor továbbra is HTTP GET-hívást hív meg a HTTP-válaszfejlécekben megadott helyen. | Az engedélyezett értékek hamisak (alapértelmezett) és igazak. | Nem |
disableCertValidation | Eltávolítja a kiszolgálóoldali tanúsítványérvényesítést (csak akkor ajánlott, ha olyan megbízható kiszolgálóhoz csatlakozik, amely nem használ szabványos hitelesítésszolgáltatói tanúsítványt). | Az engedélyezett értékek hamisak (alapértelmezett) és igazak. | Nem |
adatkészletek | A végpontnak átadott adathalmazok listája. | Adathalmaz-hivatkozások tömbje. Üres tömb is lehet. | Igen |
linkedServices | A végpontnak átadott társított szolgáltatások listája. | Társított szolgáltatáshivatkozások tömbje. Üres tömb is lehet. | Igen |
connectVia | Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure integrációs modult vagy a saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha ez a tulajdonság nincs megadva, a szolgáltatás az alapértelmezett Azure-integrációs modult használja. | Az integrációs modul referenciája. | Nem |
Feljegyzés
A webes tevékenység által meghívott REST-végpontoknak JSON típusú választ kell visszaadniuk. A tevékenység 1 perc után időtúllépési hibaüzenetet ad vissza, ha nem kap választ a végponttól. Az aszinkron kérés-válasz mintát támogató végpontok esetében a webes tevékenység továbbra is várakozás nélkül (legfeljebb 7 napig) várakozik, vagy amíg a végpontok jelzik a feladat befejezését.
Az alábbi táblázat a JSON-tartalomra vonatkozó követelményeket mutatja be:
Érték típusa | Kérés törzse | Választörzs |
---|---|---|
JSON-objektum | Támogatott | Támogatott |
JSON-tömb | Támogatott (Jelenleg a JSON-tömbök nem működnek hiba miatt. A javítás folyamatban van.) |
Támogatott |
JSON-érték | Támogatott | Támogatott |
Nem JSON-típus | Nem támogatott | Nem támogatott |
Hitelesítés
Az alábbiakban a webes tevékenység támogatott hitelesítési típusai találhatók.
Egyik sem
Ha nincs szükség hitelesítésre, ne tartalmazza a "authentication" tulajdonságot.
Alap
Adja meg az alapszintű hitelesítéshez használni kívánt felhasználónevet és jelszót.
"authentication":{
"type":"Basic",
"username":"****",
"password":"****"
}
Ügyféltanúsítvány
Adja meg egy PFX-fájl alap64 kódolású tartalmát és a jelszót.
"authentication":{
"type":"ClientCertificate",
"pfx":"****",
"password":"****"
}
A tanúsítványnak x509-tanúsítványnak kell lennie. A PFX-fájlra való konvertáláshoz használhatja a kedvenc segédprogramját. A base-64 kódoláshoz használhatja a következő PowerShell-kódrészletet.
$fileContentBytes = get-content 'enr.dev.webactivity.pfx' -AsByteStream
[System.Convert]::ToBase64String($fileContentBytes) | Out-File ‘pfx-encoded-bytes.txt’
Felügyelt identitás
Adja meg azt az erőforrás-uri-t, amelyhez a hozzáférési jogkivonatot a data factory vagy a Synapse-munkaterület példányának felügyelt identitásával kéri le a rendszer. Az Azure Resource Management API meghívásához használja a következőt https://management.azure.com/
: . A felügyelt identitások működésével kapcsolatos további információkért tekintse meg az Azure-erőforrások felügyelt identitásainak áttekintési oldalát.
"authentication": {
"type": "MSI",
"resource": "https://management.azure.com/"
}
Feljegyzés
Ha az adat-előállító vagy a Synapse-munkaterület git-adattárral van konfigurálva, a hitelesítő adatokat az Azure Key Vaultban kell tárolnia az alapszintű vagy ügyféltanúsítvány-hitelesítés használatához. A szolgáltatás nem tárolja a jelszavakat a gitben.
Szolgáltatásnév
Adja meg a bérlőazonosítót, a szolgáltatásnév azonosítóját és a szolgáltatásnévkulcsot az ügyfél titkos kódjának biztonságos sztringjével.
"authentication": {
"type": "ServicePrincipal",
"tenant": "your_tenant_id",
"servicePrincipalId": "your_client_id",
"servicePrincipalKey": {
"type": "SecureString",
"value": "your_client_secret"
},
"resource": "https://management.azure.com/"
}
Hasznos adatséma kérése
A POST/PUT metódus használatakor a törzstulajdonság a végpontnak küldött hasznos adatokat jelöli. A hasznos adatok részeként átadhat társított szolgáltatásokat és adatkészleteket. A hasznos adatok sémája a következő:
{
"body": {
"myMessage": "Sample",
"datasets": [{
"name": "MyDataset1",
"properties": {
...
}
}],
"linkedServices": [{
"name": "MyStorageLinkedService1",
"properties": {
...
}
}]
}
}
Példa
Ebben a példában a folyamat webes tevékenysége REST végpontot hív meg. Átad egy Azure SQL-hez társított szolgáltatást és egy Azure SQL-adatkészletet a végpontnak. A REST-végpont az Azure SQL kapcsolati sztring használatával csatlakozik a logikai SQL-kiszolgálóhoz, és visszaadja az SQL Server-példány nevét.
Folyamatdefiníció
{
"name": "<MyWebActivityPipeline>",
"properties": {
"activities": [
{
"name": "<MyWebActivity>",
"type": "WebActivity",
"typeProperties": {
"method": "Post",
"url": "@pipeline().parameters.url",
"headers": {
"Content-Type": "application/json"
},
"authentication": {
"type": "ClientCertificate",
"pfx": "*****",
"password": "*****"
},
"datasets": [
{
"referenceName": "MySQLDataset",
"type": "DatasetReference",
"parameters": {
"SqlTableName": "@pipeline().parameters.sqlTableName"
}
}
],
"linkedServices": [
{
"referenceName": "SqlLinkedService",
"type": "LinkedServiceReference"
}
]
}
}
],
"parameters": {
"sqlTableName": {
"type": "String"
},
"url": {
"type": "String"
}
}
}
}
Folyamatparaméter-értékek
{
"sqlTableName": "department",
"url": "https://adftes.azurewebsites.net/api/execute/running"
}
Webszolgáltatás végpontkódja
[HttpPost]
public HttpResponseMessage Execute(JObject payload)
{
Trace.TraceInformation("Start Execute");
JObject result = new JObject();
result.Add("status", "complete");
JArray datasets = payload.GetValue("datasets") as JArray;
result.Add("sinktable", datasets[0]["properties"]["typeProperties"]["tableName"].ToString());
JArray linkedServices = payload.GetValue("linkedServices") as JArray;
string connString = linkedServices[0]["properties"]["typeProperties"]["connectionString"].ToString();
System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(connString);
result.Add("sinkServer", sqlConn.DataSource);
Trace.TraceInformation("Stop Execute");
return this.Request.CreateResponse(HttpStatusCode.OK, result);
}
Kapcsolódó tartalom
Lásd az egyéb támogatott vezérlési folyamatokat: