Переместите операцию управления API Azure в новый API - PullRequest
0 голосов
/ 20 марта 2019

Есть ли способ переместить операцию , определенную в Azure APIM, в API, отличный от того, в котором она была изначально определена? Я хотел бы реорганизовать некоторые операции в новые API без необходимости повторного создания операции в нужном месте. (Обратите внимание, что API еще не были опубликованы в производстве, так что это не будет серьезным изменением.) Я не вижу никакого способа добиться этого через пользовательский интерфейс APIM, и мне не очень повезло с поиском программный способ сделать это.

Например, используя изображение ниже, как мне переместить операцию POST Добавить адрес клиента из API управления клиентами в Prospect Customer API ?

enter image description here

1 Ответ

2 голосов
/ 21 марта 2019

Несмотря на то, что это не идеальное решение, библиотека PowerShell управления API * Azure RM *1001* помогла мне создать сценарий PowerShell, который дает мне большую часть того, что я хотел, но все же требует небольшого ручного труда.1004 * В PowerShell я создал array идентификаторов операций, которые я хочу переместить, а затем использовал комбинацию следующих функций в цикле for-each, чтобы «переместить» operations в нужный API:

  • Get-AzureRmApiManagementOperation - используется для чтения существующей операции.
  • New-AzureRmApiManagementOperation - используется для создания новой операции на основе существующей, созданной путем сопоставления результатов функции Get с этой новой функцией. Обратите внимание, что в поле Описание есть ограничение в 1000 символов.
  • Remove-AzureRmApiManagementOperation - Используется для удаления операции из старого расположения API. Я не рекомендую использовать это, если вы не уверены, что предыдущие шаги работали именно так, как вы хотите. Поскольку я столкнулся с проблемой, когда поле описания операции может быть только 1000 символов или меньше, я радЯ не удалил операцию из старого местоположения, потому что мне пришлось вручную скопировать / вставить описание в новое местоположение.

Хотя вышеуказанные функции помогут в копировании operations, policies внутри каждого operation копироваться не будет.Таким образом, следующие функции могут использоваться для обеспечения копирования policies:

  • Get-AzureRmApiManagementPolicy - используется для получения политики XML из операции в виде строки.
  • Set-AzureRmApiManagementPolicy - использовать строку политики, полученную из предыдущего вызова функции, для установки строки политики для вновь создаваемой операции.
...