Webes tevékenység Azure Data Factory és Azure Synapse Analyticsben

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

A webes tevékenység egyéni REST-végpontok meghívására használható 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 rá a webre 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észleteinek szerkesztéséhez.

    Shows the UI for a Web activity.

  3. Adjon meg egy URL-címet, amely lehet literális 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érelemmel 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 céltevékenység támogatja a dinamikus tartalmat.

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 Kötelező
name A webes tevékenység neve Sztring Yes
típus WebActivity értékre kell állítani. Sztring Yes
method A célvégpont REST API-metódusa. Sztring.

Támogatott típusok: "GET", "POST", "PUT"
Yes
url Célvégpont és elérési út Karakterlánc (vagy kifejezés a karakterlánc resultType tulajdonságá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 Yes
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 No
Fejlécek A kérelemnek küldött fejlécek. Például a nyelv beállításához és egy kérelem beírásához: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Karakterlánc (vagy kifejezés a sztring resultType-jával) Igen, a tartalomtípus fejléce kötelező. "headers":{ "Content-Type":"application/json"}
body (Törzs) A végpontnak küldött hasznos adatokat jelöli. Karakterlánc (vagy kifejezés a karakterlánc resultType tulajdonságával).

Tekintse meg a kérelem hasznos adatainak sémáját a Hasznos adatok kérése séma szakaszban.
POST/PUT metódusokhoz szükséges.
hitelesítés A végpont meghívásához használt hitelesítési módszer. A támogatott típusok a következők: "Alapszintű vagy ClientCertificate". További információ: Hitelesítés szakasz. Ha nincs szükség hitelesítésre, zárja ki ezt a tulajdonságot. Karakterlánc (vagy kifejezés a sztring resultType-jával) No
adathalmazok A végpontnak átadott adathalmazok listája. Adathalmaz-hivatkozások tömbje. Üres tömb is lehet. Yes
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. Yes
connectVia Az adattárhoz való csatlakozáshoz használt 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 privát há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. No

Megjegyzé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. Ezt az időtúllépési időtartamot akár 10 percre is meghosszabbíthatja, ha frissíti a "httpRequestTimeout" tulajdonságot a tevékenységbeállításokban.

Az alábbi táblázat a JSON-tartalomra vonatkozó követelményeket mutatja be:

Érték típusa A 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.)
Nem támogatott
JSON-érték Támogatott Nem támogatott
Nem JSON-típus Nem támogatott Nem támogatott

Hitelesítés

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

None

Ha nincs szükség hitelesítésre, ne tartalmazza a "authentication" tulajdonságot.

Alapszintű

Adja meg az alapszintű hitelesítéshez használandó felhasználónevet és jelszót.

"authentication":{
   "type":"Basic",
   "username":"****",
   "password":"****"
}

Ügyféltanúsítvány

Adja meg a PFX-fájl base64 kódolású tartalmát és a jelszót.

"authentication":{
   "type":"ClientCertificate",
   "pfx":"****",
   "password":"****"
}

Felügyelt identitás

Adja meg azt az erőforrás-URI-t, amelyhez a hozzáférési jogkivonatot az adat-előállító 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 Vault 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.

Hasznosadat-sé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 társított szolgáltatásokat és adatkészleteket is átadhat. 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. Egy Azure SQL társított szolgáltatást és egy Azure SQL adatkészletet ad át a végpontnak. A REST-végpont a Azure SQL kapcsolati sztring használatával csatlakozik a logikai SQL kiszolgálóhoz, és visszaadja SQL kiszolgáló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);
}

Következő lépések

Tekintse meg az egyéb támogatott vezérlési folyamatokat: