Шаг 3. Используйте правило ExtensionCallout

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

При разработке прокси-сервера API вы можете добавить поддержку расширения, добавив в прокси-сервер правило ExtensionCallout. (Если вам нужна помощь в создании простого прокси-сервера, ознакомьтесь со статьей Как создать первый прокси-сервер.)

Когда вы добавляете поддержку расширения, вы связываете правило ExtensionCallout с настроенным расширением. Настройки конфигурации расширения определяют, как оно взаимодействует с ресурсом на сервере, к которому подключается. Именно это специально настроенное расширение правило ExtensionCallout интегрирует в прокси-сервер API.

Чтобы добавить расширение в прокси-сервер API:

  1. Откройте прокси-сервер API в консоли Apigee Edge в режиме Разработка.

    Для создания расширения требуются права администратора организации, но добавить расширение в прокси-сервер API может пользователь с любой ролью.

  2. На панели Навигатор выберите PreFlow.

  3. В правом верхнем углу нажмите кнопку + Шаг, чтобы добавить правило.

  4. В диалоговом окне Добавить шаг в списке правил слева нажмите Выноска расширения.

    Если правила ExtensionCallout нет в списке, убедитесь, что вы используете новый интерфейс Edge. Кроме того, расширения Apigee в настоящее время доступны только клиентам Apigee Edge Cloud Enterprise.

  5. На панели справа выберите параметры для настройки правила:
    Поле Описание
    Отображаемое название Введите отображаемое название правила.
    Название Введите название, которое будет использоваться для правила программным способом. Он должен быть уникальным в прокси.
    Расширение Выберите расширение. Это расширение, которое вы настроили ранее.
    Действия Выберите действие "Запись в журнал".
  6. Нажмите Добавить.
  7. В представлении потока нажмите на правило, чтобы посмотреть его XML-конфигурацию.

    После установки расширения вы получите пример XML-файла с правилами. Обратите внимание, что в нем есть схема, описывающая, как структурировать конфигурацию для элемента <Input>. (Вы можете игнорировать схему элемента <Output>, поскольку действие расширения "log" не возвращает тело ответа.)

  8. Измените XML-файл правил, чтобы он выглядел следующим образом:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-Beta-1">
      <DisplayName>Logging Extension</DisplayName>
      <Connector>my-logging-extension</Connector>
      <Action>log</Action>
      <Input>{
        "logName": "example-log",
        "metadata": {
          "resource": {
            "type": "global",
            "labels": {
              "project_id": "my-gcp-project"
            }
          }
        },
        "message": "This is a test"
      }</Input>
    </ConnectorCallout><!--
    Input JSON Schema for package=gcp-stackdriver-logging version=0.0.4
    {"type":"object","properties":{"logName":{"type":"string"},"metadata":{"type":"string"},"message":{"type":"string"}},"required":["logName","message"]}
    -->
    <!--
    Output JSON Schema for package=gcp-stackdriver-logging version=0.0.4
    {"type":"object","properties":{"content":{"type":"string"}},"required":[]}
    -->

    <Input> определяет следующее:

    • logName – название журнала, в который нужно записать данные. Если его нет, расширение создаст его.
    • metadata – информация, которую можно использовать для поиска журнала в консоли Stackdriver.
    • message – это сообщение в журнале, которое вы хотите записать.
  9. Нажмите кнопку Сохранить.

Дальнейшие действия

Шаг 1 Шаг 2 Шаг 3 Шаг 4. Разверните прокси-сервер Шаг 5