Névtér létrehozása egy eseményközponttal és a Rögzítés funkció engedélyezése sablon használatával
Ez a cikk ismerteti egy olyan Azure Resource Manager-sablon használatát, amely egy Event Hubs-névteret hoz létre egy Event Hubs-példánnyal, valamint leírja az eseményközpont Capture funkciójának engedélyezését is. A cikk leírja továbbá, hogyan kell meghatározni, hogy mely erőforrások lesznek üzembe helyezve, és hogyan kell meghatározni az üzembe helyezés végrehajtásakor megadandó paramétereket. Ez a sablont használhatja a saját környezeteiben, vagy testre is szabhatja a saját követelményeinek megfelelően.
Ez a cikk azt is bemutatja, hogyan adhatja meg, hogy a rendszer az Azure Storage-blobokban vagy egy Azure Data Lake Store-ban rögzítse az eseményeket, az Ön által kiválasztott célhely alapján.
A sablonok létrehozásáról további információkat az Authoring Azure Resource Manager templates (Azure Resource Manager-sablonok készítése) című témakörben talál. Ha a JSON-szintaxist és -tulajdonságokat sablonban szeretné használni, tekintse meg a Microsoft.EventHub erőforrástípusokat ismertető cikket.
További információk az Azure-erőforrások elnevezési szabályainak mintáiról és gyakorlati megoldásairól: Az Azure-erőforrások elnevezési szabályai.
A teljes sablonokhoz válassza a következő GitHub-hivatkozásokat:
- Eseményközpont és a Rögzítés tárolóban sablon engedélyezése
- Eseményközpont és a Rögzítés Azure Data Lake Store-ban sablon engedélyezése
Megjegyzés
A legújabb sablonokért keresse fel az Azure-gyorssablonok gyűjteményt, és keressen az Event Hubs kifejezésre.
Mit fog üzembe helyezni?
Ezzel a sablonnal egy Event Hubs-névteret helyez üzembe eseményközponttal, továbbá engedélyezi az az Event Hubs Rögzítés funkcióját. Az Event Hubs Capture funkciója lehetővé teszi a streamelt Event Hubs-adatok automatikus továbbítását az Azure Blob Storage-ba vagy az Azure Data Lake Store-ba egy megadott időtartamon belül vagy az Ön által kiválasztott méretegységekben. Válassza a következő gombot az Event Hubs Capture Azure Storage-ba való engedélyezéséhez:
Válassza a következő gombot az Event Hubs Capture azure Data Lake Store-ba való engedélyezéséhez:
Paraméterek
Az Azure Resource Managerrel meghatározhatja a sablon üzembe helyezésekor megadandó értékek paramétereit. A sablonban található egy Parameters
nevű rész, amely magába foglalja az összes paraméterértéket. Meg kell határoznia azoknak az értékeknek a paraméterét, amelyek az üzembe helyezendő projekttől vagy a környezettől függően változnak. Ne definiáljon paramétereket olyan értékekhez, amelyek mindig azonosak maradnak. A sablonban minden egyes paraméterérték az üzembe helyezendő erőforrások megadásához lesz felhasználva.
A sablon a következő paramétereket adja meg.
eventHubNamespaceName
A létrehozandó Event Hubs-névtér neve.
"eventHubNamespaceName":{
"type":"string",
"metadata":{
"description":"Name of the EventHub namespace"
}
}
eventHubName
Az Event Hubs-névtérben létrehozott eseményközpont neve.
"eventHubName":{
"type":"string",
"metadata":{
"description":"Name of the event hub"
}
}
messageRetentionInDays
A napok száma, amíg az üzenetek meg lesznek őrizve az eseményközpontban.
"messageRetentionInDays":{
"type":"int",
"defaultValue": 1,
"minValue":"1",
"maxValue":"7",
"metadata":{
"description":"How long to retain the data in event hub"
}
}
partitionCount
Az eseményközpontban létrehozandó partíciók száma.
"partitionCount":{
"type":"int",
"defaultValue":2,
"minValue":2,
"maxValue":32,
"metadata":{
"description":"Number of partitions chosen"
}
}
captureEnabled
A Rögzítés funkció engedélyezése az eseményközpontban.
"captureEnabled":{
"type":"string",
"defaultValue":"true",
"allowedValues": [
"false",
"true"],
"metadata":{
"description":"Enable or disable the Capture for your event hub"
}
}
captureEncodingFormat
Az eseményadat szerializálásához megadott kódolási formátum.
"captureEncodingFormat":{
"type":"string",
"defaultValue":"Avro",
"allowedValues":[
"Avro"],
"metadata":{
"description":"The encoding format in which Capture serializes the EventData"
}
}
captureTime
Az az időintervallum, amelyben az Event Hubs Capture elkezdi az adatok rögzítését.
"captureTime":{
"type":"int",
"defaultValue":300,
"minValue":60,
"maxValue":900,
"metadata":{
"description":"The time window in seconds for the capture"
}
}
captureSize
Az a méretegység, amelynek elérésekor a Capture funkció elkezdi az adatok rögzítését.
"captureSize":{
"type":"int",
"defaultValue":314572800,
"minValue":10485760,
"maxValue":524288000,
"metadata":{
"description":"The size window in bytes for capture"
}
}
captureNameFormat
Az Event Hubs Capture által használt névformátum az Avro-fájlok írásakor. Vegye figyelembe, hogy a Capture névformátumának tartalmaznia kell a következő mezőket: {Namespace}
, {EventHub}
, {PartitionId}
, {Year}
, {Month}
, {Day}
, {Hour}
, {Minute}
és {Second}
. Ezek a mezők bármilyen sorrend szerint rendezhetők, elválasztó karakterekkel vagy azok nélkül.
"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
A sablon API-verziója.
"apiVersion":{
"type":"string",
"defaultValue":"2017-04-01",
"metadata":{
"description":"ApiVersion used by the template"
}
}
Ha az Azure Storage-ot választja célhelyként, használja a következő paramétereket.
destinationStorageAccountResourceId
A Rögzítés használatához egy Azure Storage-fiókhoz tartozó erőforrás-azonosító szükséges, amellyel engedélyezheti a rögzítést a választott Storage-fiókban.
"destinationStorageAccountResourceId":{
"type":"string",
"metadata":{
"description":"Your existing Storage account resource ID where you want the blobs be captured"
}
}
blobContainerName
A blobtároló, amelyben rögzíti az eseményadatokat.
"blobContainerName":{
"type":"string",
"metadata":{
"description":"Your existing storage container in which you want the blobs captured"
}
}
Használja az alábbi paramétereket, ha az Azure Data Lake Store Gen 1-et választja célként. Az engedélyeket arra a Data Lake Store-útvonalra kell beállítania, ahol az eseményeket rögzíteni kívánja. Az engedélyek beállításához lásd: Adatok rögzítése az 1. generációs Azure Data Lake Storage.
subscriptionId
Az Event Hubs-névtér és az Azure Data Lake Store előfizetés-azonosítója. Mindkét erőforráshoz azonos előfizetés-azonosítónak kell tartoznia.
"subscriptionId": {
"type": "string",
"metadata": {
"description": "Subscription ID of both Azure Data Lake Store and Event Hubs namespace"
}
}
dataLakeAccountName
A rögzített események Azure Data Lake Store-neve.
"dataLakeAccountName": {
"type": "string",
"metadata": {
"description": "Azure Data Lake Store name"
}
}
dataLakeFolderPath
A rögzített események célmappájának elérési útja. Ez az a mappa a Data Lake Store-fiókban, amelybe a rendszer leküldi az eseményeket a rögzítési művelet során. A mappa engedélyeinek beállításáról lásd az Event Hubsból származó adatok Azure Data Lake Store segítségével történő rögzítését ismertető cikket.
"dataLakeFolderPath": {
"type": "string",
"metadata": {
"description": "Destination capture folder path"
}
}
Azure Storage vagy Azure Data Lake Storage Gen 2 célként
Létrehoz egy EventHub típusú névteret egy eseményközponttal, és engedélyezi a Rögzítést Azure Blob Storage vagy 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')]"
}
}
}
}
}
]
}
]
Azure Data Lake Storage Gen1 célként
Létrehoz egy EventHub típusú névteret egy eseményközponttal, és engedélyezi a Rögzítést az 1. generációs Azure Data Lake Storage. Ha a Data Lake Storage 2. generációs verziójával használja, tekintse meg az előző szakaszt.
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('namespaceName')]",
"type": "Microsoft.EventHub/Namespaces",
"location": "[variables('location')]",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('eventHubName')]",
"type": "EventHubs",
"dependsOn": [
"[concat('Microsoft.EventHub/namespaces/', parameters('namespaceName'))]"
],
"properties": {
"path": "[parameters('eventHubName')]",
"captureDescription": {
"enabled": "true",
"skipEmptyArchives": false,
"encoding": "[parameters('archiveEncodingFormat')]",
"intervalInSeconds": "[parameters('captureTime')]",
"sizeLimitInBytes": "[parameters('captureSize')]",
"destination": {
"name": "EventHubArchive.AzureDataLake",
"properties": {
"DataLakeSubscriptionId": "[parameters('subscriptionId')]",
"DataLakeAccountName": "[parameters('dataLakeAccountName')]",
"DataLakeFolderPath": "[parameters('dataLakeFolderPath')]",
"ArchiveNameFormat": "[parameters('captureNameFormat')]"
}
}
}
}
}
]
}
]
Megjegyzés
A skipEmptyArchives tulajdonság használatával engedélyezheti vagy letilthatja az üres fájlok kibocsátását, ha nem történik esemény a Rögzítés ablakban.
Az üzembe helyezést futtató parancsok
Ha üzembe kívánja helyezni ezeket az erőforrásokat az Azure-ban, be kell jelentkeznie az Azure-fiókba, és az Azure Resource Manager modult kell használnia. További információ az Azure Resource Manager Azure PowerShell-lel vagy Azure CLI-vel való használatáról:
- Azure-erőforrások kezelése Azure PowerShell használatával
- Azure-erőforrások kezelése az Azure CLI használatával.
A következő példák feltételezik, hogy a fiókjában már létezik egy erőforráscsoport a megadott névvel.
PowerShell
Megjegyzés
Javasoljuk, hogy az Azure Az PowerShell-modult használja az Azure-ral való kommunikációhoz. Az első lépésekért lásd: Azure PowerShell telepítése. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Helyezze üzembe a sablont az Azure Storage-ba történő Event Hubs-rögzítés engedélyezéséhez:
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
Helyezze üzembe a sablont az Azure Data Lake Store-ba történő Event Hubs-rögzítés engedélyezéséhez:
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
Az Azure Blob Storage mint célhely:
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][]
Az Azure Data Lake Store mint célhely:
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][]
Következő lépések
Az Event Hubs Rögzítés funkcióját az Azure Portal segítségével is konfigurálhatja. További információért tekintse meg az Enable Event Hubs Capture using the Azure portal (Az Event Hubs Rögzítés funkciójának engedélyezése az Azure Portalon) című témakört.
Az alábbi webhelyeken további információt talál az Event Hubsról: