Вы можете вызывать API, открытые другими в APIG.
Ограничения
- API можно вызвать 1000 раз, используя отладочное доменное имя, выделенное при создании группы API.
- Если CA параметр настроен в Создать SSL сертификат в диалоговом окне Управление API > Политики API > SSL сертификаты странице консоли APIG, обратите внимание на следующие ограничения при вызове API:
- При вызове API с HTTP/1.0 не используйте Transfer-Encoding в заголовке запроса.
- Не используйте метод CONNECT.
- Не используйте оба Content-Length и Transfer-Encoding в заголовке запроса.
- Не используйте пробелы или управляющие символы в строке запроса.
- Не используйте пробелы или управляющие символы в имени заголовка.
- Не используйте пробелы или управляющие символы в Host заголовке запроса.
- Не используйте несколько Host параметров в заголовке запроса.
Требования
Прежде чем вызывать API, убедитесь, что сеть вашей сервисной системы может связываться с доменным именем или адресом доступа к API.
- Если сервисная система и шлюз находятся в одном VPC, API можно напрямую вызвать.
- Если система сервиса и шлюз находятся в разных VPC региона, соедините их с помощью peering connection. Для получения подробностей см. раздел "VPC Peering Connection" в Virtual Private Cloud User Guide.
- Если система сервиса и шлюз находятся в разных VPC разных регионов, создайте cloud connection и загрузите два VPC для их соединения. Для получения подробностей см. раздел "Connecting VPCs in Different Regions" в Cloud Connect Getting Started.
- Если система сервиса и шлюз соединены через общедоступную сеть, убедитесь, что к шлюзу привязан EIP.
Получение информации о вызове API
Получите информацию о вызове API у провайдера API перед тем как вызвать API.
- Получите информацию о запросе API
В консоли APIG выберите Управление API > API. На APIs страница, получайте доменное имя, метод запроса и путь запроса требуемого API. Нажмите название API, чтобы перейти к APIs вкладка, и получайте основную информацию в Конфигурация Frontend and Конфигурация Backend области.
- Получите информацию аутентификации API
Получите информацию аутентификации запроса в соответствии с режимом аутентификации API.
Режим аутентификации
Информация аутентификации
App (подпись)
Получите ключ и секрет учетных данных, уполномоченных для API, у поставщика API, а также SDK для подписи.
App (простая аутентификация)
Получите AppCode учетных данных, уполномоченных для API, у поставщика API.
App (двухфакторная)
Получите информацию, необходимую как для app, так и для custom аутентификации.
Приложение (app_secret)
Получите ключ и секрет учетных данных, авторизованных для API, у поставщика API.
Приложение (app_basic)
Получите ключ и секрет учетных данных, авторизованных для API, у поставщика API.
IAM (token)
Получите имя пользователя и пароль для облачной платформы.
IAM (AK/SK)
Получите AK/SK учетной записи для облачной платформы и SDK подписи.
IAM (two-factor)
Получите информацию, необходимую как для IAM, так и для custom аутентификации
Custom
Получите информацию о custom аутентификации для передачи в параметрах запроса от поставщика API.
None
Не требуется информация об аутентификации.
Сторонний авторизатор (API policy)
Получите информацию о стороннем авторизаторе для передачи в параметрах запроса от поставщика API.
- Ключ учётных данных и секрет
Если используется аутентификация App, выберите Управление API > Учётные данные в консоли APIG. Нажмите название учётных данных, уполномоченных для целевого API, и получите ключ и секрет на странице деталей учётных данных.
- Ключ: access key ID приложения, который является уникальным идентификатором, используемым совместно с secret access key для криптографической подписи запросов.
- Секрет: secret access key, используемый совместно с AppKey для подписи запросов. AppKey и AppSecret могут совместно использоваться для идентификации отправителя запроса, чтобы предотвратить его изменение.
- SDK подписи
Если используется аутентификация App (подпись) или IAM (AK/SK), войдите в консоль APIG, выберите Центр справки, и скачайте SDK соответствующего языка на Использование SDK вкладка.
- AppCode
Если используется подпись App (signature) или аутентификация IAM (AK/SK), выберите Управление API > Учетные данные в консоли APIG. Нажмите название учетных данных, уполномоченных для целевого API, и получите AppCode в AppCodes область страницы сведений об учетных данных.
Вызов API
В этом разделе описывается только настройка пути запроса и параметров аутентификации. Для других параметров, таких как тайм-аут и SSL, настройте их по мере необходимости. Чтобы избежать потери сервиса из‑за неверных параметров, настройте их, ориентируясь на отраслевые стандарты.
Вызов API поддерживает постоянные соединения. Однако следует использовать постоянные соединения правильно, чтобы не занимать слишком много ресурсов.
- Сформируйте запрос API. Пример:POST https://{Address}/{Path}?{Query}{Header}{{Body}}
- POST: метод запроса. Замените его методом запроса, полученным в Получение информации о вызове API.
- {Address}: адрес запроса. Замените его именем домена, полученным в Получение информации о вызове API.
Сценарий
Конфигурация параметров запроса
Вызов API с именем домена
Вызовите API, используя отладочное имя домена, выделенное группе API, или имя домена, привязанное к группе. Дополнительная конфигурация не требуется.
Вызов API в DEFAULT группе с IP-адресом
Вызовите API в DEFAULT группе с IP-адресом. Дополнительная конфигурация не требуется.
Вызов API в пользовательской группе с IP-адресом
- Чтобы использовать IP-адрес для вызова API, использующего аутентификацию приложений в группе, отличной от DEFAULT,
- Установить параметры конфигурации app_route и app_secret шлюза к В. После app_route включён, учетные данные не могут быть авторизованы для API, использующих одинаковый путь запроса и метод.
- Добавить параметры заголовка X-HW-ID и X-HW-APPKEY и установить их в ключ и секрет учетных данных, авторизованных для API.
ПРИМЕЧАНИЕ:При вызове API через простую аутентификацию (App authentication), вам нужно только добавить параметры заголовка X-Apig-AppCode и host к запросу.
- Чтобы использовать IP‑адрес для вызова API, которое не использует app authentication в группе, не являющейся DEFAULT, добавьте параметр заголовка host.
- Чтобы использовать IP-адрес для вызова API, использующего аутентификацию приложений в группе, отличной от DEFAULT,
- {Path}: путь запроса. Замените его путём запроса, полученным в Получение информации о вызове API.
- {Query}: (optional) строка запроса в формате "Parameter_name=Parameter_value", например, limit=10. Разделяйте несколько строк запроса амперсандами (&). Для получения подробностей см. параметры запроса, полученные в Получение информации о вызове API.
- {Header}: параметр заголовка запроса в формате "Parameter_name:Parameter_value", например, Content-Type:application/json. Для получения подробностей см. параметры запроса, полученные в Получение информации о вызове API.
- {Body}: тело запроса в формате JSON. Для получения подробностей см. описание тела запроса, полученное в Получение информации о вызове API.
- Добавьте информацию аутентификации в запрос API.
Режим аутентификации
Конфигурация параметров запроса
App (подпись)
Используйте SDK для подписи API‑запросов. Для получения дополнительных сведений см. раздел "Calling APIs Through App Authentication" в API Gateway Руководство разработчика.
App (простая аутентификация)
Добавьте заголовочный параметр X-Apig-AppCode и установите значение параметра в полученный AppCode Получение информации о вызове API. Для получения дополнительных сведений см Начало работы.
App (app_secret)
- Установите app_secret параметр на на Параметры вкладка шлюза для включения аутентификации app_secret.
- Добавьте параметр заголовка X-HW-ID и установите значение параметра в полученный ключ в Получение информации о вызовах API.
- Добавьте параметр заголовка X-HW-AppKey и установите значение параметра в полученный секрет в Получение информации о вызовах API.
Приложение (app_basic)
- Чтобы включить аутентификацию app_basic, убедитесь, что app_basic параметр установлен в на на Параметры вкладка шлюза.
- Добавьте заголовочный параметр Авторизация к запросу API. Значение "Basic "+base64(appkey+":"+appsecret). appkey и appsecret являются ключом и секретом, полученными в Получение информации о вызове API.
App (двухфакторный)
Добавьте информацию, необходимую как для app, так и для пользовательской аутентификации, в запрос API.
IAM (токен)
Получите токен с облачной платформы и добавьте заголовочный параметр X-Auth-Token с токеном в качестве значения. Подробности см. в разделе "Token Authentication" в Руководство разработчика API Gateway.
IAM (AK/SK)
Используйте полученный SDK для подписи API‑запроса. Подробности см. в разделе "AK/SK Authentication" в API Gateway Руководство разработчика.
IAM (двухфакторный)
Добавьте информацию как для IAM, так и для пользовательской аутентификации в API‑запрос.
Пользовательский
Добавьте информацию, необходимую для пользовательской аутентификации, в API‑запрос.
Нет
Информация об аутентификации не требуется.
Сторонний авторизатор (API policy)
Получите информацию о стороннем авторизаторе для передачи в параметрах запроса от поставщика API.