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éggel egyéni REST-végpontokat hívhat meg egy Azure Data Factory 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.

Megjegyzé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.

Megjegyzé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:

  1. Keressen webet a folyamattevékenységek panelen, és húzzon egy webes tevékenységet a folyamatvászonra.

  2. Jelölje ki az új webes tevékenységet a vásznon, ha még nincs kijelölve, és a Gépház lapot a részletek szerkesztéséhez.

    Shows the UI for a Web activity.

  3. 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.

  4. 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

Property 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. Karakterlánc.

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 perc után időtúllépési hibaüzenetet ad vissza, 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ő.
authentication 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

Megjegyzés:

REST endpoints that the web activity invokes must return a response of type JSON. 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ási időtúllépés nélkül (legfeljebb 7 nap), 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

Authentication

Az alábbiakban a webes tevékenység támogatott hitelesítési típusai találhatók.

None

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’

Managed Identity

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

Megjegyzé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.

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);
}

Lásd az egyéb támogatott vezérlési folyamatokat: