Azure Data Explorer-Ausgabebindungen für Azure Functions (Vorschau) (2023)

  • Artikel

Wenn eine Funktion ausgeführt wird, erfasst die Azure Data Explorer-Ausgabebindung Daten in Azure Data Explorer.

Einzelheiten zur Installation und Konfiguration finden Sie unterÜberblick.

Beispiele

Eine C#-Funktion kann mit einem der folgenden C#-Modi erstellt werden:

  • Klassenbibliothek in Bearbeitung: Kompilierte C#-Funktion, die im selben Prozess wie die Functions-Laufzeit ausgeführt wird.
  • Klassenbibliothek in einem isolierten Arbeitsprozess:kompilierte C#-Funktion, die in einem von der Laufzeit isolierten Arbeitsprozess ausgeführt wird. Zur Unterstützung von C#-Funktionen, die auf Nicht-LTS-Versionen von .NET und .NET Framework ausgeführt werden, ist ein isolierter Arbeitsprozess erforderlich.
  • C#-Skript: Wird hauptsächlich beim Erstellen von C#-Funktionen im Azure-Portal verwendet.
  • Gestartet
  • isolierter Prozess

Weitere Beispiele für Azure Data Explorer-Ausgabebindungen finden Sie unterGitHub-RepositoryNamezugänglich.

Dieser Abschnitt enthält die folgenden Beispiele:

  • HTTP-Trigger: Schreiben eines Datensatzes
  • HTTP-Trigger: Schreiben in zwei Tabellen
  • HTTP-Trigger: Datensätze mit IAsyncCollector schreiben

Die Beispiele beziehen sich auf aProdukteKlasse und eine entsprechende Datenbanktabelle:

öffentliche Klasse Product{ [JsonProperty(nameof(ProductID))] public long ProductID { get; definir; } [JsonProperty(nome do(Nome))] public string Nome { get; definir; } [JsonProperty(nameof(Cost))] public double Cost { get; definir; }}
.create-merge tabelprodukter (ProductID:long, Name:string, Cost:double)

HTTP-Trigger: Schreiben eines Datensatzes

Das folgende Beispiel zeigt aC#-Funktion, das einen Datensatz zu einer Datenbank hinzufügt und dabei Daten aus einer HTTP-POST-Anfrage als JSON-Text verwendet.

bruger System.Globalization;bruger System.IO;bruger Microsoft.AspNetCore.Http;bruger Microsoft.AspNetCore.Mvc;bruger Microsoft.Azure.WebJobs.Extensions.Http;bruger Microsoft.Azure.WebJobs.Extensions.Kusto.Samples.Common; Verwenden Sie Microsoft.Azure.WebJobs.Kusto. Verwenden Sie Microsoft.Extensions.Logging. Verwenden Sie Newtonsoft.Json statisk IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "addproductuni")] HttpRequest req, ILogger log, [Kusto(Database:"productsdb" , TableName ="Products" , Connection = "KustoConnectionString")] ud Produktprodukt) { log.LogInformation($"AddProduct-funktion gestartet"); string body = new StreamReader(req.Body).ReadToEnd(); Produkt = JsonConvert.DeserializeObject(Körper); return new CreatedResult($"/api/addproductuni", product); } }}

HTTP-Trigger: Schreiben in zwei Tabellen

Das folgende Beispiel zeigt aC#-Funktion, die Datensätze einer Datenbank in zwei verschiedenen Tabellen (ProdukteeProduktänderungsprotokoll) unter Verwendung von Daten aus einer HTTP-POST-Anfrage als JSON-Körper und mehreren Ausgabebindungen.

.create-merge Tabelle ProductsChangeLog (ProductID:long, CreatedAt:datetime)
user System;user Newtonsoft.Json;namespace Microsoft.Azure.WebJobs.Extensions.Kusto.Samples.Common{ public class ProductsChangeLog { [JsonProperty(nameof(ProductID))] public long ProductID { get; definir; } [JsonProperty(nameof(CreatedAt))] public DateTime CreatedAt { get; definir; } }}
verwenden Sie System; verwenden Sie System.IO; verwenden Sie Kusto.Cloud.Platform.Utils; verwenden Sie Microsoft.AspNetCore.Http; verwenden Sie Microsoft.AspNetCore.Mvc; verwenden Sie Microsoft.Azure.WebJobs.Extensions.Http; verwenden Sie Microsoft.Azure.WebJobs.Extensions .Kusto.Samples.Common;Benutzer Microsoft.Azure.WebJobs.Kusto;Benutzer Microsoft.Extensions.Logging;Benutzer Newtonsoft.Json;namespace Microsoft.Azure.WebJobs.Extensions.Kusto.Samples.OutputBindingSamples{ öffentliche statische Klasse AddMultiTable { [Funktion name ("AddMultiTable")] public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "addmulti")] HttpRequest req, ILogger log, [Kusto(Database:"productsdb", TableName ="Produtos" , Connection = "KustoConnectionString" )] IAsyncCollectorproductsCollector, [Kusto(Database:"productsdb" , TableName =S"ProductsChangeLog" , Connection = "KustoConnectionString")] IAsyncCollectorlog$.LogAddInn {mudança. funktion startet"); string body = new StreamReader(req.Body).ReadToEnd(); Product[] products = JsonConvert.DeserializeObject(Corpo); products.ForEach(p => { productsCollector.AddAsync(p); changeCollector.AddAsync(new ProductsChangeLog { CreatedAt = DateTime.UtcNow, ProductID = p.ProductID }); }); productsCollector.FlushAsync(); changeCollector.FlushAsync(); Produkt zurückgeben != null ? new ObjectResult(products) { StatusCode = StatusCodes.Status201Created } : new BadRequestObjectResult("Giv venligst et veludformet JSON-produktarray i kroppen"); } }}

HTTP-Trigger: Datensätze mit IAsyncCollector schreiben

Das folgende Beispiel zeigt aC#-Funktion, das Einträge in einer Tabelle mithilfe von Daten aus einem JSON-Array im HTTP-POST-Body sammelt.

Verwenden Sie System.IO; Verwenden Sie Kusto.Cloud.Platform.Utils; verwendet Microsoft.AspNetCore.Http; verwendet Microsoft.AspNetCore.Mvc; verwendet Microsoft.Azure.WebJobs.Extensions.Http; Wird für die Verwendung von Microsoft.Azure.WebJobs.Extensions verwendet. Kusto. Samples.Common; verwendet Microsoft.Azure.WebJobs.Kusto; verwendet Microsoft.Extensions.Logging; verwendet Newtonsoft.Json; Namespace Microsoft.Azure.WebJobs.Extensions.Kusto.Samples.OutputBindingSamples{ öffentliche statische Klasse AddProductsAsyncCollector(syncCollector { [FunctionProductorName " )] öffentliche statische IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "addproductsasynccollector")] HttpRequest req, ILogger-Protokoll, [Kusto(Database:"productsdb" , TableName ="Products" , Connection = " KustoConnectionString " )] IAsyncCollectorcoletor) { log.LogInformation($"AddProductsAsyncCollector-funktion-started"); string body = new StreamReader(req.Body).ReadToEnd(); Produkte[] Produkte = JsonConvert.DeserializeObject(Körper); products.ForEach(p => { Collector.AddAsync(p); }); Collector.FlushAsync(); Produkte zurückgeben != null ? new ObjectResult(products) { StatusCode = StatusCodes.Status201Created } : new BadRequestObjectResult("Bitte stellen Sie ein wohlgeformtes JSON-Produktarray im Text bereit"); } }}

Weitere Beispiele für die eingehende Java Azure Data Explorer-Bindung finden Sie unterGitHub-RepositoryNamezugänglich.

Dieser Abschnitt enthält die folgenden Beispiele:

  • HTTP-Trigger: Schreiben eines Datensatzes in eine Tabelle
  • HTTP-Trigger: Schreiben in zwei Tabellen

Die Beispiele beziehen sich auf aProdukteKlasse (in einer separaten DateiProdukt.java) und eine entsprechende DatenbanktabelleProdukte(zuvor definiert):

package com.microsoft.azure.kusto.common;import com.fasterxml.jackson.annotation.JsonProperty;public class Product { @JsonProperty("ProductID") public long ProductID; @JsonProperty("Nome") public String nome; @JsonProperty("Custom") doppelt öffentlich zugänglich; public Product() { } public Product(long ProductID, String name, double Cost) { this.ProductID = ProductID; this.Name = nome; this.Cost = Custo; }}

HTTP-Trigger: Schreiben eines Datensatzes in eine Tabelle

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung an eine Java-Funktion, die einen Produktdatensatz zu einer Tabelle hinzufügt, indem sie Daten verwendet, die als JSON-Text in einer HTTP-POST-Anfrage bereitgestellt werden. Die Funktion benötigt eine weitere Bibliotheksabhängigkeitcom.fasterxml.jackson.coreum den JSON-Körper zu analysieren.

 com.fasterxml.jackson.core jackson-databind 2.13.4.1
Paket com.microsoft.azure.kusto.outputbindings;import com.fasterxml.jackson.databind.ObjectMapper;import com.microsoft.azure.functions.HttpMethod;import com.microsoft.azure.functions.HttpRequestMessage;import.com.microsoft . functions.HttpResponseMessage;import com.microsoft.azure.functions.HttpStatus;import com.microsoft.azure.functions.OutputBinding;import com.microsoft.azure.functions.annotation.AuthorizationLevel;import com.microsoft.azure. .FunctionName;import com.microsoft.azure.functions.annotation.HttpTrigger;import com.microsoft.azure.functions.kusto.annotation.KustoOutput;import com.microsoft.azure.kusto.common.Product;import java.io.IOException ;import java.util.Optional;import static com.microsoft.azure.kusto.common.Constants.*;public class AddProduct { @FunctionName("AddProduct") public HttpResponseMessage run(@HttpTrigger(name = "req", method = { HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS, route = "addproductuni") HttpRequestMessage> Anfrage, @KustoOutput(name = "product", Database = "productsdb", tablename = "Products", Connection = KUSTOCONNSTR) OutputBindingprodukt) kaster IOException { if (request.getBody().isPresent()) { String json = request.getBody().get(); Mapeador ObjectMapper = new ObjectMapper(); Produkt p = mapper.readValue(json, Product.class); Produkt.setValue(p); returner request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(product) .build(); } else { return request.createResponseBuilder(HttpStatus.NO_CONTENT).header("Content-Type", "application/json") .build(); } }}

HTTP-Trigger: Schreiben in zwei Tabellen

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung an eine Java-Funktion, die Datensätze für zwei verschiedene Tabellen zurückgibt (ProdukteeProduktänderungsprotokoll) hinzugefügt. Es verwendet die in einer HTTP-POST-Anfrage bereitgestellten Daten als JSON-Body und verschiedene Ausgabebindungen. Die Funktion benötigt eine weitere Bibliotheksabhängigkeitcom.fasterxml.jackson.coreum den JSON-Körper zu analysieren.

 com.fasterxml.jackson.core jackson-databind 2.13.4.1

der andere TischProduktänderungsprotokoll, entspricht der folgenden Definition:

.create-merge Tabelle ProductsChangeLog (ProductID:long, CreatedAt:datetime)

und Java-Klasse iProductsChangeLog.java:

Paket com.microsoft.azure.kusto.common;import com.fasterxml.jackson.annotation.JsonProperty;public class ProductsChangeLog { @JsonProperty("ProductID") public long ProductID; @JsonProperty("CreatedAt") public String CreatedAt; public ProductsChangeLog() { } public ProductsChangeLog(lang ProductID, String CreatedAt) { this.ProductID = ProductID; this.CreatedAt = CreatedAt; }}
Paket com.microsoft.azure.kusto.outputbindings;import com.fasterxml.jackson.databind.ObjectMapper;import com.microsoft.azure.functions.HttpMethod;import com.microsoft.azure.functions.HttpRequestMessage;import.com.microsoft . functions.HttpResponseMessage;import com.microsoft.azure.functions.HttpStatus;import com.microsoft.azure.functions.OutputBinding;import com.microsoft.azure.functions.annotation.AuthorizationLevel;import com.microsoft.azure. .FunctionName;import com.microsoft.azure.functions.annotation.HttpTrigger;import com.microsoft.azure.functions.kusto.annotation.KustoOutput;import com.microsoft.azure.kusto.common.Product;import com.microsoft.azure .kusto.common.ProductsChangeLog;import statisk com.microsoft.azure.kusto.common.Constants.*;import java.io.IOException;import java.time.Clock;import java.time.Instant;import java.util.Optional ;public class AddMultiTable { @FunctionName("AddMultiTable") public HttpResponseMessage run(@HttpTrigger(name = "req", Methods = { HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS, route = "addStrttpRequest") HsttpRequest" >> anmodning , @KustoOutput(navn = "produto", banco de dados = "produtosdb", tabelnavn = "Produto", forbindelse = KUSTOCONNSTR) OutputBindingProdukt, @KustoOutput(name = "productChangeLog", Datenbank = "productsdb", tableName = "ProductsChangeLog", Verbindung = KUSTOCONNSTR) OutputBindingproductChangeLog) kaster IOException { if (request.getBody().isPresent()) { String json = request.getBody().get(); Mapeador ObjectMapper = new ObjectMapper(); Produkt p = mapper.readValue(json, Product.class); Produkt.setValue(p); productChangeLog.setValue(new ProductsChangeLog(p.ProductID, Instant.now(Clock.systemUTC()).toString())); returner request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(product) .build(); } else { return request.createResponseBuilder(HttpStatus.NO_CONTENT).header("Content-Type", "application/json") .build(); } }}

Weitere Beispiele für Azure Data Explorer-Ausgabebindungen finden Sie unterGitHub-RepositoryNamezugänglich.

Dieser Abschnitt enthält die folgenden Beispiele:

  • HTTP-Trigger: Datensätze in eine Tabelle schreiben
  • HTTP-Trigger: Schreiben in zwei Tabellen

Das Beispiel bezieht sich auf eine Datenbanktabelle:

Die Beispiele beziehen sich auf die TabellenProdukteeProduktänderungsprotokoll(zuvor definiert):

HTTP-Trigger: Datensätze in eine Tabelle schreiben

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung in der Datei „function.json“ und eine JavaScript-Funktion, die Datensätze zu einer Tabelle hinzufügt. Es verwendet die in einer HTTP-POST-Anfrage bereitgestellten Daten als JSON-Body.

Das folgende Beispiel bindet Daten in der Datei function.json:

{ "bindings": [ { "authLevel": "function", "name": "req", "direction": "in", "type": "httpTrigger", "methods": [ "post" ], " route": "addproduct" }, { "name": "$return", "type": "http", "direction": "out" }, { "name": "product", "type": "kusto ", "database": "productsdb", "direction": "out", "tableName": "Produkter", "connection": "KustoConnectionString" } ], "disabled": false}

Weitere Informationen zu diesen Eigenschaften finden Sie im AbschnittEinstellungen.

Hier ist ein JavaScript-Codebeispiel:

// Fügen Sie das Produkt ein, das es in Produkte einfügen soll. table.module.exports = async function (context, req) { // Beachten Sie, dass dies erwartet, dass der Körper ein JSON-Objekt oder ein Array von Objekten ist, die über eine // passende Eigenschaft verfügen jede Spalte der einzufügenden Tabelle. context.bindings.product = req.body; return { Status: 201, Body: req.body };}

HTTP-Trigger: Schreiben in zwei Tabellen

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung in der Datei „function.json“ und eine JavaScript-Funktion, die zwei Tabellen registriert (ProdukteeProduktänderungsprotokoll) hinzugefügt. Es verwendet die in einer HTTP-POST-Anfrage bereitgestellten Daten als JSON-Body und verschiedene Ausgabebindungen.

der andere TischProduktänderungsprotokoll, entspricht der folgenden Definition:

.create-merge Tabelle ProductsChangeLog (ProductID:long, CreatedAt:datetime)

Das folgende Beispiel bindet Daten in der Datei function.json:

{ "bindings": [ { "authLevel": "function", "name": "req", "direction": "in", "type": "httpTrigger", "methods": [ "post" ], " route": "addmultitable" }, { "name": "res", "type": "http", "direction": "out" }, { "name": "product", "type": "kusto" , „database“: „productsdb“, „direction“: „out“, „tableName“: „Products“, „connection“: „KustoConnectionString“ }, { „name“: „productchangelog“, „type“: „kusto“ , „database“: „productsdb“, „direction“: „out“, „tableName“: „ProductsChangeLog“, „connection“: „KustoConnectionString“ } ], „disabled“: false}

Weitere Informationen zu diesen Eigenschaften finden Sie im AbschnittEinstellungen.

Hier ist ein JavaScript-Codebeispiel:

module.exports = Funktion async (context, req) { context.log('JavaScript HTTP-Trigger und Kusto-Ausgabebindungsfunktion verarbeiten eine Anfrage.'); context.log(req.body); if (req.body) { var changeLog = {ProductID:req.body.ProductID, CreatedAt: new Date().toISOString()}; context.bindings.product = req.body; context.bindings.productchangelog = changeLog; context.res = { body: req.body, mimetype: "application/json", status: 201 } } else { context.res = { status: 400, body: "Erro ao ler o corpo da solicitação" } }}

Weitere Beispiele für Azure Data Explorer-Ausgabebindungen finden Sie unterGitHub-RepositoryNamezugänglich.

Dieser Abschnitt enthält die folgenden Beispiele:

  • HTTP-Trigger: Datensätze in eine Tabelle schreiben
  • HTTP-Trigger: Schreiben in zwei Tabellen

Die Beispiele beziehen sich auf die TabellenProdukteeProduktänderungsprotokoll(zuvor definiert):

HTTP-Trigger: Datensätze in eine Tabelle schreiben

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung in der Datei „function.json“ und eine Python-Funktion, die Datensätze zu einer Tabelle hinzufügt. Es verwendet die in einer HTTP-POST-Anfrage bereitgestellten Daten als JSON-Body.

Das folgende Beispiel bindet Daten in der Datei function.json:

{ "scriptFile": "__init__.py", "bindings": [ { "authLevel": "Anonym", "type": "httpTrigger", "direction": "in", "name": "req", " Methoden“: [ „post“ ], „route“: „addproductuni“ }, { „type“: „http“, „direction“: „ud“, „name“: „$return“ }, { „name“: „product“, „type“: „kusto“, „database“: „sdktestsdb“, „direction“: „out“, „tableName“: „Products“, „connection“: „KustoConnectionString“ } ]}

Weitere Informationen zu diesen Eigenschaften finden Sie im AbschnittEinstellungen.

Hier ist ein Python-Codebeispiel:

import azure.fungerer som funcfrom Common.product import Productdef main(req: func.HttpRequest, product: func.Out[str]) -> func.HttpResponse: body = str(req.get_body(),'UTF-8') product.set(body) return func.HttpResponse(body=body, status_code=201, mimetype="application/json" )

HTTP-Trigger: Schreiben in zwei Tabellen

Das folgende Beispiel zeigt eine Azure Data Explorer-Ausgabebindung in der Datei „function.json“ und eine JavaScript-Funktion, die zwei Tabellen registriert (ProdukteeProduktänderungsprotokoll) hinzugefügt. Es verwendet die in einer HTTP-POST-Anfrage bereitgestellten Daten als JSON-Body und verschiedene Ausgabebindungen. der andere TischProduktänderungsprotokoll, entspricht der folgenden Definition:

.create-merge Tabelle ProductsChangeLog (ProductID:long, CreatedAt:datetime)

Das folgende Beispiel bindet Daten in der Datei function.json:

{ "scriptFile": "__init__.py", "bindings": [ { "authLevel": "Anonym", "type": "httpTrigger", "direction": "in", "name": "req", " Methoden“: [ „post“ ], „route“: „addmultitable“ }, { „type“: „http“, „direction“: „out“, „name“: „$return“ }, { „name“: „product“, „type“: „kusto“, „database“: „sdktestsdb“, „direction“: „out“, „tableName“: „Products“, „connection“: „KustoConnectionString“ }, { „name“: „productchangelog“, „type“: „kusto“, „database“: „sdktestsdb“, „direction“: „out“, „tableName“: „ProductsChangeLog“, „connection“: „KustoConnectionString“ } ]}

Weitere Informationen zu diesen Eigenschaften finden Sie im AbschnittEinstellungen.

Hier ist ein Python-Codebeispiel:

import jsonfra datotidspunkt import datotidsimport azure.fungerer som funcfrom Common.product import Productdef main(req: func.HttpRequest, product: func.Out[str],productchangelog: func.Out[str]) -> func.HttpResponse: body = str (req.get_body(),'UTF-8') # parse x: product.set(body) id = json.loads(body)["ProductID"] changelog = { "ProductID": id, "CreatedAt": datetime .now().isoformat(), } productchangelog.set(json.dumps(changelog)) return func.HttpResponse(body=body, status_code=201, mimetype="application/json" )

Attribut

SterbenC#-BibliothekVerwenden Sie das AttributKustoAttributeNameum die Azure Data Explorer-Bindungen für die Rolle zu deklarieren, die die folgenden Eigenschaften haben:

Attribut-EigenschaftBESCHREIBUNG
DatenbankObligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll.
VerbindungNotwendig. ÖNameaus der Variablen, die die Verbindungszeichenfolge enthält, aufgelöst durch Umgebungsvariablen oder über Funktions-App-Einstellungen. Standardwerte für die VariableKustoConnectionStringgesucht. Zur Laufzeit wird diese Variable nach der Umgebung abgefragt. Eine Dokumentation zur Verbindungszeichenfolge finden Sie unterKusto-Verbindungsseile, Zum Beispiel.:„KustoConnectionString“: „Datakilde=https://_**cluster**_.kusto.windows.net;Database=_**Database**_;Fed=True;AppClientId=_**AppId**_; AppKey =_**AppKey**_;Autorisierungs-ID=_**TenantId**_.
TabelnavnObligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen.
MappingRefOptional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz.
ManagedServiceIdentityOptional. Eine verwaltete Identität kann zum Herstellen einer Verbindung mit Azure Data Explorer verwendet werden. Wenn Sie eine vom System verwaltete Identität verwenden möchten, verwenden Sie „system“. Alle anderen Identitätsnamen werden als benutzerverwaltete Identität interpretiert.
Datei FormatOptional. Das Standarddatenformat istmultijson/jsonGebraucht. das kann drin seinTextFormate sind in angegebenErzählendes Datenquellenformats wird unterstützt. Beispiele werden überprüft und in den Formaten CSV und JSON bereitgestellt.

Kommentare

benutzt inLaufzeitbibliothek für Java-Funktionensterben@KustoInput- Anmerkung (com.microsoft.azure.functions.kusto.annotation.KustoOutput):

ElementBESCHREIBUNG
NameObligatorisch. Der Name der Variablen, die den Funktionscode der Abfrageergebnisse darstellt.
DatenbankObligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll.
VerbindungNotwendig. ÖNameaus der Variablen, die die Verbindungszeichenfolge enthält, aufgelöst durch Umgebungsvariablen oder über Funktions-App-Einstellungen. Standardwerte für die VariableKustoConnectionStringgesucht. Zur Laufzeit wird diese Variable nach der Umgebung abgefragt. Eine Dokumentation zur Verbindungszeichenfolge finden Sie unterKusto-Verbindungsseile, Zum Beispiel.:„KustoConnectionString“: „Datakilde=https://_**cluster**_.kusto.windows.net;Database=_**Database**_;Fed=True;AppClientId=_**AppId**_; AppKey =_**AppKey**_;Autorisierungs-ID=_**TenantId**_.
tabelnavnObligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen.
MappingRefOptional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz.
Datei FormatOptional. Das Standarddatenformat istmultijson/jsonGebraucht. das kann drin seinTextFormate sind in angegebenErzählendes Datenquellenformats wird unterstützt. Beispiele werden überprüft und in den Formaten CSV und JSON bereitgestellt.
ManagedServiceIdentityEine verwaltete Identität kann zum Herstellen einer Verbindung mit Azure Data Explorer verwendet werden. Wenn Sie eine vom System verwaltete Identität verwenden möchten, verwenden Sie „system“. Alle anderen Identitätsnamen werden als benutzerverwaltete Identität interpretiert.

Einstellungen

In der folgenden Tabelle werden die Bindungskonfigurationseigenschaften beschrieben, die Sie in der Datei function.json angeben.

eine proprietäre function.jsonBESCHREIBUNG
TypObligatorisch. muss öffnenkostenkorrigiert werden.
RichtungObligatorisch. muss öffnenudkorrigiert werden.
NameObligatorisch. Der Name der Variablen, die den Funktionscode der Abfrageergebnisse darstellt.
DatenbankObligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll.
VerbindungNotwendig. ÖNameaus der Variablen, die die Verbindungszeichenfolge enthält, aufgelöst durch Umgebungsvariablen oder über Funktions-App-Einstellungen. Standardwerte für die VariableKustoConnectionStringgesucht. Zur Laufzeit wird diese Variable nach der Umgebung abgefragt. Eine Dokumentation zur Verbindungszeichenfolge finden Sie unterKusto-Verbindungsseile, Zum Beispiel.:„KustoConnectionString“: „Datakilde=https://_**cluster**_.kusto.windows.net;Database=_**Database**_;Fed=True;AppClientId=_**AppId**_; AppKey =_**AppKey**_;Autorisierungs-ID=_**TenantId**_.
tabelnavnObligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen.
MappingRefOptional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz.
Datei FormatOptional. Das Standarddatenformat istmultijson/jsonGebraucht. das kann drin seinTextFormate sind in angegebenErzählendes Datenquellenformats wird unterstützt. Beispiele werden überprüft und in den Formaten CSV und JSON bereitgestellt.
ManagedServiceIdentityEine verwaltete Identität kann zum Herstellen einer Verbindung mit Azure Data Explorer verwendet werden. Wenn Sie eine vom System verwaltete Identität verwenden möchten, verwenden Sie „system“. Alle anderen Identitätsnamen werden als benutzerverwaltete Identität interpretiert.

Wenn Sie lokal entwickeln, fügen Sie der Datei Anwendungseinstellungen hinzulocal.settings.jsonEU-Sammlung hinzugefügt.

benutzen

Der Attributkonstruktor akzeptiert die Datenbank und die Attribute TableName, MappingRef, DataFormat und Verbindungsoptionsname. WasKQLBefehlEs kann eine KQL-Anweisung oder eine KQL-Funktion sein. Der Name der Verbindungszeichenfolgenoption entspricht der Anwendungsoption (d. hlocal.settings.jsonfür die lokale Entwicklung), dieKusto-Verbindungsseileenthält. Beispiel:„KustoConnectionString“: „Datakilde=https://_**cluster**_.kusto.windows.net;Database=_**Database**_;Fed=True;AppClientId=_**AppId**_; AppKey =_**AppKey**_;Autorisierungs-ID=_**TenantId**_. Von der Eingabebindung ausgeführte Abfragen werden parametrisiert und die in KQLTarometers angegebenen Werte werden zur Laufzeit verwendet.

Nächster Schritt

  • Daten aus einer Tabelle lesen (eingehende Bindung)

References

Top Articles
Latest Posts
Article information

Author: Errol Quitzon

Last Updated: 05/03/2023

Views: 5683

Rating: 4.9 / 5 (59 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.