Azure APIM: определение идентификатора ресурса API на портале

Я читаю несколько руководств Microsoft по APIM здесь: https://learn.microsoft.com/en-us/azure/api-management/import-and-publish

Я добрался до раздела о отслеживании (https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-api-inspector) и столкнулся с проблемой при попытке найти Идентификатор ресурса API.

Рассматриваемый API взят из API демонстрационной конференции Microsoft, который был импортирован, и API, которые я работаю правильно. Для этого вопроса в качестве примера я выберу API GetSpeakers.

Я выполнил инструкции, чтобы сделать POST-вызов из Postman к следующему API:

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05- 01-превью

Я принял следующие значения:

subscribeId = идентификатор, взятый из раздела подписок, однозначно идентифицирующий подписку.

resourcesGroupName = текстовое имя группы ресурсов, содержащей APIM, например. мой-рг

serviceName = имя в тексте APIM, например. мой-APIM-тест

Я установил токен доступа в Postman на вкладке «Авторизация», тип аутентификации = предъявитель и вставил токен доступа в поле «Токен». Я добавил ключ подписки в заголовок под именем ocp-apim-subscription-key.

Я добавил тело, как подробно описано в уроке:

{ "credentialsExpireAfter": "PT1H", "apiId": "", "цели": ["отслеживание"] }

Я заметил опечатку на сайте и добавил двойные речевые знаки вокруг значения PT1H.

Моя проблема заключается в поиске идентификатора ресурса API для GetSpeakers (из API демонстрационной конференции).

URL-адрес запроса имеет формат:

https://my-apim-test.azure-api.net/conference-test/speakers

Я попытался ввести следующие значения для идентификатора ресурса API:

  • "https://my-apim-test.azure-api.net/conference-test/speakers"

  • "my-apim-test.azure-api.net/conference-test/speakers"

  • "/конференция-тест/спикеры"

  • "конференция-тест/спикеры"

  • "динамики"... были бы в шоке, если бы это сработало!

На все вышеперечисленное я получаю один и тот же ответ:

{
    "error": {
        "code": "ValidationError",
        "message": "One or more fields contain incorrect values:",
        "details": [
            {
                "code": "ValidationError",
                "target": "apiId",
                "message": "Invalid field 'apiId' specified"
            }
        ]
    }
}

Кто-нибудь знает, что подразумевается под идентификатором ресурса API и как его увидеть на портале?

Спасибо.

Нашел пример APIId на сайте Microsoft: "apiId": "/subscriptions/00000000-0000-0000-0000-000000000000/resource‌​eGroups/rg1/provider‌​s/Microsoft.ApiManag‌​ement/service/apimSe‌​rvice1/apis/ a1" Я подставил туда свои значения, но не знаю, чем заменить apis/a1. Я пробовал: ".../my-apim-test/apis/conference-test/speakers" ".../my-apim-test/apis/conference-test" ".../my-apim- test/conference-test/speakers" ".../my-apim-test/conference-test" Ничего не работает.

Dee 29.08.2024 19:59
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете получить APIId API либо с помощью Apis — List By Service Rest API, либо включив трассировку в экземпляре APIM.

Получите его с помощью Rest API-

Включив трассировку-

Я использовал тот же APIId в Шлюз — список учетных данных отладки, чтобы получить токен трассировки.

Огромное спасибо! Я проверил все, как вы сказали, и это сработало.

Dee 30.08.2024 12:04

Другие вопросы по теме