Edge for Private Cloud версии 4.17.05
Monetization Services – это расширение для Apigee Edge, поэтому оно не работает как отдельный процесс. Он работает в любой существующей конфигурации Apigee Edge.
Требования к монетизации
- Если вы устанавливаете Монетизацию в топологии Edge, в которой используется несколько узлов сервера управления, например в установке с 13 узлами, то перед установкой Монетизации необходимо установить оба узла сервера управления Edge.
- Чтобы установить Monetization в Edge, где в установке Edge есть несколько узлов Postgres, узлы Postgres должны быть настроены в режиме Master/Standby. Вы не можете установить Monetization on Edge, если у вас несколько главных узлов Postgres. Подробнее о том, как настроить репликацию Master-Standby для Postgres…
Общие сведения об установке
Чтобы добавить сервисы монетизации в существующую установку Apigee Edge, выполните следующие действия:
- Используйте утилиту apigee-setup, чтобы обновить узел сервера управления Apigee и включить сервисы монетизации, например управление каталогом, настройку лимитов и уведомлений, выставление счетов и отчетность.
Если у вас несколько узлов Management Server, например в топологии с 13 узлами, то перед установкой Monetization необходимо установить оба узла Edge Management Server. - Используйте утилиту apigee-setup, чтобы обновить Apigee Message Processor и включить компоненты среды выполнения Monetization Services, например правила записи транзакций и применение ограничений. Если у вас несколько Message Processor, установите Монетизацию на все.
- Выполните процесс адаптации монетизации для своих организаций Edge.
- Настройте портал Developer Services для поддержки монетизации. Подробную информацию можно найти на странице http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.
Создание файла конфигурации для автоматической установки Monetization
Ниже приведен пример файла конфигурации для автоматической установки Monetization. При необходимости измените этот файл в соответствии с вашей конфигурацией. Чтобы включить этот файл, используйте параметр -f для setup.sh.
Примечание. Обычно эти свойства добавляются в тот же файл конфигурации, который использовался для установки Edge, как описано в разделе Установка компонентов Edge на узел.
# Edge configuration properties # Specify IP address or DNS name of node. IP1=192.168.1.1 # Management Server, OpenLDAP, UI, ZooKeeper, Cassandra IP2=192.168.1.2 # ZooKeeper, Cassandra IP3=192.168.1.3 # ZooKeeper, Cassandra IP4=192.168.1.4 # Router, Message Processor IP5=192.168.1.5 # Router, Message Processor IP6=192.168.1.6 # Qpid IP7=192.168.1.7 # Qpid IP8=192.168.1.8 # Postgres IP9=192.168.1.9 # Postgres # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Edge sys admin credentials ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Specify the Management Server port. APIGEE_PORT_HTTP_MS=8080 # # Monetization configuration properties. # # Postgres credentials from Edge installation. PG_USER=apigee # Default from Edge installation PG_PWD=postgres # Default from Edge installation # Specify Postgres server. MO_PG_HOST="$IP8" # Only specify one Postgres node. # Create a Postgres user for Monetization. # Default username is "postgre". # If you specify a different user, that user must already exist. MO_PG_USER=postgre MO_PG_PASSWD=moUserPWord # Specify one ZooKeeper host. # Ensure this is a ZooKeeper leader node in a multi-datacenter environment. ZK_HOSTS="$IP2" # Specify Cassandra information. # Ensure CASS_HOSTS is set to the same value as when you installed Edge. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Default is "Apigee", unless it was changed during Edge install. CASS_CLUSTERNAME=Apigee # Cassandra uname/pword required only if you enabled Cassandra authentication. # CASS_USERNAME= # CASS_PASSWORD= # Specify the region. # Default is dc-1 unless you are in a multi-datacenter environment. REGION=dc-1 # If your Edge config file did not specify SMTP information, add it. # Monetization requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
- Если в файле конфигурации Edge не указана информация об SMTP, добавьте ее. Для монетизации требуется SMTP-сервер.
- В установке с одним центром обработки данных все узлы ZooKeeper по умолчанию настроены как лидеры. При установке Edge в нескольких центрах обработки данных некоторые узлы ZooKeeper будут настроены как наблюдатели. Убедитесь, что свойство ZK_HOSTS выше указывает на ведущий узел в установке с несколькими центрами обработки данных.
- Если вы включите аутентификацию Cassandra, то сможете передавать имя пользователя и пароль Cassandra с помощью следующих свойств:
CASS_USERNAME
CASS_PASSWORD
Интегрируйте сервисы монетизации со всеми серверами управления
Чтобы интегрировать монетизацию на узлах сервера управления, выполните следующие действия:
- Если вы устанавливаете Монетизацию в топологии Edge, в которой используется несколько узлов сервера управления, например в установке с 13 узлами, то перед установкой Монетизации убедитесь, что вы установили оба узла сервера управления.
- На узле Management Server запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Параметр -p mo указывает на необходимость интеграции монетизации.
Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee. - Если вы устанавливаете Монетизацию на нескольких узлах сервера управления, повторите шаг 2 на втором узле сервера управления.
После успешной настройки в базе данных PostgreSQL создается схема RDBMS для сервисов монетизации. На этом интеграция сервисов монетизации и связанных с ними компонентов с сервером Postgres завершена.
Интегрируйте сервисы монетизации со всеми процессорами сообщений
Чтобы интегрировать монетизацию на всех узлах Message Processor, выполните следующие действия:
- На первом узле Message Processor в командной строке запустите скрипт настройки:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
Параметр -p mo указывает на интеграцию Монетизации.
Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee. - Повторите эту процедуру на всех узлах Message Processor.
После успешной настройки Message Processor обновляется с помощью Monetization Services. На этом интеграция сервисов монетизации и связанных с ними компонентов с Message Processor завершена.
Регистрация в программе монетизации
Чтобы создать новую организацию с включенной монетизацией, сначала создайте организацию, как вы бы сделали это для любой новой организации. Подробнее о том, как зарегистрировать организацию…
Дополнительная регистрация для включения монетизации в организации
Чтобы завершить настройку монетизации для организации, выполните следующие действия:
- Создайте группу монетизации mxgroup.
- Добавьте Qpid в группу.
- Включите монетизацию для организации.
- Включите настройки уведомлений для организации.
- Повторите этот процесс для всех организаций, в которых вы хотите включить монетизацию.
Для выполнения всех этих задач используйте команду enable-monetization. Для работы скрипта требуется файл конфигурации со следующими свойствами:
MSIP=IPorDNSofManagementServer APIGEE_PORT_HTTP_MS=8080 # Default is 8080. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=yourPassword # If omitted, you are prompted for it. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Space-separated list IP/DNS names of all Qpid nodes in the data center being configured. QPID_HOST="$IP6 $IP7" QPID_PORT=8083 # Default is 8083. REGION=dc-1 ORG_NAME=myorg # The Edge org where you want to enable monetization. MX_GROUP=mxgroup # Default Monetization group.
Примечания
- Задайте для CASS_HOSTS и REGION те же значения, которые вы использовали при установке Monetization.
- Если вы включаете Монетизацию в конфигурации с несколькими центрами обработки данных:
- Процесс регистрации необходимо повторить на сервере управления в каждом центре обработки данных.
- В файле конфигурации должны быть перечислены только узлы Qpid в настраиваемом центре обработки данных.
Чтобы запустить скрипт, выполните следующие действия:
- Вызовите скрипт:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile
Файл конфигурации должен быть доступен или доступен для чтения пользователю apigee.
Если у вас несколько серверов управления, скрипт нужно запустить только на одном из них.
Этот скрипт копирует организации, продукты, разработчиков и приложения из базы данных Cassandra в базу данных PostgreSQL, используемую для монетизации. После успешной установки сервисов монетизации данные синхронизируются автоматически. - Повторите эту процедуру для каждой организации, в которой вы хотите включить монетизацию.
- Если у вас несколько центров обработки данных, повторите эту процедуру на сервере управления в другом центре. Убедитесь, что в файле конфигурации перечислены только узлы Qpid в настраиваемом центре обработки данных.
При следующем входе в интерфейс Edge вы увидите пункт "Монетизация" в меню верхнего уровня для организации:

Настройте портал Developer Services
Инструкции по настройке портала Developer Services для поддержки монетизации можно найти на странице http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.
Добавление узла сервера управления в установку монетизации
Если вы добавляете сервер управления в существующую установку Edge, убедитесь, что вы добавили сервисы монетизации на новый сервер управления и настроили все серверы управления так, чтобы они могли взаимодействовать.
Чтобы добавить сервер управления, выполните следующие действия:
- Установите новый сервер управления.
- Установите Монетизацию на новый сервер управления.
- На исходном сервере управления вызовите следующую команду:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - Перезапустите исходный сервер управления:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - На новом сервере управления вызовите следующую команду:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - Перезапустите новый сервер управления:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Дополнительная конфигурация
Предоставлять платежные документы в формате PDF
Монетизация отображает платежные документы конечным пользователям в формате HTML. Чтобы предоставлять платежные документы в формате PDF, вы можете интегрировать Монетизацию с платежной системой, которая поддерживает создание PDF-файлов, или приобрести лицензию на поддерживаемую стороннюю библиотеку PDF.
Настроить параметры организации
Настройки бэкенда. В таблице ниже перечислены атрибуты уровня организации, которые можно использовать для настройки организации Mint. Чтобы добавить или обновить эти атрибуты, можно использовать вызов PUT, как показано ниже.
> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT
Например, вывод приведенной выше команды CURL будет выглядеть примерно так:
{
...
"displayName": "Orgnization name",
"name": "org4",
"properties": {
"property": [
...
{
"name": "MINT_CURRENCY",
"value": "USD"
},
{
"name": "MINT_COUNTRY",
"value": "US"
},
{
"name": "MINT_TIMEZONE",
"value": "GMT"
}
]
}
}|
Атрибуты |
Описание |
|---|---|
|
MINT_TAX_MODEL |
Допустимые значения: DISCLOSED, UNDISCLOSED, HYBRID (по умолчанию – null) |
|
MINT_CURRENCY |
Код валюты по стандарту ISO (по умолчанию – null). |
|
MINT_TAX_NEXUS |
Налоговая связь (по умолчанию – null) |
|
MINT_DEFAULT_PROD_TAX_CATEGORY |
Категория налогообложения товара по умолчанию (по умолчанию – null) |
|
MINT_IS_GROUP_ORG |
Является ли группа организацией (по умолчанию – false) |
|
MINT_HAS_BROKER |
Has broken (значение по умолчанию – false) |
|
MINT_TIMEZONE |
Часовой пояс (по умолчанию – null) |
|
MINT_TAX_ENGINE_EXTERNAL_ID |
Идентификатор налогового механизма (по умолчанию – null) |
|
MINT_COUNTRY |
Страна организации (по умолчанию – null) |
|
MINT_REG_NO |
Регистрационный номер организации. В Великобритании он отличается от идентификационного номера налогоплательщика. По умолчанию значение равно null. |
|
MINT_BILLING_CYCLE_TYPE |
PRORATED, CALENDAR_MONTH (по умолчанию – CALENDAR_MONTH) |
|
MINT_SUPPORTED_BILLING_TYPE |
PREPAID/POSTPAID/BOTH (по умолчанию – PREPAID) |
|
MINT_IS_SEPARATE_INV_FOR_FEES |
Указывает, нужно ли создавать отдельный счет на оплату комиссии (по умолчанию – false). |
|
MINT_ISSUE_NETTING_STMT |
Указывает, нужно ли выставлять выписку о взаимозачете (по умолчанию – нет). |
|
MINT_NETTING_STMT_PER_CURRENCY |
Указывает, нужно ли создавать выписку о взаимозачете для каждой валюты (по умолчанию – false). |
|
MINT_HAS_SELF_BILLING |
Указывает, есть ли у организации самовыставление счетов (по умолчанию – false). |
|
MINT_SELF_BILLING_FOR_ALL_DEV |
Указывает, включено ли в организации выставление счетов за использование API для всех разработчиков(по умолчанию – false). |
|
MINT_HAS_SEPARATE_INV_FOR_PROD |
Указывает, есть ли у организации отдельный счет на каждый продукт (по умолчанию – false). |
|
MINT_HAS_BILLING_ADJUSTMENT |
Указывает, поддерживает ли организация корректирующие проводки (по умолчанию – false). |
|
features.isMonetizationEnabled |
Используется в интерфейсе управления для показа меню монетизации (по умолчанию – false). |
|
ui.config.isOperator |
Используется в интерфейсе управления, чтобы показывать поставщика как оператора или организацию. (по умолчанию – true) |
Инструкции по настройке параметров организации с помощью интерфейса управления приведены на странице http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.
Примечание. Если вы используете функции "Лимиты" и "Уведомления" в сервисах монетизации, попросите разработчиков добавить правило ограничения в поток прокси-сервера после правила проверки токена доступа.
Правило ограничения – это явное правило, предназначенное для блокировки вызова API при достижении определенного лимита. Правило проверяет бизнес-ограничения и выдает ошибку, если какие-либо ограничения превышают настроенное значение. Это расширение правила RaiseFault, но условия выводятся из бизнес-переменных.
В интерфейсе управления для разработчиков прокси-серверов доступен шаблон интерфейса. Разработчик прокси-сервера должен прикрепить правило mint в поток сообщений. При выполнении этого правила будет выдана ошибка с ответом об ошибке в соответствии с правилом. Если для параметра ContinueOnError задано значение true, ошибка не будет вызвана, а переменные потока mint.limitsViolated, mint.isDeveloperSuspended и mint.limitsPolicyError будут заданы и могут использоваться для дальнейшей обработки исключений, если это необходимо.