Přidávání a spouštění skriptů jazyka C# pomocí standardních pracovních postupů v Azure Logic Apps

Platí pro: Azure Logic Apps (Standard)

Pokud chcete provádět vlastní úlohy integrace s pracovním postupem Standard v Azure Logic Apps, můžete přímo přidávat a spouštět skripty jazyka C# z pracovního postupu. Pro tuto úlohu použijte akci vložený kód s názvem Execute CSharp Script Code. Tato akce vrátí výsledky ze skriptu, abyste mohli tento výstup použít v následných akcích pracovního postupu.

Tato funkce poskytuje následující výhody:

  • Napište vlastní skripty v návrháři pracovního postupu, abyste mohli řešit složitější problémy s integrací bez nutnosti používat Azure Functions. Nejsou potřeba žádné jiné plány služeb.

    Tato výhoda zjednodušuje vývoj pracovních postupů a snižuje složitost a náklady při správě dalších služeb.

  • Vygenerujte vyhrazený soubor kódu, který poskytuje přizpůsobený skriptovací prostor v rámci pracovního postupu.

  • Nasaďte skripty společně s pracovními postupy.

Tento průvodce ukazuje, jak přidat akci do pracovního postupu a přidat kód skriptu jazyka C#, který chcete spustit.

Požadavky

  • Účet a předplatné Azure. Získejte bezplatný účet Azure.

  • Pracovní postup standardní aplikace logiky, do kterého chcete přidat skript jazyka C#. Pracovní postup už musí začínat spouštěčem. Další informace najdete v tématu Vytvoření ukázkových pracovních postupů standardní aplikace logiky.

    Pro svůj scénář můžete použít libovolný trigger, ale jako příklad tento průvodce používá trigger nazvaný Při přijetí požadavku HTTP a také akci Odpověď. Pracovní postup se spustí, když jiná aplikace nebo pracovní postup odešle požadavek na adresu URL koncového bodu triggeru. Ukázkový skript vrátí výsledky spuštění kódu jako výstup, který můžete použít v následných akcích.

Ukázkové scénáře

Následující seznam popisuje některé ukázkové scénáře, ve kterých můžete pomocí skriptu pomoct s určitými úlohami integrace:

  • Analyzujte a provádějte transformace nebo manipulace s datovou částí zprávy nad rámec možností integrovaných výrazů a datových operací. Můžete například použít skript k vrácení upraveného schématu pro podřízené zpracování.

  • Spravujte prostředky Azure, jako jsou virtuální počítače, a podle určité obchodní logiky je spouštějte nebo zastavujte.

  • Spusťte uloženou proceduru na SQL Serveru, který musí běžet podle plánu, a uložte výsledky na SharePointu.

  • Protokolujte chyby pracovního postupu s podrobnými informacemi uložením do Služby Azure Storage nebo e-mailem nebo upozorněte tým.

  • Zašifrujte a dešifrujte data tak, aby vyhovovala standardům zabezpečení rozhraní API.

  • Předat soubor skriptu k zazipování nebo rozbalení pro požadavek HTTP.

  • Agregace dat z různých rozhraní API a souborů za účelem vytváření denních sestav

Důležité aspekty

  • Azure Portal uloží váš skript jako soubor skriptu jazyka C# (.csx) do stejné složky jako soubor workflow.json , který uloží definici JSON pro váš pracovní postup a nasadí ho do prostředku aplikace logiky spolu s definicí pracovního postupu. Azure Logic Apps tento soubor zkompiluje, aby byl skript připravený ke spuštění.

    Formát souboru .csx umožňuje napsat méně opakujícího se pomocného kódu a soustředit se jen na napsání funkce v jazyce C#. Soubor .csx můžete přejmenovat pro snadnější správu během nasazování. Při každém přejmenování skriptu však nová verze přepíše předchozí verzi.

  • Skript je místní pro pracovní postup. Pokud chcete použít stejný skript v jiných pracovních postupech, zobrazte soubor skriptu v konzole KuduPlus a zkopírujte skript, který chcete použít v jiných pracovních postupech.

Omezení

Název Omezení Poznámky
Doba trvání spuštění skriptu 10 minut Pokud máte scénáře, které potřebují delší dobu trvání, použijte možnost zpětné vazby k produktu a poskytněte další informace o vašich potřebách.
Velikost výstupu 100 MB Velikost výstupu závisí na limitu velikosti výstupu pro akce, což je obecně 100 MB.

Přidejte akci Spustit kód skriptu CSharp

  1. Na portálu Azure Portal otevřete v návrháři prostředek standardní aplikace logiky a pracovní postup.

  2. V návrháři postupujte podle těchto obecných kroků a přidejte do svého pracovního postupu akci Inline Code Operations s názvem Execute CSharp Script Code.

  3. Jakmile se otevře podokno s informacemi o akci, na kartě Parametry v poli Soubor s kódem aktualizujte předvyplněný ukázkový kód vlastním kódem skriptu.

    Následující příklad ukazuje kartu Parametry akce s kódem ukázkového skriptu:

    Snímek obrazovky zobrazuje portál Azure, návrhář standardního pracovního postupu, trigger Request, akci Execute CSharp Script Code s otevřeným informačním podoknem a akci Response. V informačním podokně je zobrazen ukázkový skript v jazyce C#.

    Následující příklad ukazuje vzorový kód skriptu:

    /// Add the required libraries.
    #r "Newtonsoft.Json"
    #r "Microsoft.Azure.Workflows.Scripting"
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Primitives;
    using Microsoft.Extensions.Logging;
    using Microsoft.Azure.Workflows.Scripting;
    using Newtonsoft.Json.Linq;
    
    /// <summary>
    /// Executes the inline C# code.
    /// </summary>
    /// <param name="context">The workflow context.</param>
    /// <remarks> The entry-point to your code. The function signature should remain unchanged.</remarks>
    public static async Task<Results> Run(WorkflowContext context, ILogger log)
    {
        var triggerOutputs = (await context.GetTriggerResults().ConfigureAwait(false)).Outputs;
    
        /// Dereferences the 'name' property from the trigger payload.
        var name = triggerOutputs?["body"]?["name"]?.ToString();
    
        /// To get the outputs from a preceding action, you can uncomment and repurpose the following code.
        // var actionOutputs = (await context.GetActionResults("<action-name>").ConfigureAwait(false)).Outputs;
    
        /// The following logs appear in the Application Insights traces table.
        // log.LogInformation("Outputting results.");
        // var name = null;
    
        return new Results
        {
            Message = !string.IsNullOrEmpty(name) ? $"Hello {name} from CSharp action" : "Hello from CSharp action."
        };
    }
    
    public class Results
    {
        public string Message {get; set;}
    }
    

    Další informace naleznete v tématu "#r" – odkazování na externí sestavení.

  4. Po dokončení uložte pracovní postup.

Po spuštění pracovního postupu můžete zkontrolovat výstup pracovního postupu v Application Insights, pokud je povolený. Další informace najdete v článku Zobrazení protokolů v Application Insights.

Importovat obory názvů

Pokud chcete importovat obory názvů, proveďte to s klauzulí using jako obvykle. Následující seznam obsahuje automaticky importované obory názvů, takže jsou volitelné, abyste je mohli zahrnout do skriptu:

System
System.Collections.Generic
System.IO
System.Linq
System.Net.Http
System.Threading.Tasks
Microsoft.Azure.WebJobs
Microsoft.Azure.WebJobs.Host

Přidejte odkazy na externí sestavení

Pokud chcete odkazovat na sestavení rozhraní .NET Framework, použijte direktivu #r "<assembly-name> , například:

/// Add the required libraries.
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.Workflows.Scripting;
using Newtonsoft.Json.Linq;

public static async Task<Results> Run(WorkflowContext context)
{
    <...>
}

public class Results
{
    <...>
}

Následující seznam obsahuje sestavení automaticky přidaná hostitelským prostředím Azure Functions:

mscorlib
System
System.Core
System.Xml
System.Net.Http
Microsoft.Azure.WebJobs
Microsoft.Azure.WebJobs.Host
Microsoft.Azure.WebJobs.Extensions
System.Web.Http
System.Net.Http.Formatting
Newtonsoft.Json

Zahrnout další soubory .csx

Pokud máte existující soubory .csx, můžete použít třídy a metody z těchto souborů v akci Execute CSharp Script Code . Pro tento úkol můžete použít direktivu #load v souboru execute_csharp_code.csx . Tato direktiva funguje pouze se soubory .csx, nikoli se soubory .cs. Máte následující možnosti:

  • Načtěte soubor .csx přímo do akce.

    Soubor .csx musí existovat ve stejné složce jako pracovní postup, který obsahuje akci Spustit kód skriptu CSharp . Podívejte se na načtení .csx přímo.

  • Odkaz na soubor .csx, který existuje ve sdílené složce pro vaši aplikaci logiky.

    Sdílená složka musí existovat v site/wwwroot/ cestě ke složce vaší logické aplikace. Viz Referenční soubor .csx ve sdílené složce.

Načíst soubor .csx přímo

Následující příklad souboru execute_csharp_code.csx ukazuje, jak pomocí direktivy načíst soubor skriptu s názvem loadscript.csx do akce Spustit kód #load:

// Add the required libraries
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
#load "loadscript.csx"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.Workflows.Scripting;
using Newtonsoft.Json.Linq;

/// <summary>
/// Execute the inline C# code.
/// </summary>
/// <param name="context">The workflow context.</param>
/// <remarks> This is the entry-point to your code. The function signature should remain unchanged.</remarks>
public static async Task<Results> Run(WorkflowContext context, ILogger log)
{
    var name = RunScript().ToString();
    return new Results
    {
        Message = !string.IsNullOrEmpty(name) ? $"Hello {name} from CSharp action" : "Hello from CSharp action."
    };
}

Odkaz na soubor .csx ve sdílené složce

Direktivu #load můžete použít k odkazování na soubor .csx, který existuje ve sdílené složce pro prostředek aplikace logiky. Tato shared složka musí existovat v site/wwwroot/ cestě ke složce pro prostředek logické aplikace.

Chcete-li přidat soubor skriptu do shared složky, postupujte takto:

  1. V Azure Portal otevřete svůj prostředek Standard pro logické aplikace.

  2. Na bočním panelu aplikace logiky v části Vývojové nástroje vyberte Rozšířené nástroje.

  3. Na stránce Rozšířené nástroje vyberte Přejít, čímž otevřete konzolu Kudu+ .

  4. Otevřete nabídku Ladicí konzole a vyberte CMD.

  5. Přejděte do kořenového adresáře vaší aplikace logiky: site/wwwroot

  6. Přejděte do sdílené složky. Pokud tato složka neexistuje, vytvořte ji.

    1. Na panelu nástrojů vedle názvu složky vyberte znaménko plus (+) a pak vyberte Nová složka.

    2. Zadejte shared název složky.

    3. Otevřete novou shared složku.

  7. Přetáhněte soubor skriptu, který chcete importovat do shared složky.

Následující příklad souboru execute_csharp_code.csx ukazuje, jak odkazovat na nahraný soubor skriptu s názvem importcript.csx do akce Spustit kód skriptu CSharp pomocí direktivy #load :

// Add the required libraries
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
#load "..\shared\importscript.csx"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.Workflows.Scripting;
using Newtonsoft.Json.Linq;

/// <summary>
/// Execute the inline C# code.
/// </summary>
/// <param name="context">The workflow context.</param>
/// <remarks> This is the entry-point to your code. The function signature should remain unchanged.</remarks>
public static async Task<Results> Run(WorkflowContext context, ILogger log)
{
    var name = RunScript().ToString();
    return new Results
    {
        Message = !string.IsNullOrEmpty(name) ? $"Hello {name} from CSharp action" : "Hello from CSharp action." 
    }; 
} 

Import balíčků NuGet

NuGet je způsob, jak vytvářet, publikovat, hostovat, zjišťovat, využívat a sdílet knihovny kódu .NET označované jako balíčky. Akce Spustit kód skriptu CSharp podporuje schopnost importovat balíčky NuGet pomocí souboru functions.proj umístěného v kořenové složce pracovního postupu, například:

site/wwwroot/<workflow-name>/workflow.json
site/wwwroot/<workflow-name>/functions.proj

Pomocí následujícího souboru functions.proj můžete například importovat balíčky NuGet do akce Spustit kód skriptu CSharp :

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
       <TargetFramework>netstandard2.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="Serilog" Version="4.3.0" />
        <PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
        <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
     </ItemGroup>
</Project>
  • Pro soubor skriptu jazyka C# (.csx) je nutné nastavit TargetFramework hodnotu netstandard2.0.

    Tento požadavek neznamená, že verze balíčků jsou omezené na netstandard2.0. Stále můžete odkazovat na balíčky pro net6.0 a novější.

  • Když se soubor functions.proj inicializuje, musíte aplikaci logiky restartovat, aby modul runtime Azure Logic Apps mohl soubor rozpoznat a využívat.

Po dokončení restartování modul runtime automaticky získá požadovaná sestavení z NuGet.org a umístí sestavení do příslušné složky pro použití skriptu. I když tato sestavení nemusíte načítat ručně, nezapomeňte přímo odkazovat na balíčky v kódu pomocí standardních using příkazů, například:

using System.Net;
using Newtonsoft.Json;
using Serilog;

public static async Task<Output> Run(WorkflowContext context)
{
    Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo.Console()
    .CreateLogger();

    // Write log messages
    Log.Information("Hello, Serilog with Console sink!");
    Log.Warning("This is a warning message.");

    var outputReturn = new Output()
    { 
        Message = "Utilizing my serilog logger."
    }; 

    return outputReturn;
} 

public class Output
{ 
    public string Message { get; set; }
} 

Zaznamenat výstup do datového proudu

Do metody zahrňte Run parametr s typem ILogger a log jako název, například:

public static void Run(WorkflowContext context, ILogger log)
{
    log.LogInformation($"C# script successfully executed.");
}

Protokolovat výstup do Application Insights

K vytvoření vlastních metrik v Application Insights použijte u objektu ILogger rozšiřující metodu LogMetric.

Následující příklad ukazuje volání ukázkové metody:

logger.LogMetric("TestMetric", 1234);

Přístup k triggerům pracovního postupu a výstupům akcí ve skriptu

Pokud chcete získat přístup k datům z pracovního postupu, použijte následující metody dostupné pro WorkflowContext objekt kontextu:

  • GetTriggerResults metoda

    Chcete-li získat přístup k výstupům triggeru, použijte tuto metodu k vrácení objektu, který představuje trigger a jeho výstupy, které jsou k dispozici prostřednictvím Outputs vlastnosti. Tento objekt má typ JObject a můžete použít hranaté závorky ([]) jako indexer pro přístup k různým vlastnostem ve výstupech triggeru.

    Následující příklad získává data z vlastnosti body ve výstupech aktivační události:

    public static async Task<Results> Run(WorkflowContext context, ILogger log)
    {
    
        var triggerOutputs = (await context.GetTriggerResults().ConfigureAwait(false)).Outputs;
        var body = triggerOutputs["body"];
    
        return new Results;
    
    }
    
    public class Results
    {
        <...>
    }
    
  • GetActionResults metoda

    Chcete-li získat přístup k výstupům akce, použijte tuto metodu k vrácení objektu, který představuje akci a její výstupy, které jsou k dispozici prostřednictvím Outputs vlastnosti. Tato metoda přijímá název akce jako parametr. Následující příklad získá data z vlastnosti body ve výstupech akce s názvem action-name:

    public static async Task<Results> Run(WorkflowContext context, ILogger log)
    {
    
        var actionOutputs = (await context.GetActionResults("action-name").ConfigureAwait(false)).Outputs;
        var body = actionOutputs["body"];
    
        return new Results;
    
    }
    
    public class Results
    {
        <...>
    }
    

Přístup k proměnným prostředí nebo k hodnotě nastavení aplikace

Pokud chcete získat proměnnou prostředí nebo hodnotu nastavení aplikace, použijte metodu System.Environment.GetEnvironmentVariable , například:

public static void Run(WorkflowContext context, ILogger log)
{
    log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
    log.LogInformation(GetEnvironmentVariable("AzureWebJobsStorage"));
    log.LogInformation(GetEnvironmentVariable("WEBSITE_SITE_NAME"));
}

public static string GetEnvironmentVariable(string name)
{
    return name + ": " +
    System.Environment.GetEnvironmentVariable(name, EnvironmentVariableTarget.Process);
}

Vrácení dat do pracovního postupu

Pro tuto úlohu implementujte metodu Run s návratovým typem a return příkazem. Pokud chcete asynchronní verzi, implementujte metodu Run s atributem Task<return-type> a klíčovým slovem async . Návratová hodnota je nastavena na výstupní body vlastnost akce skriptu, na kterou pak mohou odkazovat všechny následné akce pracovního postupu.

Následující příklad ukazuje metodu Run s atributem Task<Results> , async klíčovým slovem a příkazem return :

public static async Task<Results> Run(WorkflowContext context, ILogger log)
{
    return new Results
    {
        Message = !string.IsNullOrEmpty(name) ? $"Returning results with status message."
    };
}

public class Results
{
    public string Message {get; set;}
}

Zobrazení souboru skriptu

  1. Na webu Azure Portal otevřete prostředek aplikace logiky Standard, který má požadovaný pracovní postup.

  2. Na bočním panelu aplikace logiky v části Vývojové nástroje vyberte Rozšířené nástroje.

  3. Na stránce Rozšířené nástroje vyberte Přejít, čímž otevřete konzolu KuduPlus.

  4. Otevřete nabídku Konzola ladění a vyberte možnost CMD.

  5. Přejděte do kořenového umístění aplikace logiky: web/wwwroot

  6. Přejděte do složky pracovního postupu, která obsahuje soubor .csx, podél této cesty: site/wwwroot/{workflow-name}

  7. Vedle názvu souboru vyberte Upravit , abyste soubor otevřeli a zobrazili.

Zobrazení protokolů v Application Insights

  1. Na webu Azure Portal na bočním panelu aplikace logiky v části Nastavení vyberte Application Insights. Vyberte aplikaci logiky.

  2. Na bočním panelu Application Insights v části Monitorování vyberte Protokoly.

  3. Vytvořte dotaz pro vyhledání trasování nebo chyb při provádění pracovního postupu, například:

    union traces, errors
    | project TIMESTAMP, message
    

Chyby kompilace

V této verzi webový editor zahrnuje omezenou podporu Technologie IntelliSense, která se stále vylepšuje. Všechny chyby kompilace se zjistí při uložení pracovního postupu a modul runtime Azure Logic Apps zkompiluje váš skript. Tyto chyby se zobrazí v protokolech chyb vaší aplikace logiky.

Běhové chyby

Pokud při spuštění skriptu dojde k chybě, Azure Logic Apps provede tyto kroky:

  • Předá chybu zpět do pracovního postupu.
  • Označí akci skriptu jako neúspěšnou.
  • Poskytuje objekt chyby, který představuje výjimku vyvolanou z vašeho skriptu.

Následující příklad ukazuje ukázkovou chybu:

Funkce 'CSharp_MyLogicApp-InvalidAction_execute_csharp_script_code.csx' selhala s chybou: 'Akce 'nonexistent' v pracovním postupu neexistuje.' při provádění. Ověřte platnost kódu funkce.

Ukázkové skripty

Následující ukázkové skripty provádějí různé úlohy, které můžete provést.

Dekomprimovat soubor ZIP obsahující textové soubory z akce HTTP do pole řetězců

// Add the required libraries.
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Azure.Workflows.Scripting;
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
using System.Collections.Generic;

/// <summary>
/// Executes the inline C# code.
/// </summary>
/// <param name="context">The workflow context.</param>
public static async Task<List<string>> Run(WorkflowContext context)
{

    var outputs = (await context.GetActionResults("HTTP_1").ConfigureAwait(false)).Outputs;
    var base64zipFileContent = outputs["body"]["$content"].ToString();

    // Decode base64 to bytes.
    byte[] zipBytes = Convert.FromBase64String(base64zipFileContent);

    List<string> fileContents = new List<string>();

    // Creates an in-memory stream from the zip bytes.
    using (MemoryStream zipStream = new MemoryStream(zipBytes))
    {

        // Extracts files from the zip archive.
        using (ZipArchive zipArchive = new ZipArchive(zipStream))
        {

            foreach (ZipArchiveEntry entry in zipArchive.Entries)
            {

                // Read each file's content.
                using (StreamReader reader = new StreamReader(entry.Open()))
                {
                    string fileContent = reader.ReadToEnd();
                    fileContents.Add(fileContent);
                }
            }
        }
    }

    return fileContents;
}

Šifrování dat pomocí klíče z nastavení aplikace

// Add the required libraries.
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Azure.Workflows.Scripting;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

/// <summary>
/// Executes the inline csharp code.
/// </summary>
/// <param name="context">The workflow context.</param>
public static async Task<string> Run(WorkflowContext context)
{

    var compose = (await context.GetActionResults("compose").ConfigureAwait(false)).Outputs;
    var text = compose["sampleData"].ToString();

    return EncryptString(text);

}

public static string EncryptString(string plainText)
{

    var key = Environment.GetEnvironmentVariable("app-setting-key");
    var iv = Environment.GetEnvironmentVariable("app-setting-iv");

    using (Aes aesAlg = Aes.Create())
    {

        aesAlg.Key = Encoding.UTF8.GetBytes(key);
        aesAlg.IV = Encoding.UTF8.GetBytes(iv);
        ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);

        using (MemoryStream msEncrypt = new MemoryStream())
        {

            using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
            {

                using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                {
                    swEncrypt.Write(plainText);
                }

            }

             return Convert.ToBase64String(msEncrypt.ToArray());

        }
    }
}

třída WorkflowContext

Představuje kontext pracovního postupu.

Metody

GetActionResult(string actionName)

Získá výsledek z konkrétní akce v pracovním postupu.

Asynchronní verze jako návratový typ používá úlohu<> , například:

Task<WorkflowOperationResult> GetActionResult(string actionName)

Parametry

actionName: Název akce.

Návraty

Asynchronní verze vrátí Task objekt, který představuje asynchronní operaci. Výsledek úkolu obsahuje WorkflowOperationResult objekt. Informace o vlastnostech objektu WorkflowOperationResult naleznete v části třída WorkflowOperationResult.

RunTriggerResult()

Získá výsledek z triggeru v pracovním postupu.

Asynchronní verze jako návratový typ používá úlohu<> , například:

Task<WorkflowOperationResult> RunTriggerResult()

Parametry

Žádná

Návraty

Asynchronní verze vrátí Task objekt, který představuje asynchronní operaci. Výsledek úkolu obsahuje WorkflowOperationResult objekt. Informace o vlastnostech objektu WorkflowOperationResult najdete v třídě WorkflowOperationResult.

třída WorkflowOperationResult

Představuje výsledek operace workflow.

Vlastnosti

Název Typ Popis
Jméno String Získá nebo nastaví název operace.
Vstupy JToken Získá nebo nastaví vstupy provádění operace.
Výstupy JToken Získá nebo nastaví výstupy provádění operace.
Počáteční čas DateTime? Získá nebo nastaví čas spuštění operace.
Koncový čas DateTime? Získá nebo nastaví čas ukončení operace.
OperationTrackingId String Získá nebo nastaví ID sledování operace.
Kód String Získá nebo nastaví stavový kód pro akci.
Stav Řetězec Získá nebo nastaví stav akce.
Chyba JToken Získá nebo nastaví chybu akce.
TrackedProperties JToken Získá nebo nastaví sledované vlastnosti pro akci.

Přidání a spuštění fragmentů kódu JavaScriptu