Webová aktivita ve službě Azure Data Factory a Azure Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Aktivita na webu slouží k volání vlastního koncového bodu REST z kanálu služby 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 volání adres URL hostovaných v privátní virtuální síti a také adres URL hostovaných s využitím místního prostředí Integration Runtime. Modul runtime integrace by měl být v dohledu koncového bodu 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 aktivitu v kanálu, 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 jeho kartu Nastavení a upravte její podrobnosti.
Zadejte adresu URL, což může být řetězec adresy URL literálu nebo libovolná 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 |
---|---|---|---|
name | Název webové aktivity | String | Ano |
type | 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 |
httpRequestTimeout | Doba trvání časového limitu odpovědi | hh:mm:ss s maximální hodnotou 00:10:00. Pokud není explicitně zadán výchozí hodnota 00:01:00 | No |
záhlaví | Hlavičky, které se odešlou do požadavku. 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) | No |
text | Představuje datovou část, která se odešle do koncového bodu. | Řetězec (nebo výraz s typem výsledku řetězce). Viz schéma datové části požadavku v části Schéma datové části 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, instanční objekt.". 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) | No |
turnOffAsync | Možnost zakázat vyvolání HTTP GET v poli umístění v hlavičce odpovědi 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. | No |
disableCertValidation | 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. | No |
Power BI | 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é se má použít pro připojení k úložišti dat. 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. | No |
Poznámka:
Koncové body REST volané webovou aktivitou musí vracet odpověď typu JSON. Pokud aktivita neobdrží odpověď z koncového bodu do 1 minuty, vyprší její časový limit s chybou. U koncových bodů, které podporují vzor asynchronní žádosti a odpovědi, bude webová aktivita dál čekat bez vypršení časového limitu (až 7 dnů) nebo až do ukončení úlohy koncové body.
Následující tabulka uvádí požadavky na obsah JSON:
Typ hodnoty | Text požadavku | Text 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 "authentication".
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. Pokud chcete volat rozhraní API služby Azure Resource Management, použijte https://management.azure.com/
. Další informace o tom, jak spravované identity fungují, najdete na stránce přehledu spravovaných identit pro prostředky Azure.
"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 ve službě Azure Key Vault, abyste mohli používat základní nebo klientské ověřování certifikátů. Služba neukládá hesla v Gitu.
Instanční objekt
Zadejte ID tenanta, ID instančního objektu a klíč instančního objektu pomocí zabezpečeného řetězce pro tajný klíč klienta.
"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 datové části. 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á propojenou službu Azure SQL a datovou sadu Azure SQL do koncového bodu. 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í: