В предыдущей версии API-менеджера, когда мы создавали API, файлы синапсов API записывались в Users/bilal/test/api-manager/wso2am-2.6.0/repository/deployment/server/synapse-configs/default/api
. Но в 410 есть только API по умолчанию, а файла синапса моего API нет. Но API можно вызвать без проблем. То же самое для последовательностей.
Мне нужно проверить и изменить примененное посредничество. Всегда изменять и загружать из издателя слишком много работы.
В последней версии API Manager вы не можете найти эти файлы, поскольку они не записаны в эти файлы. Эти данные хранятся в памяти.
Вы можете добавить следующую конфигурацию в файл deployment.toml, чтобы предоставить файлы из файловой системы.
[apim.sync_runtime_artifacts.gateway.skip_list]
apis = ["api1.xml","api2.xml"]
endpoints = ["endpoint1.xml"]
sequences = ["post_with_nobody.xml"]
local_entries = ["file.xml"]
Добавление к тому, что pubudu упомянул выше. Начиная с APIM 3.2.0, мы представили встроенный синхронизатор артефактов, который будет хранить в базе данных артефакты API, такие как определение синапса API, последовательности передачи и конечные точки. Затем он будет использовать события для распределения этих артефактов по шлюзам.
Раньше артефакты сохранялись в файловой системе, и если у вас было несколько узлов шлюза, синхронизаторы на основе файлов, такие как NFS, для развертывания этих артефактов в кластере шлюза приходилось использовать rsync.
Из-за этой новой архитектуры мы удалили артефакты, сохраняемые в файловой системе, и предоставили API отдыха шлюза, который вы можете использовать для просмотра развернутых артефактов или повторного развертывания артефактов в каждом шлюзе. Если вам нужно проверить развернутый артефакт, вы можете использовать этот API.
А начиная с APIM 4.1.0 мы изменили функцию политик посредничества на новую структуру политик API.
Если вам требуется изменить последовательность медитации вручную, вы все равно можете создать последовательность медитации, как вы создали для APIM 2.6.0, и использовать правильное соглашение об именах <API_NAME>:<VERSION>--<Direction>
(например: PizzaShackAPI:v1.0.0--In
) и добавить его в каталог последовательности. Это развернет политику в шлюзе и будет задействовано при вызове API. Однако, поскольку мы больше не храним артефакты в файловой системе, каждый перезапуск будет очищать эти каталоги и сохранять только файлы из белого списка. Вот где используются приведенные выше конфигурации pubudu, и вам нужно добавить имя вашей последовательности в эту конфигурацию в разделе последовательности.
Обратите внимание, что никогда не используйте эти файловые артефакты в своем производственном развертывании, а используйте их только для тестирования. Это связано с тем, что всякий раз, когда вы добавляете политику от издателя и развертываете ее в шлюзе, эта политика-посредник не развертывается, и этот файл развертывается. При запуске сервера это создаст непоследовательное поведение. поэтому я рекомендую вам использовать этот подход на этапе разработки последовательности, и как только он вас удовлетворит, используйте правильный подход и добавьте его в качестве политики API.
извинения. Исправлена проблема с именем. используйте имя как похожее на PizzaShackAPI:v1.0.0--In
Я создал файл с TESTAPI--.xml и добавил. но я не работал. Это имя правильное? Я пробовал TESTAPI--In.xml. Такой же.