Styra resurser för klientprogram med programgrupper

Med Azure Event Hubs kan du styra arbetsbelastningar för händelseströmning för klientprogram som ansluter till Event Hubs med hjälp av programgrupper. Mer information finns i Resursstyrning med programgrupper.

Den här artikeln visar hur man utför följande uppgifter:

  • Skapa en programgrupp.
  • Aktivera eller inaktivera en programgrupp
  • Definiera tröskelvärden och tillämpa begränsningsprinciper på en programgrupp
  • Verifiera begränsning med diagnostikloggar

Kommentar

Programgrupper är endast tillgängliga på premium - och dedikerade nivåer.

Skapa en programgrupp

Det här avsnittet visar hur du skapar en programgrupp med hjälp av mallen Azure Portal, CLI, PowerShell och Azure Resource Manager (ARM).

Du kan skapa en programgrupp med hjälp av Azure Portal genom att följa dessa steg.

  1. Gå till Event Hubs-namnområdet.

  2. På den vänstra menyn väljer du Programgrupper under Inställningar.

  3. På sidan Programgrupper väljer du + Programgrupp i kommandofältet.

    Skärmbild av sidan Programgrupper i Azure Portal.

  4. Följ dessa steg på sidan Lägg till programgrupp :

    1. Ange ett namn för programgruppen.

    2. Bekräfta att Aktiverad är markerat. Om du vill att programgruppen ska vara inaktiverad först avmarkerar du alternativet Aktiverad . Den här flaggan avgör om klienterna i en programgrupp kan komma åt Event Hubs eller inte.

    3. Som Säkerhetskontexttyp väljer du Namnområdesprincip för delad åtkomst, princip för delad åtkomst för händelsehubb eller Microsoft Entra-program. Programgruppen stöder valet av SAS-nyckel på antingen namnrymd eller på entitetsnivå (händelsehubb). När du skapar programgruppen bör du associera med antingen en signatur för delad åtkomst (SAS) eller Microsoft Entra-program-ID som används av klientprogram.

    4. Om du har valt namnområdesprincip för delad åtkomst:

      1. För SAS-nyckelnamn väljer du den SAS-princip som kan användas som säkerhetskontext för den här programgruppen. Du kan välja Lägg till SAS-princip för att lägga till en ny princip och sedan associera med programgruppen.

        Skärmbild av sidan Lägg till programgrupp med alternativet Namnområdesprincip för delad åtkomst valt.

    5. Om du har valt en princip för delad åtkomst i Event Hubs:

      1. För SAS-nyckelnamn kopierar du SAS-principnamnet från sidan Principer för delad åtkomst i Event Hubs och klistrar in i textrutan

        Skärmbild av sidan Lägg till programgrupp med alternativet För princip för delad åtkomst för händelsehubb valt.

    6. Om du har valt Microsoft Entra-programmet:

      1. För Microsoft Entra-program-ID (klient)-ID anger du Microsoft Entra-programmet eller klient-ID:t.

      Skärmbild av alternativet Lägg till programgrupp med Microsoft Entra.

Typ av säkerhetskontext som stöds

Granska det automatiskt genererade klientgrupps-ID :t, som är det unika ID som är associerat med programgruppen. Omfånget för programstyrning (namnområde eller entitetsnivå) beror på åtkomstnivån för det använda Microsoft Entra-program-ID:t. I följande tabell visas automatiskt genererat klientgrupps-ID för olika typer av säkerhetskontexter:

Typ av säkerhetskontext Automatiskt genererat klientgrupps-ID
Nyckel för delad åtkomst för namnområde NamespaceSASKeyName=<NamespaceLevelKeyName>
Microsoft Entra-program AADAppID=<AppID>
Delad åtkomstnyckel för Event Hubs EntitySASKeyName=<EntityLevelKeyName>

Kommentar

Alla befintliga programgrupper som skapats med den delade åtkomstnyckeln för namnområdet fortsätter att fungera med klientgrupps-ID som börjar med SASKeyName. Alla nya programgrupper skulle dock ha uppdaterat klientgrupps-ID enligt ovan.

  1. Följ dessa steg för att lägga till en princip:

    1. Ange ett namn för principen.

    2. För Typ väljer du Begränsningsprincip.

    3. För Mått-ID väljer du något av följande alternativ: Inkommande meddelanden, Utgående meddelanden, Inkommande byte, Utgående byte. I följande exempel är Inkommande meddelanden valt.

    4. Ange tröskelvärdet för tröskelvärdet för Hastighetsgräns. I följande exempel anges 10000 som tröskelvärde för antalet inkommande meddelanden.

      Skärmbild av sidan Lägg till programgrupp med en princip för inkommande meddelanden.

      Här är en skärmbild av sidan med en annan princip tillagd.

      Skärmbild av sidan Lägg till programgrupp med två principer.

  2. På sidan Lägg till programgrupp väljer du Lägg till.

  3. Bekräfta att du ser programgruppen i listan över programgrupper.

    Skärmbild av sidan Programgrupper med den programgrupp som du skapade.

    Du kan ta bort programgruppen i listan genom att välja papperskorgsikonen bredvid den i listan.

Aktivera eller inaktivera en programgrupp

Du kan förhindra att klientprogram kommer åt event hubs-namnområdet genom att inaktivera programgruppen som innehåller dessa program. När programgruppen är inaktiverad kan klientprogram inte publicera eller använda data. Alla etablerade anslutningar från klientprogram i den programgruppen avslutas också.

Det här avsnittet visar hur du aktiverar eller inaktiverar en programgrupp med hjälp av mallen Azure Portal, PowerShell, CLI och ARM.

  1. På sidan Event Hubs-namnområde väljer du Programgrupper på den vänstra menyn.

  2. Välj den programgrupp som du vill aktivera eller inaktivera.

    Skärmbild som visar sidan Programgrupper med en vald programgrupp.

  3. På sidan Redigera programgrupp avmarkerar du kryssrutan bredvid Aktiverad för att inaktivera en programgrupp och väljer sedan Uppdatera längst ned på sidan. På samma sätt markerar du kryssrutan för att aktivera en programgrupp.

    Skärmbild som visar sidan Redigera programgrupp med alternativet Aktiverat avmarkerat.

Tillämpa begränsningsprinciper

Du kan lägga till noll eller fler principer när du skapar en programgrupp eller till en befintlig programgrupp. Du kan till exempel lägga till begränsningsprinciper relaterade till IncomingMessageseller IncomingBytes OutgoingBytes till contosoAppGroup. Dessa principer tillämpas på händelseströmningsarbetsbelastningar för klientprogram som använder SAS-principen contososaspolicy.

Mer information om hur du lägger till principer när du skapar en programgrupp finns i avsnittet Skapa en programgrupp .

Du kan också lägga till principer när en programgrupp har skapats.

  1. På sidan Event Hubs-namnområde väljer du Programgrupper på den vänstra menyn.

  2. Välj den programgrupp som du vill lägga till, uppdatera eller ta bort en princip.

    Skärmbild som visar sidan Programgrupper med en vald programgrupp.

  3. På sidan Redigera programgrupp kan du göra följande:

    1. Uppdatera inställningar (inklusive tröskelvärden) för befintliga principer
    2. Lägga till en ny princip

Bestämma tröskelvärde för begränsningsprinciper

Azure Event Hubs har stöd för funktioner för programmåttloggar för att observera vanligt dataflöde i systemet och därmed bestämma tröskelvärdet för programgruppen. Du kan följa de här stegen för att bestämma ett tröskelvärde:

  1. Aktivera diagnostikinställningar i Event Hubs med Application Metric-loggar som vald kategori och välj Log Analytics som mål.

  2. Skapa en tom programgrupp utan någon begränsningsprincip.

  3. Fortsätt att skicka meddelanden/händelser till händelsehubben vid vanligt dataflöde.

  4. Gå till Log Analytics-arbetsytan och fråga efter rätt aktivitetsnamn (baserat på tabellen (resource-governance-overview.md#throttling-policy---threshold-limits)) i AzureDiagnostics . Följande exempelfråga är inställd på att spåra tröskelvärdet för inkommande meddelanden:

    AzureDiagnostics 
        | where ActivityName_s =="IncomingMessages" 
        | where Outcome_s =="Success"      
    
  5. Välj avsnittet Diagram på Log Analytics-arbetsytan och rita ett diagram mellan tiden som genereras på Y-axeln och antalet meddelanden som skickas på x-axeln.

    Skärmbild av sidan Azure Monitor-loggar i Azure Portal.

    I det här exemplet kan du se att det vanliga dataflödet aldrig passerade fler än 550 meddelanden (förväntat aktuellt dataflöde). Den här observationen hjälper dig att definiera det faktiska tröskelvärdet.

  6. När du har bestämt tröskelvärdet lägger du till en ny begränsningsprincip i programgruppen.

Publicera eller använda händelser

När du har lagt till begränsningsprinciper i programgruppen kan du testa begränsningsbeteendet genom att antingen publicera eller använda händelser med klientprogram som ingår i contosoAppGroup programgruppen. För att testa kan du använda antingen en AMQP-klient eller ett Kafka-klientprogram och samma SAS-principnamn eller Microsoft Entra-program-ID som används för att skapa programgruppen.

Kommentar

När dina klientprogram begränsas bör du uppleva en långsam publicering eller användning av data.

Verifiera begränsning med programgrupper

På samma sätt som när du bestämmer tröskelvärden för begränsningsprinciper kan du använda programmåttloggar för att verifiera begränsning och hitta mer information.

Du kan använda exempelfrågan nedan för att ta reda på alla begränsade begäranden inom en viss tidsram. Du måste uppdatera ActivityName så att det matchar den åtgärd som du förväntar dig ska begränsas.


  AzureDiagnostics 
  |  where Category =="ApplicationMetricsLogs"
  | where ActivityName_s =="IncomingMessages" 
  | where Outcome_s =="Throttled"  
	

På grund av begränsningar på protokollnivå genereras inte begränsade begärandeloggar för konsumentåtgärder i händelsehubben ( OutgoingMessages eller OutgoingBytes). När begäranden begränsas på konsumentsidan observerar du långsamt utgående dataflöde.

Nästa steg