روابط إخراج Azure Data Explorer لوظائف Azure (معاينة)

عند تشغيل دالة، يستبدل ربط إخراج Azure Data Explorer البيانات إلى Azure Data Explorer.

للحصول على معلومات حول تفاصيل الإعداد والتكوين، راجع الاستعراض العام.

الأمثلة

يمكن إنشاء دالة C# باستخدام أحد أوضاع C# التالية:

  • نموذج العامل المعزول: دالة C# المترجمة التي يتم تشغيلها في عملية عامل معزولة عن وقت التشغيل. عملية العامل المعزولة مطلوبة لدعم وظائف C# التي تعمل على إصدارات LTS وغير LTS .NET و.NET Framework.
  • نموذج قيد المعالجة: دالة C# المحولة برمجيا التي تعمل في نفس العملية مثل وقت تشغيل الوظائف.
  • البرنامج النصي C#: يستخدم بشكل أساسي عند إنشاء وظائف C# في مدخل Microsoft Azure.

هام

سينتهي الدعم للنموذج قيد التنفيذ في 10 نوفمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى نموذج العامل المعزول للحصول على الدعم الكامل.

تتوفر المزيد من العينات لربط إخراج Azure Data Explorer في مستودع GitHub.

يحتوي هذا القسم على الأمثلة التالية:

تشير الأمثلة إلى Product فئة وجدول قاعدة بيانات مطابق:

public class Product
{
    [JsonProperty(nameof(ProductID))]
    public long ProductID { get; set; }

    [JsonProperty(nameof(Name))]
    public string Name { get; set; }

    [JsonProperty(nameof(Cost))]
    public double Cost { get; set; }
}
.create-merge table Products (ProductID:long, Name:string, Cost:double)

مشغل HTTP، اكتب سجلاً واحداً

يوضح المثال التالي دالة C# التي تضيف سجلا إلى قاعدة بيانات. تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON.

using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.Kusto;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Azure.WebJobs.Extensions.Kusto.SamplesOutOfProc.OutputBindingSamples.Common;

namespace Microsoft.Azure.WebJobs.Extensions.Kusto.SamplesOutOfProc.OutputBindingSamples
{
    public static class AddProduct
    {
        [Function("AddProduct")]
        [KustoOutput(Database: "productsdb", Connection = "KustoConnectionString", TableName = "Products")]
        public static async Task<Product> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "addproductuni")]
            HttpRequestData req)
        {
            Product? prod = await req.ReadFromJsonAsync<Product>();
            return prod ?? new Product { };
        }
    }
}

مشغل HTTP، كتابة السجلات مع التعيين

يظهر المثال التالي دالة C# التي تضيف مجموعة من السجلات إلى قاعدة بيانات. تستخدم الدالة التعيين الذي يحول Product إلى Item.

لتحويل البيانات من Product إلى Item، تستخدم الدالة مرجع تعيين:

.create-merge table Item (ItemID:long, ItemName:string, ItemCost:float)


-- Create a mapping that transforms an Item to a Product

.create-or-alter table Product ingestion json mapping "item_to_product_json" '[{"column":"ProductID","path":"$.ItemID"},{"column":"Name","path":"$.ItemName"},{"column":"Cost","path":"$.ItemCost"}]'
namespace Microsoft.Azure.WebJobs.Extensions.Kusto.SamplesOutOfProc.OutputBindingSamples.Common
{
    public class Item
    {
        public long ItemID { get; set; }

        public string? ItemName { get; set; }

        public double ItemCost { get; set; }
    }
}
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.Kusto;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Azure.WebJobs.Extensions.Kusto.SamplesOutOfProc.OutputBindingSamples.Common;

namespace Microsoft.Azure.WebJobs.Extensions.Kusto.SamplesOutOfProc.OutputBindingSamples
{
    public static class AddProductsWithMapping
    {
        [Function("AddProductsWithMapping")]
        [KustoOutput(Database: "productsdb", Connection = "KustoConnectionString", TableName = "Products", MappingRef = "item_to_product_json")]
        public static async Task<Item> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "addproductswithmapping")]
            HttpRequestData req)
        {
            Item? item = await req.ReadFromJsonAsync<Item>();
            return item ?? new Item { };
        }
    }
}

تتوفر المزيد من العينات لربط إدخال Java Azure Data Explorer في مستودع GitHub.

يحتوي هذا القسم على الأمثلة التالية:

تشير الأمثلة Products إلى فئة (في ملف Product.javaمنفصل) وجدول Products قاعدة بيانات مطابق (معرف سابقا):

package com.microsoft.azure.kusto.common;

import com.fasterxml.jackson.annotation.JsonProperty;

public class Product {
    @JsonProperty("ProductID")
    public long ProductID;
    @JsonProperty("Name")
    public String Name;
    @JsonProperty("Cost")
    public double Cost;

    public Product() {
    }

    public Product(long ProductID, String name, double Cost) {
        this.ProductID = ProductID;
        this.Name = name;
        this.Cost = Cost;
    }
}

مشغل HTTP، اكتب سجلا إلى جدول

يوضح المثال التالي ربط إخراج Azure Data Explorer في دالة Java التي تضيف سجل منتج إلى جدول. تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON. تأخذ الدالة تبعية أخرى على مكتبة com.fasterxml.jackson.core لتحليل نص JSON.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.4.1</version>
</dependency>
package 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.azure.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.functions.annotation.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", methods = {
            HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS, route = "addproductuni") HttpRequestMessage<Optional<String>> request,
            @KustoOutput(name = "product", database = "productsdb", tableName = "Products", connection = KUSTOCONNSTR) OutputBinding<Product> product)
            throws IOException {

        if (request.getBody().isPresent()) {
            String json = request.getBody().get();
            ObjectMapper mapper = new ObjectMapper();
            Product p = mapper.readValue(json, Product.class);
            product.setValue(p);
            return 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، اكتب على جدولين

يوضح المثال التالي ربط إخراج Azure Data Explorer في دالة Java التي تضيف سجلات إلى قاعدة بيانات في جدولين مختلفين (Product و ProductChangeLog). تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON وروابط إخراج متعددة. تأخذ الدالة تبعية أخرى على مكتبة com.fasterxml.jackson.core لتحليل نص JSON.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.4.1</version>
</dependency>

الجدول الثاني، ProductsChangeLog، يتوافق مع التعريف التالي:

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

وفئة Java في ProductsChangeLog.java:

package 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(long ProductID, String CreatedAt) {
        this.ProductID = ProductID;
        this.CreatedAt = CreatedAt;
    }
}
package 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.azure.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.functions.annotation.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 static 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 = "addmultitable") HttpRequestMessage<Optional<String>> request,
            @KustoOutput(name = "product", database = "productsdb", tableName = "Products", connection = KUSTOCONNSTR) OutputBinding<Product> product,
            @KustoOutput(name = "productChangeLog", database = "productsdb", tableName = "ProductsChangeLog",
                    connection = KUSTOCONNSTR) OutputBinding<ProductsChangeLog> productChangeLog)
            throws IOException {

        if (request.getBody().isPresent()) {
            String json = request.getBody().get();
            ObjectMapper mapper = new ObjectMapper();
            Product p = mapper.readValue(json, Product.class);
            product.setValue(p);
            productChangeLog.setValue(new ProductsChangeLog(p.ProductID, Instant.now(Clock.systemUTC()).toString()));
            return 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();
        }
    }
}

تتوفر المزيد من العينات لربط إخراج Azure Data Explorer في مستودع GitHub.

يحتوي هذا القسم على الأمثلة التالية:

تشير الأمثلة إلى جدول قاعدة بيانات.

تشير الأمثلة إلى الجداول Products و ProductsChangeLog (المعرفة سابقا).

مشغل HTTP، اكتب السجلات إلى جدول

يظهر المثال التالي ربط إخراج Azure Data Explorer في ملف function.json ودالة JavaScript التي تضيف سجلات إلى جدول. تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON.

المثال التالي هو ربط البيانات في ملف 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": "Products",
      "connection": "KustoConnectionString"
    }
  ],
  "disabled": false
}

قسم التكوين يشرح هذه الخصائص.

القصاصة البرمجية التالية هي نموذج التعليمات البرمجية JavaScript:

// Insert the product, which will insert it into the Products table.
module.exports = async function (context, req) {
    // Note that this expects the body to be a JSON object or array of objects which have a property
    // matching each of the columns in the table to insert to.
    context.bindings.product = req.body;
    return {
        status: 201,
        body: req.body
    };
}

مشغل HTTP، اكتب على جدولين

يوضح المثال التالي ربط إخراج Azure Data Explorer في ملف function.json ودالة JavaScript التي تضيف سجلات إلى قاعدة بيانات في جدولين مختلفين (Products و ProductsChangeLog). تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON وروابط إخراج متعددة.

الجدول الثاني، ProductsChangeLog، يتوافق مع التعريف التالي:

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

القصاصة البرمجية التالية هي بيانات الربط في ملف 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
}

قسم التكوين يشرح هذه الخصائص.

القصاصة البرمجية التالية هي نموذج التعليمات البرمجية JavaScript:

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger and Kusto output binding function processed a request.');
    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: "Error reading request body"
        }
    }
}

تتوفر المزيد من العينات لربط إخراج Azure Data Explorer في مستودع GitHub.

يحتوي هذا القسم على الأمثلة التالية:

تشير الأمثلة إلى الجداول Products و ProductsChangeLog (المعرفة سابقا).

مشغل HTTP، اكتب السجلات إلى جدول

يوضح المثال التالي ربط إخراج Azure Data Explorer في ملف function.json ودالة Python التي تضيف سجلات إلى جدول. تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON.

القصاصة البرمجية التالية هي بيانات الربط في ملف function.json :

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

قسم التكوين يشرح هذه الخصائص.

القصاصة البرمجية التالية هي نموذج التعليمات البرمجية ل Python:

import azure.functions as func
from Common.product import Product


def 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، اكتب على جدولين

يوضح المثال التالي ربط إخراج Azure Data Explorer في ملف function.json ودالة JavaScript التي تضيف سجلات إلى قاعدة بيانات في جدولين مختلفين (Products و ProductsChangeLog). تستخدم الدالة البيانات المتوفرة في طلب HTTP POST كنص JSON وروابط إخراج متعددة. الجدول الثاني، ProductsChangeLog، يتوافق مع التعريف التالي:

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

القصاصة البرمجية التالية هي بيانات الربط في ملف function.json :

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "authLevel": "Anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "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"
    }
  ]
}

قسم التكوين يشرح هذه الخصائص.

القصاصة البرمجية التالية هي نموذج التعليمات البرمجية ل Python:

import json
from datetime import datetime

import azure.functions as func
from Common.product import Product


def 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"
    )

السمات

تستخدم مكتبة C# السمة KustoAttribute للإعلان عن روابط Azure Data Explorer على الوظيفة، والتي تحتوي على الخصائص التالية.

خاصية السمة ‏‏الوصف
قاعدة البيانات مطلوب. قاعدة البيانات التي يجب تنفيذ الاستعلام عليها.
الاتصال مطلوب. اسم المتغير الذي يحتوي على سلسلة الاتصال، والذي يتم حله من خلال متغيرات البيئة أو من خلال إعدادات تطبيق الوظائف. الإعدادات الافتراضية للبحث عن المتغير KustoConnectionString. في وقت التشغيل، يتم البحث عن هذا المتغير مقابل البيئة. الوثائق حول سلسلة الاتصال في Kusto سلسلة الاتصال. على سبيل المثال: "KustoConnectionString": "Data Source=https://your_cluster.kusto.windows.net;Database=your_Database;Fed=True;AppClientId=your_AppId;AppKey=your_AppKey;Authority Id=your_TenantId.
TableName مطلوب. الجدول لاستيعاب البيانات فيه.
MappingRef اختياري. سمة لتمرير مرجع تعيين تم تعريفه بالفعل في نظام المجموعة.
معرف الخدمة المدارة اختياري. يمكن استخدام هوية مدارة للاتصال ب Azure Data Explorer. لاستخدام هوية مدارة من قبل النظام، استخدم "النظام". يتم تفسير أي أسماء هوية أخرى على أنها هوية مدارة من قبل المستخدم.
تنسيق البيانات اختياري. تنسيق البيانات الافتراضي هو multijson/json. يمكن تعيينه إلى تنسيقات نصية معتمدة datasource في تعداد التنسيق. يتم التحقق من صحة العينات وتوفيرها لتنسيقات CSV وJSON.

تعليقات توضيحية

تستخدم مكتبة وقت تشغيل وظائف Java التعليق التوضيحي @KustoInput (com.microsoft.azure.functions.kusto.annotation.KustoOutput).

العنصر ‏‏الوصف‬
الاسم مطلوب. اسم المتغير الذي يُمثل قائمة الانتظار في التعليمة البرمجية للدالة.
قاعدة بيانات مطلوب. قاعدة البيانات التي يجب تنفيذ الاستعلام عليها.
الاتصال مطلوب. اسم المتغير الذي يحتوي على سلسلة الاتصال، والذي يتم حله من خلال متغيرات البيئة أو من خلال إعدادات تطبيق الوظائف. الإعدادات الافتراضية للبحث عن المتغير KustoConnectionString. في وقت التشغيل، يتم البحث عن هذا المتغير مقابل البيئة. الوثائق حول سلسلة الاتصال في Kusto سلسلة الاتصال. على سبيل المثال: "KustoConnectionString": "Data Source=https://your_cluster.kusto.windows.net;Database=your_Database;Fed=True;AppClientId=your_AppId;AppKey=your_AppKey;Authority Id=your_TenantId.
اسم الجدول مطلوب. الجدول لاستيعاب البيانات فيه.
mappingRef اختياري. سمة لتمرير مرجع تعيين تم تعريفه بالفعل في نظام المجموعة.
dataFormat اختياري. تنسيق البيانات الافتراضي هو multijson/json. يمكن تعيينه إلى تنسيقات نصية معتمدة datasource في تعداد التنسيق. يتم التحقق من صحة العينات وتوفيرها لتنسيقات CSV وJSON.
معرف الخدمة المدارة يمكن استخدام هوية مدارة للاتصال ب Azure Data Explorer. لاستخدام هوية مدارة من قبل النظام، استخدم "النظام". يتم تفسير أي أسماء هوية أخرى على أنها هوية مدارة من قبل المستخدم.

التكوين

يشرح الجدول الآتي خصائص تكوين ربط البيانات التي عليك تعيينها في ملف function.json.

خاصية function.json ‏‏الوصف
النوع مطلوب. يجب تعيينه إلى kusto.
اتجاه مطلوب. يجب تعيينه إلى out.
الاسم مطلوب. اسم المتغير الذي يُمثل قائمة الانتظار في التعليمة البرمجية للدالة.
قاعدة بيانات مطلوب. قاعدة البيانات التي يجب تنفيذ الاستعلام عليها.
الاتصال مطلوب. اسم المتغير الذي يحتوي على سلسلة الاتصال، الذي تم حله من خلال متغيرات البيئة أو من خلال إعدادات تطبيق الوظائف. الإعدادات الافتراضية للبحث عن المتغير KustoConnectionString. في وقت التشغيل، يتم البحث عن هذا المتغير مقابل البيئة. الوثائق حول سلسلة الاتصال في Kusto سلسلة الاتصال. على سبيل المثال: "KustoConnectionString": "Data Source=https://your_cluster.kusto.windows.net;Database=your_Database;Fed=True;AppClientId=your_AppId;AppKey=your_AppKey;Authority Id=your_TenantId.
اسم الجدول مطلوب. الجدول لاستيعاب البيانات فيه.
mappingRef اختياري. سمة لتمرير مرجع تعيين تم تعريفه بالفعل في نظام المجموعة.
dataFormat اختياري. تنسيق البيانات الافتراضي هو multijson/json. يمكن تعيينه إلى تنسيقات نصية معتمدة datasource في تعداد التنسيق. يتم التحقق من صحة العينات وتوفيرها لتنسيقات CSV وJSON.
معرف الخدمة المدارة يمكن استخدام هوية مدارة للاتصال ب Azure Data Explorer. لاستخدام هوية مدارة من قبل النظام، استخدم "النظام". يتم تفسير أي أسماء هوية أخرى على أنها هوية مدارة من قبل المستخدم.

عندما تقوم بالتطوير محليًا، أضف إعدادات التطبيق في ملف local.settings.json في المجموعة Values.

الاستخدام

يأخذ الدالة الإنشائية للسمة قاعدة البيانات والسمات TableNameMappingRefو و DataFormat واسم إعداد الاتصال. يمكن أن يكون أمر KQL عبارة KQL أو دالة KQL. يتوافق اسم إعداد سلسلة الاتصال مع إعداد التطبيق (في local.settings.json للتطوير المحلي) الذي يحتوي على سلسلة الاتصال Kusto. على سبيل المثال:"KustoConnectionString": "Data Source=https://your_cluster.kusto.windows.net;Database=your_Database;Fed=True;AppClientId=your_AppId;AppKey=your_AppKey;Authority Id=your_TenantId. يتم تحديد معلمات الاستعلامات التي يتم تنفيذها بواسطة ربط الإدخال. يتم استخدام القيم المتوفرة في معلمات KQL في وقت التشغيل.

الخطوات التالية

قراءة البيانات من جدول (ربط الإدخال)