Bezorging en opnieuw proberen van Event Grid-berichten
Event Grid biedt duurzame levering. Er wordt geprobeerd om elk bericht ten minste één keer voor elk overeenkomend abonnement onmiddellijk af te leveren. Als het eindpunt van een abonnee de ontvangst van een gebeurtenis niet bevestigt of als er een fout optreedt, probeert Event Grid de levering opnieuw op basis van een vast schema en beleid voor opnieuw proberen. Event Grid levert standaard één gebeurtenis tegelijk aan de abonnee. De nettolading is echter een matrix met één gebeurtenis.
Notitie
Event Grid garandeert geen order voor het bezorgen van gebeurtenissen, dus abonnees kunnen deze buiten orde ontvangen.
Schema voor opnieuw proberen
Wanneer Event Grid een fout ontvangt voor een bezorgingspoging van een gebeurtenis, bepaalt Event Grid of de bezorging opnieuw moet worden geprobeerd, de gebeurtenis in een onbestelbare brief moet worden uitgevoerd of de gebeurtenis moet worden neergeteld op basis van het type fout.
Als de fout die wordt geretourneerd door het geabonneerde eindpunt een configuratiefout is die niet kan worden opgelost met nieuwe pogingen (bijvoorbeeld als het eindpunt wordt verwijderd), voert Event Grid onbestelbare berichten uit op de gebeurtenis of wordt de gebeurtenis verwijderd als dead-letter niet is geconfigureerd.
In de volgende tabel worden de typen eindpunten en fouten beschreven waarvoor geen nieuwe poging wordt uitgevoerd:
Eindpunttype | Foutcodes |
---|---|
Azure-bronnen | 400 (ongeldige aanvraag), 413 (aanvraagentiteit is te groot) |
Webhook | 400 (ongeldige aanvraag), 413 (aanvraagentiteit is te groot), 401 (niet geautoriseerd) |
Notitie
Als dead-letter niet is geconfigureerd voor een eindpunt, worden gebeurtenissen verwijderd wanneer de bovenstaande fouten optreden. Overweeg om onbestelbare berichten te configureren als u niet wilt dat dit soort gebeurtenissen worden verwijderd. Gebeurtenissen met onbestelbare letters worden verwijderd wanneer de bestemming met een onbestelbare brief niet wordt gevonden.
Als de fout die wordt geretourneerd door het geabonneerde eindpunt niet in de bovenstaande lijst voorkomt, voert Event Grid de nieuwe poging uit met behulp van het beleid dat hieronder wordt beschreven:
Event Grid wacht 30 seconden op een antwoord na het bezorgen van een bericht. Als het eindpunt na 30 seconden nog niet heeft gereageerd, wordt het bericht in de wachtrij geplaatst voor opnieuw proberen. Event Grid maakt gebruik van een beleid voor exponentieel uitstel van nieuwe pogingen voor het bezorgen van gebeurtenissen. Event Grid probeert de levering volgens het volgende schema opnieuw uit te voeren op basis van een zo goed mogelijke inspanning:
- 10 seconden
- 30 seconden
- 1 minuut
- 5 minuten
- 10 minuten
- 30 minuten
- 1 uur
- 3 uur
- 6 uur
- Elke 12 uur tot 24 uur
Als het eindpunt binnen drie minuten reageert, probeert Event Grid de gebeurtenis zo goed mogelijk uit de wachtrij voor opnieuw proberen te verwijderen, maar er kunnen nog steeds duplicaten worden ontvangen.
Event Grid voegt een kleine randomisatie toe aan alle stappen voor opnieuw proberen en kan bepaalde nieuwe pogingen opportunistisch overslaan als een eindpunt consistent beschadigd is, lange tijd offline is of overweldigd lijkt te zijn.
Beleid voor opnieuw proberen
U kunt het beleid voor opnieuw proberen aanpassen bij het maken van een gebeurtenisabonnement met behulp van de volgende twee configuraties. Een gebeurtenis wordt verwijderd als een van de limieten van het beleid voor opnieuw proberen is bereikt.
- Maximum aantal pogingen : de waarde moet een geheel getal tussen 1 en 30 zijn. De standaardwaarde is 30.
- Time-to-live (TTL) van gebeurtenis : de waarde moet een geheel getal tussen 1 en 1440 zijn. De standaardwaarde is 1440 minuten
Zie Beleid voor opnieuw proberen instellen voor voorbeelden van CLI- en PowerShell-opdrachten voor het configureren van deze instellingen.
Notitie
Als u zowel Event time to live (TTL)
als Maximum number of attempts
instelt, gebruikt Event Grid de eerste om te bepalen wanneer de levering van gebeurtenissen moet worden gestopt. Als u bijvoorbeeld 30 minuten instelt als time-to-live (TTL) en 5 maximale bezorgingspogingen. Wanneer een gebeurtenis niet na 30 minuten (of) niet wordt geleverd na 5 pogingen, afhankelijk van wat zich het eerst voordoet, is de gebeurtenis onbestelbaar. Als u het maximum aantal bezorgingspogingen instelt op 10, met betrekking tot het exponentiële schema voor opnieuw proberen, worden maximaal 6 bezorgingspogingen uitgevoerd voordat 30 minuten TTL wordt bereikt. Daarom heeft het instellen van het maximum aantal pogingen op 10 in dit geval geen invloed en worden gebeurtenissen na 30 minuten vastgelopen.
Batchverwerking van uitvoer
Event Grid verzendt standaard elke gebeurtenis afzonderlijk naar abonnees. De abonnee ontvangt een matrix met één gebeurtenis. U kunt Event Grid configureren voor batchgebeurtenissen voor levering voor verbeterde HTTP-prestaties in scenario's met hoge doorvoer. Batchverwerking is standaard uitgeschakeld en kan per abonnement worden ingeschakeld.
Batchverwerkingsbeleid
Levering in batch heeft twee instellingen:
- Maximum aantal gebeurtenissen per batch : het maximum aantal gebeurtenissen dat Event Grid per batch levert. Dit aantal wordt nooit overschreden, maar er kunnen minder gebeurtenissen worden geleverd als er geen andere gebeurtenissen beschikbaar zijn op het moment van publicatie. Event Grid vertraagt het maken van een batch niet als er minder gebeurtenissen beschikbaar zijn. Moet tussen 1 en 5.000 zijn.
- Voorkeursbatchgrootte in kilobytes : doellimiet voor batchgrootte in kilobytes. Net als bij maximale gebeurtenissen kan de batchgrootte kleiner zijn als er niet meer gebeurtenissen beschikbaar zijn op het moment van publiceren. Het is mogelijk dat een batch groter is dan de gewenste batchgrootte als één gebeurtenis groter is dan de voorkeursgrootte. Als de voorkeursgrootte bijvoorbeeld 4 kB is en een gebeurtenis van 10 kB naar Event Grid wordt gepusht, wordt de gebeurtenis van 10 kB nog steeds geleverd in een eigen batch in plaats van te worden verwijderd.
Levering in batches geconfigureerd op basis van een abonnement per gebeurtenis via de portal, CLI, PowerShell of SDK's.
Batchgedrag
Alle of geen
Event Grid werkt met alles-of-geen-semantiek. Het biedt geen ondersteuning voor gedeeltelijk succes van een batchlevering. Abonnees moeten ervoor zorgen dat ze slechts binnen 30 seconden vragen om zoveel gebeurtenissen per batch als ze redelijkerwijs kunnen verwerken.
Optimistische batchverwerking
De beleidsinstellingen voor batchverwerking zijn niet strikt gebonden aan het batchgedrag en worden naar beste vermogen gerespecteerd. Bij lage gebeurtenissnelheden ziet u vaak dat de batchgrootte kleiner is dan het aangevraagde maximum aantal gebeurtenissen per batch.
De standaardwaarde is ingesteld op UIT
Standaard voegt Event Grid slechts één gebeurtenis toe aan elke leveringsaanvraag. U kunt batchverwerking inschakelen door een van de instellingen in te stellen die eerder in het artikel in de JSON van het gebeurtenisabonnement zijn vermeld.
Standaardwaarden
Het is niet nodig om zowel de instellingen op te geven (Maximale gebeurtenissen per batch als Geschatte batchgrootte in kilobytes) bij het maken van een gebeurtenisabonnement. Als er slechts één instelling is ingesteld, gebruikt Event Grid (configureerbare) standaardwaarden. Zie de volgende secties voor de standaardwaarden en hoe u deze kunt overschrijven.
Azure Portal:
U ziet deze instellingen op het tabblad Extra functies van de pagina Gebeurtenisabonnement .
Azure CLI
Gebruik de volgende parameters bij het maken van een gebeurtenisabonnement:
- max-events-per-batch : maximum aantal gebeurtenissen in een batch. Moet een getal tussen 1 en 5000 zijn.
- preferred-batch-size-in-kilobytes : voorkeursbatchgrootte in kilobytes. Moet een getal tussen 1 en 1024 zijn.
storageid=$(az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--resource-id $storageid \
--name <event_subscription_name> \
--endpoint $endpoint \
--max-events-per-batch 1000 \
--preferred-batch-size-in-kilobytes 512
Zie Opslagevenementen routeren naar een webeindpunt met Azure CLI voor meer informatie over het gebruik van Azure CLI met Event Grid.
Vertraagde bezorging
Als een eindpunt bezorgingsfouten ondervindt, begint Event Grid de levering te vertragen en gebeurtenissen opnieuw naar dat eindpunt uit te proberen. Als bijvoorbeeld de eerste tien gebeurtenissen die naar een eindpunt zijn gepubliceerd, mislukken, gaat Event Grid ervan uit dat het eindpunt problemen ondervindt en worden alle volgende nieuwe pogingen en nieuwe leveringen enige tijd uitgesteld, in sommige gevallen tot enkele uren.
Het functionele doel van vertraagde levering is het beveiligen van beschadigde eindpunten en het Event Grid-systeem. Zonder uitstel en vertraging van levering aan beschadigde eindpunten, kunnen het beleid voor opnieuw proberen en de volumemogelijkheden van Event Grid een systeem gemakkelijk overbelasten.
Gebeurtenissen in onbestelbare berichten
Wanneer Event Grid een gebeurtenis niet kan leveren binnen een bepaalde periode of nadat u een bepaald aantal keren hebt geprobeerd de gebeurtenis te leveren, kan de niet-bezorgde gebeurtenis naar een opslagaccount worden verzonden. Dit proces wordt ook wel 'dead-lettering' genoemd. Event Grid is een gebeurtenis in onbestelbare letters wanneer aan een van de volgende voorwaarden wordt voldaan.
- De gebeurtenis wordt niet geleverd binnen de time-to-live-periode .
- Het aantal pogingen om de gebeurtenis te leveren, heeft de limiet overschreden.
Als aan een van de voorwaarden wordt voldaan, wordt de gebeurtenis verwijderd of in een impasse geplaatst. Standaard schakelt Event Grid geen onbestelbare berichten in. Als u dit wilt inschakelen, moet u een opslagaccount opgeven voor het opslaan van niet-bezorgde gebeurtenissen bij het maken van het gebeurtenisabonnement. U haalt gebeurtenissen op uit dit opslagaccount om leveringen op te lossen.
Event Grid verzendt een gebeurtenis naar de onbestelbare locatie wanneer alle nieuwe pogingen zijn geprobeerd. Als Event Grid een 400-antwoordcode (Ongeldige aanvraag) of 413 (Aanvraagentiteit te groot) ontvangt, wordt de gebeurtenis onmiddellijk gepland voor onbestelbare brieven. Deze antwoordcodes geven aan dat de levering van de gebeurtenis nooit zal lukken.
De time-to-live-vervaldatum wordt ALLEEN gecontroleerd bij de volgende geplande leveringspoging. Dus zelfs als time-to-live verloopt vóór de volgende geplande bezorgingspoging, wordt het verlopen van de gebeurtenis alleen gecontroleerd op het moment van de volgende levering en vervolgens in een onbestelbare brief.
Er is een vertraging van vijf minuten tussen de laatste poging om een gebeurtenis af te leveren en het moment waarop de gebeurtenis wordt bezorgd op de locatie met een onbestelbare brief. Deze vertraging is bedoeld om het aantal blobopslagbewerkingen te verminderen. Als de locatie voor onbestelbare berichten vier uur niet beschikbaar is, wordt de gebeurtenis verwijderd.
Voordat u de locatie voor onbestelbare berichten instelt, moet u een opslagaccount met een container hebben. U geeft het eindpunt voor deze container op bij het maken van het gebeurtenisabonnement. Het eindpunt heeft de volgende indeling: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>/blobServices/default/containers/<container-name>
Mogelijk wilt u een melding ontvangen wanneer een gebeurtenis is verzonden naar de locatie van de onbestelbare brief. Als u Event Grid wilt gebruiken om te reageren op niet-bezorgde gebeurtenissen, maakt u een gebeurtenisabonnement voor de blobopslag met onbestelbare berichten. Telkens wanneer uw blobopslag met onbestelbare berichten een niet-bezorgde gebeurtenis ontvangt, informeert Event Grid uw handler. De handler reageert met acties die u wilt uitvoeren voor het afstemmen van niet-bezorgde gebeurtenissen. Zie Beleid voor onbestelbare brieven en nieuwe pogingen voor een voorbeeld van het instellen van een onbestelbare locatie en beleid voor opnieuw proberen.
Notitie
Als u beheerde identiteit inschakelt voor onbestelbare berichten, moet u de beheerde identiteit toevoegen aan de juiste RBAC-rol (op rollen gebaseerd toegangsbeheer) in het Azure Storage-account dat de gebeurtenissen in onbestelbare berichten bevat. Zie Ondersteunde bestemmingen en Azure-rollen voor meer informatie.
Indelingen voor leveringsevenementen
In deze sectie vindt u voorbeelden van gebeurtenissen en gebeurtenissen met onbestelbare letters in verschillende bezorgingsschema-indelingen (Event Grid-schema, CloudEvents 1.0-schema en aangepast schema). Zie de artikelen over het Event Grid-schema en cloud events 1.0-schema voor meer informatie over deze indelingen.
Event Grid-schema
Gebeurtenis
{
"id": "93902694-901e-008f-6f95-7153a806873c",
"eventTime": "2020-08-13T17:18:13.1647262Z",
"eventType": "Microsoft.Storage.BlobCreated",
"dataVersion": "",
"metadataVersion": "1",
"topic": "/subscriptions/000000000-0000-0000-0000-00000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.Storage/storageAccounts/myegteststgfoo",
"subject": "/blobServices/default/containers/deadletter/blobs/myBlobFile.txt",
"data": {
"api": "PutBlob",
"clientRequestId": "c0d879ad-88c8-4bbe-8774-d65888dc2038",
"requestId": "93902694-901e-008f-6f95-7153a8000000",
"eTag": "0x8D83FACDC0C3402",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myegteststgfoo.blob.core.windows.net/deadletter/myBlobFile.txt",
"sequencer": "00000000000000000000000000015508000000000005101c",
"storageDiagnostics": { "batchId": "cfb32f79-3006-0010-0095-711faa000000" }
}
}
Gebeurtenis in onbestelbare berichten
{
"id": "93902694-901e-008f-6f95-7153a806873c",
"eventTime": "2020-08-13T17:18:13.1647262Z",
"eventType": "Microsoft.Storage.BlobCreated",
"dataVersion": "",
"metadataVersion": "1",
"topic": "/subscriptions/0000000000-0000-0000-0000-000000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.Storage/storageAccounts/myegteststgfoo",
"subject": "/blobServices/default/containers/deadletter/blobs/myBlobFile.txt",
"data": {
"api": "PutBlob",
"clientRequestId": "c0d879ad-88c8-4bbe-8774-d65888dc2038",
"requestId": "93902694-901e-008f-6f95-7153a8000000",
"eTag": "0x8D83FACDC0C3402",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myegteststgfoo.blob.core.windows.net/deadletter/myBlobFile.txt",
"sequencer": "00000000000000000000000000015508000000000005101c",
"storageDiagnostics": { "batchId": "cfb32f79-3006-0010-0095-711faa000000" }
},
"deadLetterReason": "MaxDeliveryAttemptsExceeded",
"deliveryAttempts": 1,
"lastDeliveryOutcome": "NotFound",
"publishTime": "2020-08-13T17:18:14.0265758Z",
"lastDeliveryAttemptTime": "2020-08-13T17:18:14.0465788Z"
}
Hier volgen de mogelijke waarden van lastDeliveryOutcome
en de bijbehorende beschrijvingen.
LastDeliveryOutcome | Beschrijving |
---|---|
NotFound | De doelresource is niet gevonden. |
Uitgeschakeld | De bestemming heeft het ontvangen van gebeurtenissen uitgeschakeld. Van toepassing op Azure Service Bus en Azure Event Hubs. |
Volledig | Het maximum aantal toegestane bewerkingen op de bestemming is overschreden. Van toepassing op Azure Service Bus en Azure Event Hubs. |
Niet geautoriseerd | Doel heeft een niet-geautoriseerde antwoordcode geretourneerd. |
BadRequest | De bestemming heeft een ongeldige aanvraagreactiecode geretourneerd. |
Verlopen | Er is een time-out opgetreden voor de leveringsbewerking. |
Bezet | De doelserver is bezet. |
PayloadTooLarge | De grootte van het bericht is groter dan de maximaal toegestane grootte van de bestemming. Van toepassing op Azure Service Bus en Azure Event Hubs. |
Proeftijd | De bestemming wordt op proef gesteld door Event Grid. Levering wordt niet geprobeerd tijdens de proef. |
Geannuleerd | De leveringsbewerking is geannuleerd. |
Aborted | De levering is na een tijdsinterval afgebroken door Event Grid. |
SocketError | Er is een netwerkcommunicatiefout opgetreden tijdens de levering. |
ResolutionError | DNS-omzetting van doeleindpunt is mislukt. |
Leveren | Gebeurtenissen op de bestemming afleveren. |
SessionQueueNotSupported | Gebeurtenislevering zonder sessie-id wordt geprobeerd op een entiteit waarvoor sessieondersteuning is ingeschakeld. Van toepassing op Azure Service Bus entiteitsdoel. |
Verboden | Levering is verboden door het doeleindpunt (mogelijk vanwege IP-firewalls of andere beperkingen) |
OngeldigAzureFunctionDestination | De Azure-doelfunctie is niet geldig. Waarschijnlijk omdat het niet het type EventGridTrigger heeft. |
LastDeliveryOutcome: Proefprobatie
Een gebeurtenisabonnement wordt door Event Grid gedurende een bepaalde periode in de proeftijd geplaatst als gebeurtenisleveringen naar die bestemming mislukken. De proeftijd verschilt voor verschillende fouten die worden geretourneerd door het doeleindpunt. Als een gebeurtenisabonnement een proefabonnement heeft, kunnen gebeurtenissen in een impasse worden geplaatst of worden verwijderd zonder zelfs maar te proberen te leveren, afhankelijk van de foutcode waardoor deze in proefabonnement is.
Fout | Duur van de proefperiode |
---|---|
Bezet | 10 seconden |
NotFound | 5 minuten |
SocketError | 30 seconden |
ResolutionError | 5 minuten |
Uitgeschakeld | 5 minuten |
Volledig | 5 minuten |
Verlopen | 10 seconden |
Niet geautoriseerd | 5 minuten |
Verboden | 5 minuten |
OngeldigAzureFunctionDestination | 10 minuten |
Notitie
Event Grid maakt gebruik van proefabonnementsduur voor beter leveringsbeheer en de duur kan in de toekomst veranderen.
CloudEvents 1.0-schema
Gebeurtenis
{
"id": "caee971c-3ca0-4254-8f99-1395b394588e",
"source": "mysource",
"dataversion": "1.0",
"subject": "mySubject",
"type": "fooEventType",
"datacontenttype": "application/json",
"data": {
"prop1": "value1",
"prop2": 5
}
}
Gebeurtenis met onbestelbare berichten
{
"id": "caee971c-3ca0-4254-8f99-1395b394588e",
"source": "mysource",
"dataversion": "1.0",
"subject": "mySubject",
"type": "fooEventType",
"datacontenttype": "application/json",
"data": {
"prop1": "value1",
"prop2": 5
},
"deadletterreason": "MaxDeliveryAttemptsExceeded",
"deliveryattempts": 1,
"lastdeliveryoutcome": "NotFound",
"publishtime": "2020-08-13T21:21:36.4018726Z",
}
Aangepast schema
Gebeurtenis
{
"prop1": "my property",
"prop2": 5,
"myEventType": "fooEventType"
}
Gebeurtenis met onbestelbare berichten
{
"id": "8bc07e6f-0885-4729-90e4-7c3f052bd754",
"eventTime": "2020-08-13T18:11:29.4121391Z",
"eventType": "myEventType",
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/00000000000-0000-0000-0000-000000000000000/resourceGroups/rgwithoutpolicy/providers/Microsoft.EventGrid/topics/myCustomSchemaTopic",
"subject": "subjectDefault",
"deadLetterReason": "MaxDeliveryAttemptsExceeded",
"deliveryAttempts": 1,
"lastDeliveryOutcome": "NotFound",
"publishTime": "2020-08-13T18:11:29.4121391Z",
"lastDeliveryAttemptTime": "2020-08-13T18:11:29.4277644Z",
"data": {
"prop1": "my property",
"prop2": 5,
"myEventType": "fooEventType"
}
}
Bezorgingsstatus van bericht
Event Grid gebruikt HTTP-antwoordcodes om de ontvangst van gebeurtenissen te bevestigen.
Succescodes
Event Grid beschouwt alleen de volgende HTTP-antwoordcodes als geslaagde leveringen. Alle andere statuscodes worden beschouwd als mislukte leveringen en zullen opnieuw worden geprobeerd of in een impasse worden opgeslagen. Wanneer Event Grid een geslaagde statuscode ontvangt, wordt de levering als voltooid beschouwd.
- 200 OK
- 201 Gemaakt
- 202 Geaccepteerd
- 203 Niet-bindende informatie
- 204 Geen inhoud
Foutcodes
Alle andere codes die niet in de bovenstaande set staan (200-204) worden beschouwd als fouten en worden opnieuw geprobeerd (indien nodig). Sommigen hebben specifieke beleidsregels voor opnieuw proberen die hieronder worden beschreven, alle andere volgen het standaardmodel voor exponentieel back-off. Het is belangrijk om te onthouden dat vanwege de zeer parallelle aard van de architectuur van Event Grid het gedrag voor opnieuw proberen niet-deterministisch is.
Statuscode | Gedrag voor opnieuw proberen |
---|---|
400 Ongeldige aanvraag | Niet opnieuw geprobeerd |
401 Onbevoegd | Probeer het na 5 minuten of langer opnieuw voor Eindpunten van Azure-resources |
403 Verboden | Niet opnieuw geprobeerd |
404 Niet gevonden | Probeer het na 5 minuten of langer opnieuw voor Eindpunten van Azure-resources |
408 Time-out van aanvraag | Probeer het opnieuw na 2 minuten of langer |
413 Aanvraagentiteit is te groot | Niet opnieuw geprobeerd |
503 Service niet beschikbaar | Probeer het opnieuw na 30 seconden of meer |
Alle andere | Probeer het opnieuw na 10 seconden of meer |
Aangepaste leveringseigenschappen
Met gebeurtenisabonnementen kunt u HTTP-headers instellen die zijn opgenomen in geleverde gebeurtenissen. Met deze mogelijkheid kunt u aangepaste headers instellen die vereist zijn voor een bestemming. U kunt maximaal 10 headers instellen bij het maken van een gebeurtenisabonnement. Elke headerwaarde mag niet groter zijn dan 4096 (4K) bytes. U kunt aangepaste headers instellen voor de gebeurtenissen die worden geleverd aan de volgende bestemmingen:
- Webhooks
- Azure Service Bus onderwerpen en wachtrijen
- Azure Event Hubs
- Hybride verbindingen doorgeven
Zie Aangepaste leveringseigenschappen voor meer informatie.
Volgende stappen
- Zie Bezorging van Event Grid-berichten bewaken om de status van gebeurtenisleveringen weer te geven.
- Zie Beleid voor onbestelbare berichten en nieuwe pogingen om de opties voor het bezorgen van gebeurtenissen aan te passen.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor