Genomgång av REST API för Azure-övervakning

Den här artikeln visar hur du använder REST API-referensen för Azure Monitor.

Hämta måttdefinitioner, dimensionsvärden och måttvärden med hjälp av Azure Monitor-API:et och använd data i dina program eller lagra dem i en databas för analys. Du kan också lista aviseringsregler och visa aktivitetsloggar med hjälp av Azure Monitor-API:et.

Autentisera Azure Monitor-begäranden

Begäran som skickas med azure monitor-API:et använder Azure Resource Manager-autentiseringsmodellen. Alla begäranden autentiseras med Microsoft Entra-ID. En metod för att autentisera klientprogrammet är att skapa ett Huvudnamn för Microsoft Entra-tjänsten och hämta en autentiseringstoken. Du kan skapa ett Microsoft Entra-tjänsthuvudnamn med hjälp av Azure-portalen, CLI eller PowerShell. Mer information finns i Registrera en app för att begära auktoriseringstoken och arbeta med API:er.

Hämta en token

När du har skapat ett huvudnamn för tjänsten hämtar du en åtkomsttoken med hjälp av ett REST-anrop. Skicka följande begäran med hjälp av appId och password för tjänstens huvudnamn eller app:


    POST /<tenant-id>/oauth2/token
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=client_credentials
    &client_id=<app-client-id>
    &resource=https://management.azure.com
    &client_secret=<password>

Till exempel

curl --location --request POST 'https://login.microsoftonline.com/abcd1234-5849-4a5d-a2eb-5267eae1bbc7/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=0123b56a-c987-1234-abcd-1a2b3c4d5e6f' \
--data-urlencode 'client_secret=123456.ABCDE.~XYZ876123ABceDb0000' \
--data-urlencode 'resource=https://management.azure.com'

En lyckad begäran tar emot en åtkomsttoken i svaret:

{
   token_type": "Bearer",
   "expires_in": "86399",
   "ext_expires_in": "86399",
   "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax"
}

När du har autentiserat och hämtat en token använder du åtkomsttoken i dina Azure Monitor API-begäranden genom att inkludera huvudet 'Authorization: Bearer <access token>'

Kommentar

Mer information om hur du arbetar med Azure REST API finns i Azure REST API-referensen.

Hämta resurs-ID:t

Användning av REST-API:et kräver resurs-ID för mål-Azure-resursen. Resurs-ID:t följer följande mönster:

/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<provider>/<resource name>/

Till exempel

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • Elastisk SQL-pool: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Database (v12): /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/databases/<database-name>
  • Azure Service Bus: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • Skalningsuppsättningar för virtuella Azure-datorer: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<vm-name>
  • Virtuella Azure-datorer: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>
  • Azure Event Hubs: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.EventHub/namespaces/<eventhub-namespace>

Använd Azure-portalen, PowerShell eller Azure CLI för att hitta resurs-ID:t.

Om du vill hitta resourceID i portalen går du till resursens översiktssida och väljer JSON-vyA screenshot showing the overview page for a resource with the JSON view link highlighted.

Sidan Resurs-JSON visas. Resurs-ID:t kan kopieras med hjälp av ikonen till höger om ID:t.

A screenshot showing the Resource JSON page for a resource.

API-slutpunkter

API-slutpunkterna använder följande mönster:
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
resource URI Består av följande komponenter:
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

Viktigt!

Se till att inkludera /providers/microsoft.insights/ efter resurs-URI:n när du gör ett API-anrop för att hämta mått eller måttdefinitioner.

Hämta måttdefinitioner

Använd REST-API:et för Måttdefinitioner för Azure Monitor för att komma åt listan över mått som är tillgängliga för en tjänst. Använd följande format för begäran för att hämta måttdefinitioner.

GET /subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/providers/microsoft.insights/metricDefinitions?api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

Följande begäran hämtar till exempel måttdefinitionerna för ett Azure Storage-konto.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01'
--header 'Authorization: Bearer eyJ0eXAiOi...xYz

Följande JSON visar ett exempel på svarstext. I det här exemplet är det bara det andra måttet som har dimensioner.

{
    "value": [
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/UsedCapacity",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Capacity",
            "name": {
                "value": "UsedCapacity",
                "localizedValue": "Used capacity"
            },
            "isDimensionRequired": false,
            "unit": "Bytes",
            "primaryAggregationType": "Average",
            "supportedAggregationTypes": [
                "Total",
                "Average",
                "Minimum",
                "Maximum"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                 ...
                {
                    "timeGrain": "PT12H",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ]
        },
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/Transactions",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Transaction",
            "name": {
                "value": "Transactions",
                "localizedValue": "Transactions"
            },
            "isDimensionRequired": false,
            "unit": "Count",
            "primaryAggregationType": "Total",
            "supportedAggregationTypes": [
                "Total"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT5M",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "PT30M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ],
            "dimensions": [
                {
                    "value": "ResponseType",
                    "localizedValue": "Response type"
                },
                {
                    "value": "GeoType",
                    "localizedValue": "Geo type"
                },
                {
                    "value": "ApiName",
                    "localizedValue": "API name"
                }
            ]
        },
        ...
    ]
}

Kommentar

Vi rekommenderar att du använder API-versionen "2018-01-01" eller senare. Äldre versioner av måttdefinitions-API:et stöder inte dimensioner.

Hämta dimensionsvärden

När du har hämtat tillgängliga måttdefinitioner hämtar du intervallet med värden för måttets dimensioner. Använd dimensionsvärden för att filtrera eller segmentera måtten i dina frågor. Använd REST-API:et för Azure Monitor Metrics för att hitta alla värden för en viss måttdimension.

Använd måttelementet name.value i filterdefinitionerna. Om inga filter anges returneras standardmåttet. API:et tillåter bara att en dimension har ett jokerteckenfilter. Ange begäran om dimensionsvärden med hjälp av frågeparametern "resultType=metadata" . Utelämnas resultType för en begäran om måttvärden.

Kommentar

Om du vill hämta dimensionsvärden med hjälp av Azure Monitor REST API använder du API-versionen "2019-07-01" eller senare.

Använd följande format för begäran för att hämta dimensionsvärden.

GET /subscriptions/<subscription-id>/resourceGroups/  
<resource-group-name>/providers/<resource-provider-namespace>/  
<resource-type>/<resource-name>/providers/microsoft.insights/  
metrics?metricnames=<metric>  
&timespan=<starttime/endtime>  
&$filter=<filter>  
&resultType=metadata  
&api-version=<apiVersion>   HTTP/1.1
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

I följande exempel hämtas listan med dimensionsvärden som har genererats för API Name måttets Transactions dimension, där dimensionen GeoType har värdet Primary, för det angivna tidsintervallet.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics  \
?metricnames=Transactions \
&timespan=2023-03-01T00:00:00Z/2023-03-02T00:00:00Z \
&resultType=metadata \
&$filter=GeoType eq \'Primary\' and ApiName eq \'*\' \
&api-version=2019-07-01'
-header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0e..meG1lWm9Y'

Följande JSON visar ett exempel på svarstext.

{
  "timespan": "2023-03-01T00:00:00Z/2023-03-02T00:00:00Z",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "DeleteBlob"
            }
          ]
        },
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "SetBlobProperties"
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Hämta måttvärden

När du har hämtat måttdefinitionerna och dimensionsvärdena hämtar du måttvärdena. Använd REST-API:et för Azure Monitor Metrics för att hämta måttvärdena.

Använd måttelementet name.value i filterdefinitionerna. Om inga dimensionsfilter anges returneras det samlade måttet.

Om du vill hämta flera tidsserier med specifika dimensionsvärden anger du en filterfrågeparameter som anger båda dimensionsvärdena, "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'"till exempel .

Om du vill returnera en tidsserie för varje värde i en viss dimension använder du ett * filter som "&$filter=ApiName eq '*'". Frågeparametrarna Top och OrderBy kan användas för att begränsa och sortera antalet returnerade tidsserier.

Kommentar

Om du vill hämta flerdimensionella måttvärden med hjälp av Azure Monitor REST API använder du API-versionen "2019-07-01" eller senare.

Använd följande format för begäran för att hämta måttvärden.

GET /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<resource-provider-namespace>/<resource-type>/<resource-name>/providers/microsoft.insights/metrics?metricnames=<metric>&timespan=<starttime/endtime>&$filter=<filter>&interval=<timeGrain>&aggregation=<aggreation>&api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

I följande exempel hämtas de tre främsta API:erna efter antalet Transactions i fallande värdeordning under ett intervall på 5 minuter, där dimensionen GeoType har värdet Primary.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics \
?metricnames=Transactions \
&timespan=2023-03-01T02:00:00Z/2023-03-01T02:05:00Z \
& $filter=apiname eq '\''GetBlobProperties'\'
&interval=PT1M \
&aggregation=Total  \
&top=3 \
&orderby=Total desc \
&api-version=2019-07-01"' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer yJ0eXAiOi...g1dCI6Ii1LS'

Följande JSON visar ett exempel på svarstext.

{
  "cost": 0,
  "timespan": "2023-03-01T02:00:00Z/2023-03-01T02:05:00Z",
  "interval": "PT1M",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "GetBlobProperties"
            }
          ],
          "data": [
            {
              "timeStamp": "2023-09-19T02:00:00Z",
              "total": 2
            },
            {
              "timeStamp": "2023-09-19T02:01:00Z",
              "total": 1
            },
            {
              "timeStamp": "2023-09-19T02:02:00Z",
              "total": 3
            },
            {
              "timeStamp": "2023-09-19T02:03:00Z",
              "total": 7
            },
            {
              "timeStamp": "2023-09-19T02:04:00Z",
              "total": 2
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Köra frågor mot mått för flera resurser i taget.

Förutom att fråga efter mått på en enskild resurs har vissa resurstyper även stöd för frågor om flera resurser i en enda begäran. Dessa API:er är det som driver multiresursupplevelsen i Azure Metrics Explorer. Den uppsättning resurstyper som stöder frågor om flera mått kan visas på bladet Mått i Azure Monitor via listrutan resurstyp i omfångsväljaren på kontextbladet. Mer information finns i dokumentationen om UX för flera resurser.

Det finns några viktiga skillnader mellan att fråga efter mått för flera och enskilda resurser.

  • Mått med flera resurs-API:er fungerar på prenumerationsnivå i stället för resurs-ID-nivån. Den här begränsningen innebär att användare som frågar dessa API:er måste ha behörigheter för övervakningsläsare för själva prenumerationen.
  • Api:er för flera resurser för mått stöder endast en enskild resourceType per fråga, som måste anges i form av en frågeparameter för måttnamnområde.
  • Mått med flera resurs-API:er stöder endast en enskild Azure-region per fråga, som måste anges i form av en regionfrågeparameter.

Köra frågor mot mått för flera resursexempel

I följande exempel visas en begäran om enskilda måttdefinitioner:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01

Följande begäran visar motsvarande begäran om måttdefinitioner för flera resurser. De enda ändringarna är prenumerationssökvägen i stället för en resurs-ID-sökväg och tillägg av region och metricNamespace frågeparametrar.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines

I följande exempel visas en begäran om enskilda mått.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01

Nedan visas en motsvarande måttbegäran för flera resurser:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'

Kommentar

Ett Microsoft.ResourceId eq '*' filter läggs till i exemplet för begäranden om flerresursmått. Filtret instruerar API:et att returnera en separat tidsserie per virtuell datorresurs i prenumerationen och regionen. Utan filtret returnerar API:et en enda tidsserie som aggregerar den genomsnittliga PROCESSORn för alla virtuella datorer. Tidsserierna för varje resurs särskiljs av Microsoft.ResourceId metadatavärdet för varje tidsseriepost, vilket visas i följande exempelreturvärde. Om det inte finns några resourceIds som hämtats av den här frågan returneras en tom tidsserie"timeseries": [] .

{
    "timespan": "2023-06-25T22:35:00Z/2023-06-26T22:40:00Z",
    "interval": "PT6H",
    "value": [
        {
            "id": "subscriptions/12345678-abcd-98765432-abcdef012345/providers/Microsoft.Insights/metrics/Percentage CPU",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Percentage CPU",
                "localizedValue": "Percentage CPU"
            },
            "displayDescription": "The percentage of allocated compute units that are currently in use by the Virtual Machine(s)",
            "unit": "Percent",
            "timeseries": [
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 3.2618888888888886
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 4.696944444444445
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 6.19701388888889
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 2.630347222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 21.288999999999998
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM2"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 7.567069444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 5.111835883171071
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 10.078277777777778
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 8.399097222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 2.647
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/Common-TESTING/providers/Microsoft.Compute/virtualMachines/CommonVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 6.892319444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 3.5054305555555554
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 8.398817802503476
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 6.841666666666667
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 3.3850000000000002
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.compute/virtualmachines",
    "resourceregion": "eastus"
}

Felsöka frågemått för flera resurser

  • Tomma tidsserier returnerade "timeseries": []

    • En tom tidsserie returneras när inga data är tillgängliga för det angivna tidsintervallet och filtret. Den vanligaste orsaken är att ange ett tidsintervall som inte innehåller några data. Till exempel om tidsintervallet är inställt på ett framtida datum.
    • En annan vanlig orsak är att ange ett filter som inte matchar några resurser. Om filtret till exempel anger ett dimensionsvärde som inte finns på några resurser i kombinationen "timeseries": [] prenumeration och region returneras.
  • Jokerteckenfilter
    Om du använder ett jokerteckenfilter som Microsoft.ResourceId eq '*' gör att API:et returnerar en tidsserie för varje resourceId i prenumerationen och regionen. Om kombinationen prenumeration och region inte innehåller några resurser returneras en tom tidsserie. Samma fråga utan jokerteckenfiltret returnerar en enda tidsserie och aggregerar det begärda måttet över de begärda dimensionerna, till exempel prenumeration och region. Om det inte finns några resurser i kombinationen prenumeration och region returnerar API:et en enda tidsserie med en enda datapunkt på 0.

  • 401-auktoriseringsfel:
    Api:erna för enskilda resursmått kräver att en användare har behörigheten Övervakningsläsare för resursen som efterfrågas. Eftersom API:erna för flerresursmått är API:er på prenumerationsnivå måste användarna ha behörigheten Övervakningsläsare för den efterfrågade prenumerationen för att kunna använda API:erna för flera resursmått. Även om användarna har övervakningsläsare för alla resurser i en prenumeration misslyckas begäran om användaren inte har övervakningsläsare för själva prenumerationen.

Nästa steg