Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Pro ekvivalentní aktivitu v Data Factory v Microsoft Fabric viz webová aktivita.
Webová aktivita se dá použít k volání vlastního koncového bodu REST z kanálu Azure Data Factory nebo Synapse. Můžete předávat datové sady a propojené služby, které má aktivita používat a ke kterým má mít přístup.
Poznámka:
Webová aktivita se podporuje pro vyvolání adres URL hostovaných v privátní virtuální síti i pomocí místního prostředí Integration Runtime. Modul runtime integrace by měl mít viditelnost na koncový bod adresy URL.
Poznámka:
Maximální podporovaná velikost datové části výstupní odpovědi je 4 MB.
Vytvoření webové aktivity pomocí uživatelského rozhraní
Pokud chcete použít webovou činnost v potrubí, proveďte následující kroky:
Vyhledejte web v podokně Aktivity kanálu a přetáhněte webovou aktivitu na plátno kanálu.
Pokud ještě není vybraná, vyberte novou webovou aktivitu na plátně a její kartu Nastavení a upravte její podrobnosti.
Zadejte adresu URL, což může být doslovný řetězec URL nebo jakákoliv kombinace dynamických výrazů, funkcí, systémových proměnných nebo výstupů z jiných aktivit. Zadejte další podrobnosti, které se mají odeslat s žádostí.
Výstup z aktivity použijte jako vstup do jakékoli jiné aktivity a odkazujte na výstup kdekoli, kde je v cílové aktivitě podporovaný dynamický obsah.
Syntaxe
{
"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"
}
]
}
}
Vlastnosti typu
| Vlastnost | Popis | Povolené hodnoty | Požaduje se |
|---|---|---|---|
| název | Název webové aktivity | String | Ano |
| typ | Musí být nastavená na WebActivity. | String | Ano |
| metoda | Metoda rozhraní REST API pro cílový koncový bod | Řetězec. Podporované typy: "GET", "POST", "PUT", "PATCH", "DELETE" |
Ano |
| url | Cílový koncový bod a cesta | Řetězec (nebo výraz s typem výsledku řetězce). Aktivita vyprší 1 minutu s chybou, pokud neobdrží odpověď z koncového bodu. Tuto dobu odezvy můžete zvýšit až o 10 minut aktualizací vlastnosti httpRequestTimeout. | Ano |
| Doba čekání na httpRequestTimeout | Doba trvání časového limitu odpovědi | hh:mm:ss s maximální hodnotou 00:10:00. Pokud není explicitně specifikováno, nastavená výchozí hodnota je 00:01:00 | Ne |
| záhlaví | Hlavičky, které jsou odeslány s požadavkem. Chcete-li například nastavit jazyk a zadat v požadavku: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. |
Řetězec (nebo výraz s typem výsledku řetězce) | Ne |
| tělo | Představuje datovou část, která se odešle do koncového bodu. | Řetězec (nebo výraz s typem výsledku řetězce). Podívejte se na schéma nákladu požadavku v části Schéma nákladu požadavku. |
Vyžaduje se pro metody POST/PUT/PATCH. Volitelné pro metodu DELETE. |
| ověřování | Metoda ověřování používaná pro volání koncového bodu Podporované typy jsou "Základní, klientský certifikát, spravovaná identita přiřazená systémem, spravovaná identita přiřazená uživatelem, hlavní instanční objekt služby." Další informace najdete v části Ověřování. Pokud ověřování není povinné, vylučte tuto vlastnost. | Řetězec (nebo výraz s typem výsledku řetězce) | Ne |
| turnOffAsync | Možnost zakázat úkon HTTP GET na poli umístění ve hlavičce odpovědi HTTP 202 Response. Pokud je nastavena hodnota true, zastaví vyvolání HTTP GET v umístění HTTP zadaném v hlavičce odpovědi. Pokud nastavíte hodnotu false, bude pokračovat v vyvolání volání HTTP GET v umístění zadaném v hlavičce odpovědi HTTP. | Povolené hodnoty jsou false (výchozí) a true. | Ne |
| disableCertValidation (zakázat ověřování certifikátů) | Odebere ověření certifikátu na straně serveru (nedoporučuje se, pokud se nepřipojíte k důvěryhodnému serveru, který nepoužívá standardní certifikát certifikační autority). | Povolené hodnoty jsou false (výchozí) a true. | Ne |
| datové sady | Seznam datových sad předaných koncovému bodu | Pole odkazů na datovou sadu Může to být prázdné pole. | Ano |
| linkedServices | Seznam propojených služeb předaných koncovému bodu | Pole odkazů na propojenou službu Může to být prázdné pole. | Ano |
| connectVia | Prostředí Integration Runtime, které má být použito k připojení k datovému úložišti. Můžete použít prostředí Azure Integration Runtime nebo místní prostředí Integration Runtime (pokud je vaše úložiště dat v privátní síti). Pokud tato vlastnost není zadaná, služba používá výchozí prostředí Azure Integration Runtime. | Referenční informace k prostředí Integration Runtime. | Ne |
Poznámka:
Koncové body REST volané webovou aktivitou musí vracet odpověď typu JSON. Aktivita vyprší 1 minutu s chybou, pokud neobdrží odpověď z koncového bodu. U koncových bodů, které podporují asynchronní Request-Reply vzor, webová aktivita bude dál čekat bez časového limitu (až 7 dnů) nebo dokud koncové body neoznačí dokončení úlohy.
Následující tabulka uvádí požadavky na obsah JSON:
| Typ hodnoty | Text požadavku | Tělo odpovědi |
|---|---|---|
| Objekt JSON | Podporováno | Podporováno |
| Pole JSON | Podporovaný (V současné době pole JSON nefungují v důsledku chyby. Probíhá oprava.) |
Nepodporované |
| Hodnota JSON | Podporováno | Nepodporované |
| Typ jiného typu než JSON | Nepodporované | Nepodporované |
Ověřování
Níže jsou uvedené podporované typy ověřování ve webové aktivitě.
Nic
Pokud ověřování není povinné, nezahrnujte vlastnost ověřování.
Basic
Zadejte uživatelské jméno a heslo, které se má použít se základním ověřováním.
"authentication":{
"type":"Basic",
"username":"****",
"password":"****"
}
Klientský certifikát
Zadejte obsah souboru PFX s kódováním base64 a heslo.
"authentication":{
"type":"ClientCertificate",
"pfx":"****",
"password":"****"
}
Certifikát musí být certifikát x509. K převodu na soubor PFX můžete použít svůj oblíbený nástroj. Pro kódování base-64 můžete použít následující fragment kódu PowerShellu.
$fileContentBytes = get-content 'enr.dev.webactivity.pfx' -AsByteStream
[System.Convert]::ToBase64String($fileContentBytes) | Out-File ‘pfx-encoded-bytes.txt’
Spravovaná identita
Zadejte identifikátor URI prostředku, pro který se bude vyžadovat přístupový token pomocí spravované identity pro instanci datové továrny nebo instance pracovního prostoru Synapse. Pro volání rozhraní API pro správu prostředků Azure použijte https://management.azure.com/. Další informace o tom, jak spravované identity fungují, najdete na stránce s přehledem spravovaných identit Azure prostředků.
"authentication": {
"type": "MSI",
"resource": "https://management.azure.com/"
}
Poznámka:
Pokud je vaše datová továrna nebo pracovní prostor Synapse nakonfigurovaný s úložištěm Git, musíte přihlašovací údaje uložit do Azure Key Vault pro použití základního nebo klientského ověřování certifikátu. Služba neukládá hesla v Gitu.
Principál služby
Zadejte ID tenanta, ID aplikačního objektu a klíč aplikačního objektu pomocí zabezpečeného řetězce pro klientský tajný klíč.
"authentication": {
"type": "ServicePrincipal",
"tenant": "your_tenant_id",
"servicePrincipalId": "your_client_id",
"servicePrincipalKey": {
"type": "SecureString",
"value": "your_client_secret"
},
"resource": "https://management.azure.com/"
}
Schéma datové části požadavku
Když použijete metodu POST/PUT, vlastnost body představuje datovou část, která je odeslána do koncového bodu. Propojené služby a datové sady můžete předat jako součást užitku. Toto je schéma datové části:
{
"body": {
"myMessage": "Sample",
"datasets": [{
"name": "MyDataset1",
"properties": {
...
}
}],
"linkedServices": [{
"name": "MyStorageLinkedService1",
"properties": {
...
}
}]
}
}
Příklad
V tomto příkladu webová aktivita v kanálu volá koncový bod REST. Předává do koncového bodu Azure SQL propojenou službu a datovou sadu Azure SQL. Koncový bod REST používá Azure SQL připojovací řetězec pro připojení k logickému SQL serveru a vrátí název instance SQL Serveru.
Definice kanálu
{
"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"
}
}
}
}
Hodnoty parametrů kanálu
{
"sqlTableName": "department",
"url": "https://adftes.azurewebsites.net/api/execute/running"
}
Kód koncového bodu webové služby
[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);
}
Související obsah
Projděte si další podporované aktivity toku řízení: