安装创收服务

适用于私有云的 Edge v. 4.16.05

Monetization Services 是对 Apigee Edge 的扩展,因此它并非独立运行 过程。它在任何现有的 Apigee Edge 设置中运行。

创收要求

  • 如果您要在使用多个管理服务器的边缘拓扑上安装创收功能,请执行以下操作: 节点(例如 13 节点安装),则必须同时安装两个边缘管理服务器节点 然后再安装创收功能
  • 如需在 Edge 上安装创收功能(Edge 安装有多个 Postgres 节点),必须将 Postgres 节点配置为主/备用模式。你无法安装创收功能 如果您有多个 Postgres 主节点,则使用 Edge。有关详情,请参阅为 Postgres

安装概览

以下步骤说明了如何在现有的 Apigee Edge 安装中添加创收服务:

  • 使用 apigee-setup 实用程序更新 Apigee 管理服务器节点,以启用创收服务,例如目录管理、限制和通知配置、结算和报告。

    如果您有多个管理服务器节点(例如 13 节点安装),则必须先安装两个边缘管理服务器节点,然后才能安装创收功能。
  • 使用 apigee-setup 实用程序更新 Apigee 消息处理器,以启用 变现服务,例如交易记录政策和限制违规处置。如果您 如果有多个消息处理器,请为它们都安装创收功能。
  • 为 Edge 组织执行创收新手入门流程。
  • 配置开发者服务门户以支持创收。如需了解详情,请参阅 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

创建一个静默配置文件 变现

下面显示了一个变现安装的静默配置文件示例。根据您的配置,根据需要修改此文件。使用 -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
注意
  • 如果您的 Edge 配置文件未指定 SMTP 信息,请添加此信息。若要变现,您需要使用 SMTP 服务器。
  • 在单个数据中心安装中,所有 ZooKeeper 节点默认配置为 领导人。在多个数据中心安装 Edge 时,一些 ZooKeeper 节点 配置为观察者。确保上面的 ZK_HOSTS 属性在 多数据中心安装
  • 如果您启用了 Cassandra 身份验证,则可将 Cassandra 用户名和密码 使用以下属性:
    CASS_USERNAME
    CASS_PASSWORD

将创收服务与所有管理服务器集成

请按照以下步骤在管理服务器节点上集成创收功能。

  1. 如果您要在使用多个管理服务器节点(例如 13 个节点的安装)的 Edge 拓扑上安装创收功能,请确保先安装两个管理服务器节点,然后再安装创收功能。
  2. 在管理服务器节点上,运行设置脚本:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    “-p mo”选项指定集成创收功能。

    配置文件必须可供“apigee”用户访问或读取。例如,将文件放在节点上的 /tmp 目录中。
  3. 如果您要在多个管理服务器节点上安装创收功能,请在以下位置重复第 2 步: 第二个管理服务器节点。

配置成功后,系统会在 PostgreSQL 数据库中创建适用于创收服务的 RDBMS 架构。至此,即可完成创收服务及其关联组件与 Postgres 服务器的集成。

集成变现服务 所有消息处理器

按照以下步骤将创收功能集成到所有消息处理器中 节点。

  1. 在第一个消息处理器节点的命令提示符中,运行设置脚本:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    “-p mo”选项用于指定集成变现。

    配置文件必须可供“apigee”用户访问或读取。例如,将文件放在节点上的 /tmp 目录中。
  2. 对所有消息处理器节点重复此过程。

配置成功后,消息处理器会更新为使用变现服务。这完成了变现服务及其关联组件与消息处理器的集成。

创收初始配置

如需创建已启用创收功能的新组织,请先创建以下组织: 和任何新组织做的一样如需了解详情,请参阅为组织设置新用户

为组织启用创收功能的额外初始配置

要完成组织的创收新手入门流程,您必须:

  1. 创建获利组:mxgroup
  2. 将 Qpid 添加到群组。
  3. 为组织启用创收功能。
  4. 为组织启用通知设置。
  5. 为您要为其启用创收功能的所有组织重复此流程。

您可以使用 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_HOSTSREGION 设置为 安装创收功能时使用的设备
  • 如果您要在多个数据中心配置中启用创收功能,请执行以下操作:
    • 您必须在每个数据中心的管理服务器上重复初始配置流程。
    • 配置文件应仅列出 配置。

如需运行该脚本,请执行以下操作:

  1. 调用脚本:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    配置文件必须可供“apigee”用户访问或读取。例如,将 /tmp 目录中的文件 节点上

    如果您有多个管理服务器,只需在其中一个上运行此脚本。

    此脚本从 Cassandra 复制组织、产品、开发者和应用 数据库到获利 PostgreSQL 数据库。成功安装创收服务后,系统会自动同步数据。
  2. 针对您要启用创收功能的每个组织重复此过程。
  3. 如果您使用的是多数据中心环境,请在另一个数据中心的管理服务器上重复此过程。确保配置文件仅列出 正在配置一个数据中心。

下次登录 Edge 界面时,您会在以下平台的顶级菜单中看到“创收”条目: 组织:

配置开发者 服务门户

如需配置开发者服务门户以支持创收,请参阅 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal

添加管理服务器节点 到安装创收功能

如果您在现有 Edge 安装中添加管理服务器,则必须确保将管理服务器添加到 创收服务到新的管理服务器,并配置所有管理服务器, 进行通信

如需添加管理服务器,请执行以下操作:

  1. 安装新的管理服务器。
  2. 管理服务器上安装创收功能。
  3. 原始管理服务器上,调用以下内容:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. 重启原始管理服务器:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart
  5. 管理服务器上,调用以下内容:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. 重启的管理服务器:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

其他配置

以以下身份提供结算凭证: PDF 文件

创收功能会以 HTML 格式向最终用户显示结算文档。为了提供结算服务 文档,您可以将创收功能与提供 PDF 文件的结算系统集成 生成或获得许可的第三方 PDF 库。

配置组织 设置

后端设置:下表列出了组织级属性 来配置 Mint 组织。您可以使用 PUT 调用来添加/更新这些 属性,如下所示:

> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

例如,上述 C网址 命令的输出将如下所示:

{
...
    "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

IS 组的组织方式(默认值为 false)

MINT_HAS_BROKER

已损坏(默认值为 false)

MINT_TIMEZONE

时区(默认为 null)

MINT_TAX_ENGINE_EXTERNAL_ID

税务引擎 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

指示是否应该发出净月结对账单(默认值为 false)

MINT_NETTING_STMT_PER_CURRENCY

指明是否应按币种生成净收入对账单(默认值为 false)

MINT_HAS_SELF_BILLING

指明组织是否采用自行结算的方式(默认值为 false)

MINT_SELF_BILLING_FOR_ALL_DEV

指示组织是否为所有开发者启用了自行结算功能(默认为 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 调用。此政策会检查业务限制,并在有任何超出限制时引发错误 配置的值。这是引发故障政策的扩展,但条件由 与业务变量相关联。

管理界面中提供了一个面向代理开发者的界面模板。代理开发者应在消息流中附加 mint 政策。执行此政策后,错误将引发 并将根据策略返回故障响应如果 ContinueOnError 设置为 true,则故障 不会被引发,且流变量“mint.limitsViolated”、“mint.isDeveloperSuspend”和“mint.limitsPolicyError”设置变量 可在必要时进一步处理异常。