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:
Keressen rá a webre 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 Gépház lapot a részleteinek szerkesztéséhez.
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.
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: