Управление версиями URI шлюза API - PullRequest
2 голосов
/ 06 августа 2020

Я продолжаю видеть комментарии о том, как управлять версиями URI в API Gateway, и все они говорят об одном и том же:

Не создавайте путь к версии (/ v1) в качестве ресурса в вашем API . Вместо этого просто назовите API «Names V1» и начните создавать ресурсы (/ names). Если вы хотите внести критические изменения и создать новую версию API, мы рекомендуем вам создать совершенно новый API под названием «Names V2». Еще раз, просто создайте свои ресурсы без пути к версии.

Чтобы объединить два API, вы можете использовать собственные доменные имена. Имя личного домена в API Gateway включает как полное доменное имя, так и базовый путь. Создайте два пользовательских имени домена:

myapi.com / v1 -> указывает на этап prod API Names V1

myapi.com / v2 -> указывает на этап prod API имен V2

Однако, когда вы пытаетесь создать собственное доменное имя с «/» в нем, API-шлюз отвечает «Invalid Domain Name ". Поэтому, если вы попытаетесь сделать это на сопоставлении, вы получите что-то похожее с упоминанием специальных символов, которые вы можете использовать, и «/» не является одним из них. Таким образом, ваш единственный вариант - использовать переменные Stage, которые в этих сообщениях упоминают о проблемах, связанных с этим.

Кроме того, если вы просто сделаете это "v1" без sla sh, тогда мы не сможем иметь собственный домен, например api.whatever.com. Затем задает индивидуальный домен c для области API, для которой необходимо управлять версиями. Ex. "store.whatever.com". Это приводит к тому, что каждый API имеет свой собственный субдомен.

Управление версиями на основе URI для AWS API-шлюз Управление версиями API с AWS API-шлюз

Извините, что задаю новый вопрос, но мне не разрешено добавлять комментарии к сообщениям.

Сопоставление настраиваемого доменного имени шлюза API

1 Ответ

0 голосов
/ 18 августа 2020

Я не уверен, что понимаю запрос здесь, позвольте мне попытаться уточнить. Когда запрос поступает на ваше личное доменное имя api.whatever.com, API-шлюз должен определить, куда отправить запрос. API Gateway посмотрит на путь, а затем определит, есть ли какие-либо сопоставления API: STAGE для этого пути. Вы можете настроить отображение пустого базового пути для пользовательского доменного имени, но тогда все запросы без пути к этому пользовательскому доменному имени будут перенаправлены на сопоставление API: STAGE. Похоже, вы пытаетесь перенаправить запросы на api.whatever.com или stores.whatever.com, вы можете сделать это с двумя пользовательскими доменными именами, каждое из которых имеет собственное отображение пустого базового пути. Например:

Пользовательское имя домена1: api.whatever.com

  • api-id: 12345
  • stage: Live
  • api-mapping-key : NULL

Пользовательское имя домена2: stores.whatever.com

  • api-id: 67890
  • stage: Бета
  • api-mapping-key: NULL

Ваши клиенты должны будут указать правильное доменное имя при вызове ваших API.

...