Vytvoření oboru názvů v centru událostí a povolení funkce Capture pomocí šablony

Tento článek ukazuje, jak použít šablonu Azure Resource Manageru, která vytvoří obor názvů Event Hubs s jednou instancí centra událostí, ve kterém také povolí funkci Capture. Tento článek popisuje, jak definovat, které prostředky se nasadí, a jak definovat parametry zadávané při spuštění nasazení. Tuto šablonu můžete použít pro vlastní nasazení nebo ji upravit, aby splňovala vaše požadavky.

Tento článek také ukazuje, jak určit, že se události mají zachytávat do objektů Azure Storage Blob nebo do služby Azure Data Lake Store v závislosti na zvoleném cíli.

Další informace o vytváření šablon najdete v tématu Tvorba šablon Azure Resource Manageru. Syntaxe a vlastnosti JSON, které se mají použít v šabloně, najdete v tématu Typy prostředků Microsoft.EventHub.

Další informace o vzorech a postupech pro zásady vytváření názvů prostředků Azure najdete v tématu Zásady vytváření názvů prostředků Azure.

Pro úplné šablony vyberte následující odkazy Na GitHubu:

Poznámka:

Nejnovější šablony můžete zkontrolovat tak, že přejdete do galerie Šablony Azure pro rychlý start a vyhledáte Event Hubs.

Důležité

Azure Data Lake Storage Gen1 je vyřazený, takže ho nepoužívejte k zachytávání dat událostí. Další informace najdete v oficiálním oznámení. Pokud používáte Azure Data Lake Storage Gen1, migrujte na Azure Data Lake Storage Gen2. Další informace najdete v pokynech a vzorech migrace služby Azure Data Lake Storage.

Co budete nasazovat?

Pomocí této šablony nasadíte obor názvů Event Hubs s centrem událostí a povolíte funkci Event Hubs Capture. Funkce Event Hubs Capture umožňuje automatické doručování streamovaných dat ve službě Event Hubs do služby Azure Blob Storage nebo Azure Data Lake Store v rámci zvoleného časového nebo velikostního intervalu. Výběrem následujícího tlačítka povolte funkci Event Hubs Capture do služby Azure Storage:

Nasazení do Azure

Výběrem následujícího tlačítka povolte funkci Event Hubs Capture do Azure Data Lake Store:

Nasazení do Azure

Parametry

Pomocí Azure Resource Manageru definujete parametry pro hodnoty, které chcete zadat při nasazení šablony. Šablona obsahuje část Parameters, která obsahuje všechny hodnoty parametrů. Měli byste definovat parametr pro tyto hodnoty, které se liší v závislosti na projektu, který nasazujete, nebo na základě prostředí, do kterého nasazujete. Nedefinujte parametry pro hodnoty, které vždy zůstávají stejné. Každá hodnota parametru se v šabloně použije k definování nasazovaných prostředků.

Šablona definuje následující parametry.

eventHubNamespaceName

Název oboru názvů Event Hubs, který se má vytvořit.

"eventHubNamespaceName":{
     "type":"string",
     "metadata":{
         "description":"Name of the EventHub namespace"
      }
}

eventHubName

Název centra událostí vytvořeného v oboru názvů Event Hubs.

"eventHubName":{
    "type":"string",
    "metadata":{
        "description":"Name of the event hub"
    }
}

messageRetentionInDays

Počet dní, po které se zprávy budou uchovávat v centru událostí.

"messageRetentionInDays":{
    "type":"int",
    "defaultValue": 1,
    "minValue":"1",
    "maxValue":"7",
    "metadata":{
       "description":"How long to retain the data in event hub"
     }
 }

partitionCount

Počet oddílů, které se mají vytvořit v centru událostí.

"partitionCount":{
    "type":"int",
    "defaultValue":2,
    "minValue":2,
    "maxValue":32,
    "metadata":{
        "description":"Number of partitions chosen"
    }
 }

captureEnabled

Povolení funkce Capture v centru událostí.

"captureEnabled":{
    "type":"string",
    "defaultValue":"true",
    "allowedValues": [
    "false",
    "true"],
    "metadata":{
        "description":"Enable or disable the Capture for your event hub"
    }
 }

captureEncodingFormat

Formát kódování, který zadáte pro serializaci dat událostí.

"captureEncodingFormat":{
    "type":"string",
    "defaultValue":"Avro",
    "allowedValues":[
    "Avro"],
    "metadata":{
        "description":"The encoding format in which Capture serializes the EventData"
    }
}

captureTime

Časový interval, ve kterém funkce Event Hubs Capture začne zachytávat data.

"captureTime":{
    "type":"int",
    "defaultValue":300,
    "minValue":60,
    "maxValue":900,
    "metadata":{
         "description":"The time window in seconds for the capture"
    }
}

captureSize

Velikostní interval, ve kterém funkce Capture začne zachytávat data.

"captureSize":{
    "type":"int",
    "defaultValue":314572800,
    "minValue":10485760,
    "maxValue":524288000,
    "metadata":{
        "description":"The size window in bytes for capture"
    }
}

captureNameFormat

Formát názvu, který má funkce Event Hubs Capture používat k zápisu souborů Avro. Formát názvu záznamu musí obsahovat {Namespace}, , {Year}{PartitionId}{Month}{EventHub}, {Day}, {Hour}{Minute}a {Second} pole. Tato pole lze uspořádat v libovolném pořadí s oddělovači nebo bez nich.

"captureNameFormat": {
      "type": "string",
      "defaultValue": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}",
      "metadata": {
        "description": "A Capture Name Format must contain {Namespace}, {EventHub}, {PartitionId}, {Year}, {Month}, {Day}, {Hour}, {Minute} and {Second} fields. These can be arranged in any order with or without delimeters. E.g.  Prod_{EventHub}/{Namespace}\\{PartitionId}_{Year}_{Month}/{Day}/{Hour}/{Minute}/{Second}"
      }
    }

apiVersion

Verze rozhraní API šablony.

 "apiVersion":{
    "type":"string",
    "defaultValue":"2017-04-01",
    "metadata":{
        "description":"ApiVersion used by the template"
    }
 }

Pokud jako cíl zvolíte službu Azure Storage, použijte následující parametry.

destinationStorageAccountResourceId

Funkce Capture pro povolení zachytávání do požadovaného účtu Storage vyžaduje ID prostředku účtu Azure Storage.

 "destinationStorageAccountResourceId":{
    "type":"string",
    "metadata":{
        "description":"Your existing Storage account resource ID where you want the blobs be captured"
    }
 }

blobContainerName

Kontejner objektů blob, do kterého se mají zachytávat data událostí.

 "blobContainerName":{
    "type":"string",
    "metadata":{
        "description":"Your existing storage container in which you want the blobs captured"
    }
}

subscriptionId

ID předplatného pro obor názvů Event Hubs a službu Azure Data Lake Store. Oba tyto prostředky musí patřit pod stejné ID předplatného.

"subscriptionId": {
    "type": "string",
    "metadata": {
        "description": "Subscription ID of both Azure Data Lake Store and Event Hubs namespace"
     }
 }

dataLakeAccountName

Název služby Azure Data Lake Store pro zachycené události.

"dataLakeAccountName": {
    "type": "string",
    "metadata": {
        "description": "Azure Data Lake Store name"
    }
}

dataLakeFolderPath

Cesta k cílové složce pro zachycené události. Tato cesta je složka ve službě Data Lake Store, do které se události odsílají během operace zachycení. Pokud chcete nastavit oprávnění k této složce, přečtěte si článek Použití Azure Data Lake Store k zaznamenání dat ze služby Event Hubs.

"dataLakeFolderPath": {
    "type": "string",
    "metadata": {
        "description": "Destination capture folder path"
    }
}

Azure Storage nebo Azure Data Lake Storage Gen2 jako cíl

Vytvoří obor názvů typu Microsoft.EventHub/Namespaces, s jedním centrem událostí a také umožňuje Capture do Azure Blob Storage nebo Azure Data Lake Storage Gen2.

"resources":[
      {
         "apiVersion":"[variables('ehVersion')]",
         "name":"[parameters('eventHubNamespaceName')]",
         "type":"Microsoft.EventHub/Namespaces",
         "location":"[variables('location')]",
         "sku":{
            "name":"Standard",
            "tier":"Standard"
         },
         "resources": [
    {
      "apiVersion": "2017-04-01",
      "name": "[parameters('eventHubNamespaceName')]",
      "type": "Microsoft.EventHub/Namespaces",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard"
      },
      "properties": {
        "isAutoInflateEnabled": "true",
        "maximumThroughputUnits": "7"
      },
      "resources": [
        {
          "apiVersion": "2017-04-01",
          "name": "[parameters('eventHubName')]",
          "type": "EventHubs",
          "dependsOn": [
            "[concat('Microsoft.EventHub/namespaces/', parameters('eventHubNamespaceName'))]"
          ],
          "properties": {
            "messageRetentionInDays": "[parameters('messageRetentionInDays')]",
            "partitionCount": "[parameters('partitionCount')]",
            "captureDescription": {
              "enabled": "true",
              "skipEmptyArchives": false,
              "encoding": "[parameters('captureEncodingFormat')]",
              "intervalInSeconds": "[parameters('captureTime')]",
              "sizeLimitInBytes": "[parameters('captureSize')]",
              "destination": {
                "name": "EventHubArchive.AzureBlockBlob",
                "properties": {
                  "storageAccountResourceId": "[parameters('destinationStorageAccountResourceId')]",
                  "blobContainer": "[parameters('blobContainerName')]",
                  "archiveNameFormat": "[parameters('captureNameFormat')]"
                }
              }
            }
          }

        }
      ]
    }
  ]

Příkazy pro spuštění nasazení

Pokud chcete nasadit prostředky do Azure, musíte být přihlášení k účtu Azure a používat modul Azure Resource Manager. Další informace o použití Azure Resource Manageru s Azure PowerShellem nebo Azure CLI najdete v tématech:

Následující příklady předpokládají, že v účtu již máte skupinu prostředků s daným názvem.

PowerShell

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Nasazení šablony pro povolení zachytávání pomocí funkce Event Hubs Capture do služby Azure Storage:

New-AzResourceGroupDeployment -ResourceGroupName \<resource-group-name\> -TemplateFile https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.eventhub/eventhubs-create-namespace-and-enable-capture/azuredeploy.json

Nasazení šablony pro povolení zachytávání pomocí funkce Event Hubs Capture do služby Azure Data Lake Store:

New-AzResourceGroupDeployment -ResourceGroupName \<resource-group-name\> -TemplateFile https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.eventhub/eventhubs-create-namespace-and-enable-capture-for-adls/azuredeploy.json

Azure CLI

Azure Blob Storage jako cíl:

az deployment group create \<my-resource-group\> \<my-deployment-name\> --template-uri [https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.eventhub/eventhubs-create-namespace-and-enable-capture/azuredeploy.json][]

Azure Data Lake Store jako cíl:

az deployment group create \<my-resource-group\> \<my-deployment-name\> --template-uri [https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.eventhub/eventhubs-create-namespace-and-enable-capture-for-adls/azuredeploy.json][]

Další kroky

Funkci Event Hubs Capture můžete konfigurovat také prostřednictvím webu Azure Portal. Další informace najdete v tématu Povolení funkce Event Hubs Capture pomocí webu Azure Portal.

Další informace o službě Event Hubs najdete na následujících odkazech: