- 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 aProdukte
Klasse 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 (Produkte
eProduktä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 aProdukte
Klasse (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 (Produkte
eProduktä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 TabellenProdukte
eProduktä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 (Produkte
eProduktä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 TabellenProdukte
eProduktä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 (Produkte
eProduktä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-Eigenschaft | BESCHREIBUNG |
---|---|
Datenbank | Obligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll. |
Verbindung | Notwendig. Ö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**_ . |
Tabelnavn | Obligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen. |
MappingRef | Optional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz. |
ManagedServiceIdentity | Optional. 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 Format | Optional. Das Standarddatenformat istmultijson/json Gebraucht. 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
):
Element | BESCHREIBUNG |
---|---|
Name | Obligatorisch. Der Name der Variablen, die den Funktionscode der Abfrageergebnisse darstellt. |
Datenbank | Obligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll. |
Verbindung | Notwendig. Ö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**_ . |
tabelnavn | Obligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen. |
MappingRef | Optional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz. |
Datei Format | Optional. Das Standarddatenformat istmultijson/json Gebraucht. das kann drin seinTextFormate sind in angegebenErzählendes Datenquellenformats wird unterstützt. Beispiele werden überprüft und in den Formaten CSV und JSON bereitgestellt. |
ManagedServiceIdentity | 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. |
Einstellungen
In der folgenden Tabelle werden die Bindungskonfigurationseigenschaften beschrieben, die Sie in der Datei function.json angeben.
eine proprietäre function.json | BESCHREIBUNG |
---|---|
Typ | Obligatorisch. muss öffnenkosten korrigiert werden. |
Richtung | Obligatorisch. muss öffnenud korrigiert werden. |
Name | Obligatorisch. Der Name der Variablen, die den Funktionscode der Abfrageergebnisse darstellt. |
Datenbank | Obligatorisch. Die Datenbank, für die die Abfrage ausgeführt werden soll. |
Verbindung | Notwendig. Ö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**_ . |
tabelnavn | Obligatorisch. Die Tabelle, aus der Daten gesammelt werden sollen. |
MappingRef | Optional. Attribut zur Übergabe eines bereits im Cluster definierten AttributsMapping-Referenz. |
Datei Format | Optional. Das Standarddatenformat istmultijson/json Gebraucht. das kann drin seinTextFormate sind in angegebenErzählendes Datenquellenformats wird unterstützt. Beispiele werden überprüft und in den Formaten CSV und JSON bereitgestellt. |
ManagedServiceIdentity | 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. |
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.json
fü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)