Mata in blobar i Azure Data Explorer genom att prenumerera på Event Grid meddelanden

Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. Azure Data Explorer inmatning (data inläsning) från Event Hubs, IoT Hubs och blobar som skrivits till blobcontainrar.

I den här artikeln får du lära dig hur du matar in blobar från ditt lagringskonto till Azure Data Explorer med en Event Grid-dataanslutning. Du skapar en dataanslutning Event Grid som anger en Azure Event Grid prenumeration. Prenumerationen Event Grid dirigerar händelser från ditt lagringskonto till Azure Data Explorer via en Azure-händelsehubb. Sedan visas ett exempel på dataflödet i hela systemet.

Allmän information om hur du matar in i Azure Data Explorer från Event Grid finns i Anslut till Event Grid. Om du vill skapa resurser manuellt i Azure Portal du manuellt skapa resurser för Event Grid inmatning.

Förutsättningar

Skapa en måltabell i Azure Data Explorer

Skapa en tabell i Azure Data Explorer där Event Hubs skickar data. Skapa tabellen i klustret och databasen som förberetts i förutsättningarna.

  1. Välj Fråga under klustret på Azure-portalen.

    Länk till Frågeutforskaren.

  2. Kopiera följande kommando till fönstret och välj Kör för att skapa tabellen (TestTable) som ska ta emot indata.

    .create table TestTable (TimeStamp: datetime, Value: string, Source:string)
    

    Kör kommandot create table.

  3. Kopiera följande kommando till fönstret och välj Kör för att mappa inkommande JSON-data till kolumnnamnen och datatyperna i tabellen (TestTable).

    .create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp","path":"$.TimeStamp"},{"column":"Value","path":"$.Value"},{"column":"Source","path":"$.Source"}]'
    

Skapa en Event Grid-dataanslutning

Anslut nu lagringskontot till Azure Data Explorer så att data som flödar till lagringen strömmas till testtabellen. Den här anslutningen kan skapas i Azure Portal under själva lagringskontot eller i Azure Portal under Azure Data Explorer.

  1. Bläddra till lagringskontot i Azure Portal. På den vänstra menyn väljer du Händelser

  2. I huvudfönstret väljer du Azure Data Explorer fliken.

    Skärmbild av Azure Portal lagringskontots åtkomst till Event Grid anslutning.

  3. Fönstret Dataanslutning öppnas med fliken Grundläggande inställningar markerad.

Dataanslutning – fliken Grunder

  1. Fyll i formuläret med följande information:

    Skärmbild av fliken Grundläggande inställningar för Event Grid inmatning i lagringskontot för Azure Portal.

    Inställning Föreslaget värde Fältbeskrivning
    Namn på dataanslutning test-grid-connection Namnet på den anslutning som du vill skapa i Azure Data Explorer.
    Lagringskonto gridteststorage1 Lagringskontot som du kom åt den här guiden från. Fyllas i automatiskt.
    Händelsetyp Blob som skapats ellerBlob har bytt namn Den typ av händelse som utlöser inmatning. Omdöpt blob stöds endast för ADLSv2-lagring. Typer som stöds är: Microsoft. Storage. BlobCreated eller Microsoft. Storage. BlobRenamed.
    Skapa resurser Automatiskt Definiera om du vill Azure Data Explorer skapa en Event Grid-prenumeration, en event hub-namnrymd och en händelsehubb åt dig. Information om hur du skapar resurser manuellt finns i Skapa resurser manuellt för Event Grid datainmatning
  2. Välj Nästa inmatningsegenskaper.

Dataanslutning – fliken Inmatningsegenskaper

  1. Fyll i formuläret med följande information. Tabell- och mappningsnamn är fallkänsliga:

    Skärmbild av fliken Inmatningsegenskaper för Event Grid inmatning i lagringskontot för Azure Portal.

    Inställning Föreslaget värde Fältbeskrivning
    Prenumeration Din Azure Data Explorer prenumeration.
    Klusternamn TestCluster Namnet på det kluster där du vill mata in data.
    Databasnamn TestDatabase Måldatabasen som du skapade i TestCluster.
    Tabellnamn TestTable Måltabellen som du skapade i TestDatabase.
    Dataformat JSON Format som stöds är Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO, RAW och W3CLOG. Komprimeringsalternativ som stöds är Zip och Gzip.
    Mappning TestMapping Den mappning som du skapade i TestDatabase, som mappar inkommande JSON-data till kolumnnamnen och datatyperna i TestTable.
    Avancerade inställningar Mina data har rubriker Ignorerar rubriker. Stöds för *SV-typfiler.

    Anteckning

    Du behöver inte ange alla standardinställningar för routning. Partiella inställningar accepteras också.

  2. Välj Nästa: Granska + skapa

Dataanslutning – fliken Granska och skapa

  1. Granska de resurser som skapades automatiskt åt dig och välj Skapa.

    Skärmbild av fliken Granska och skapa för Event Grid datainmatning i lagringskontot för Azure Portal.

Distribution

Vänta tills distributionen är klar. Om distributionen misslyckades väljer du Åtgärdsinformation bredvid det misslyckade steget för att få mer information av felorsaken. Välj Distribuera om för att försöka distribuera resurserna igen. Du kan ändra parametrarna före distributionen.

Distribuera Event Grid-resurser.

Generera exempeldata

Nu när Azure Data Explorer och lagringskontot är anslutna kan du skapa exempeldata.

Upload blob till lagringscontainern

Vi kommer att arbeta med ett litet kommandoskript som utfärdar några grundläggande Azure CLI-kommandon för att interagera med Azure Storage-resurser. Det här skriptet gör följande:

  1. Skapar en ny container i ditt lagringskonto.
  2. Laddar upp en befintlig fil (som en blob) till den containern.
  3. Visar en lista över blobarna i containern.

Du kan använda Azure Cloud Shell för att köra skriptet direkt i portalen.

Spara data i en fil och ladda upp dem med det här skriptet:

{"TimeStamp": "1987-11-16 12:00","Value": "Hello World","Source": "TestSource"}
#!/bin/bash
### A simple Azure Storage example script

    export AZURE_STORAGE_ACCOUNT=<storage_account_name>
    export AZURE_STORAGE_KEY=<storage_account_key>

    export container_name=<container_name>
    export blob_name=<blob_name>
    export file_to_upload=<file_to_upload>
    export destination_file=<destination_file>

    echo "Creating the container..."
    az storage container create --name $container_name

    echo "Uploading the file..."
    az storage blob upload --container-name $container_name --file $file_to_upload --name $blob_name --metadata "rawSizeBytes=1024"

    echo "Listing the blobs..."
    az storage blob list --container-name $container_name --output table

    echo "Done"

Anteckning

För att uppnå bästa inmatningsprestanda måste den okomprimerade storleken på de komprimerade blobarna som skickas för inmatning kommuniceras. Eftersom Event Grid-meddelanden endast innehåller grundläggande information måste storleksinformationen kommuniceras explicit. Information om okomprimerad storlek kan anges genom att ange egenskapen för blobmetadata med rawSizeBytesrawSizeBytes datastorlek i byte.

Byt namn på blob

Om du matar in data från ADLSv2-lagring och har definierat Blob med nytt namn som händelsetyp för dataanslutningen är utlösaren för blobinmatning blobbyte. Om du vill byta namn på en blob navigerar du till bloben i Azure Portal, högerklickar på bloben och väljer Byt namn på:

Byt namn på blob i Azure Portal.

Inmatningsegenskaper

Du kan ange inmatningsegenskaperna för blobinmatningen via blobmetadata.

Anteckning

Azure Data Explorer tar inte bort blobarna efter inmatningen. Behåll blobarna i tre till fem dagar. Använd Azure Blob Storage-livscykeln för att hantera borttagning av blobar.

Granska dataflödet

Anteckning

Azure Data Explorer en sammansättningsprincip (batchbearbetning) för datainmatning som är utformad för att optimera inmatningsprocessen. Som standard konfigureras principen till 5 minuter. Du kommer att kunna ändra principen vid ett senare tillfälle om det behövs. I den här artikeln kan du förvänta dig en svarstid på några minuter.

  1. Under ditt händelserutnät på Azure-portalen ser du en aktivitetstopp när appen körs.

    Aktivitetsdiagram för event grid.

  2. För att kontrollera hur många meddelanden som nått databasen hittills kör du följande fråga i testdatabasen.

    TestTable
    | count
    
  3. Kör följande fråga i testdatabasen för att se innehållet i meddelandena.

    TestTable
    

    Resultatuppsättningen bör se ut som på följande bild:

    Meddelanderesultatuppsättning för Event Grid.

Rensa resurser

Om du inte planerar att använda händelserutnätet igen rensar du den Event Grid-prenumeration, händelsehubbnamnrymd och händelsehubb som har återskapats automatiskt åt dig för att undvika kostnader.

  1. I Azure Portal du till den vänstra menyn och väljer Alla resurser.

    Välj alla resurser för rensning av event grid.

  2. Sök efter händelsehubbens namnområde och välj Ta bort för att ta bort den:

    Rensa Event Hub-namnområdet.

  3. I formuläret Ta bort resurser bekräftar du borttagningen för att ta bort event hub-namnrymden och händelsehubbens resurser.

  4. Gå till ditt lagringskonto. I den vänstra menyn väljer du Händelser:

    Välj händelser att rensa för Event Grid.

  5. Under diagrammet väljer du din prenumeration Event Grid och sedan Ta bort för att ta bort den:

    Ta bort Event Grid-prenumeration.

  6. Om du vill Event Grid dataanslutningen går du till Azure Data Explorer klustret. Välj Databaser på den vänstra menyn.

  7. Välj databasen TestDatabase:

    Välj databas för att rensa resurser.

  8. På den vänstra menyn väljer du Datainmatning:

    Välj datainmatning för att rensa resurser.

  9. Välj din dataanslutning test-grid-connection och välj sedan Ta bort för att ta bort den.

Nästa steg