安装创收服务

Edge for Private Cloud v. 4.17.05

创收服务是 Apigee Edge 的扩展程序,因此不会作为独立进程运行。它可在任何现有的 Apigee Edge 设置中运行。

变现要求

  • 如果您要在使用多个管理服务器节点的 Edge 拓扑(例如 13 节点安装)上安装创收功能,则必须先安装两个 Edge 管理服务器节点,然后再安装创收功能。
  • 如需在 Edge 安装具有多个 Postgres 节点的 Edge 上安装变现功能,必须在主/待机模式下配置 Postgres 节点。如果您有多个 Postgres 主节点,则无法在 Edge 上安装变现功能。如需了解详情,请参阅为 Postgres 设置主备复制。

安装概览

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

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

    如果您有多个管理服务器节点(例如 13 节点安装),则必须先安装两个 Edge 管理服务器节点,然后再安装创收功能。
  • 使用 apigee-setup 实用程序更新 Apigee 消息处理器,以启用创收服务的运行时组件,例如交易记录政策和限制强制执行。如果您有多个消息处理器,请在所有消息处理器上安装创收功能。
  • 为您的 Edge 组织执行 Monetization 初始配置流程。
  • 配置开发者服务门户以支持创收。如需了解详情,请参阅 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal。

为创收功能创建静默配置文件

下面显示了创收安装的静默配置文件示例。根据您的配置需要修改此文件。使用 setup.sh 的 -f 选项添加此文件。

注意:通常,您需要将这些属性添加到用于安装 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

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

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

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

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

    配置文件必须可供“apigee”用户访问或读取。
  3. 如果您要在多个管理服务器节点上安装变现功能,请在第二个管理服务器节点上重复第 2 步。

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

将创收服务与所有消息处理器集成

请按照以下步骤在所有消息处理器节点上集成变现功能。

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

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

    配置文件必须可供“apigee”用户访问或读取。
  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_HOSTS 和 REGION 设置为与安装创收功能时使用的值相同的值。
  • 如果您要在多数据中心配置中启用变现功能,请执行以下操作:
    • 您必须在每个数据中心的管理服务器上重复执行初始配置流程。
    • 配置文件应仅列出正在配置的数据中心内的 Qpid 节点。

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

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

    配置文件必须可供“apigee”用户访问或读取。

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

    此脚本会将组织、产品、开发者和应用从 Cassandra 数据库复制到创收 PostgreSQL 数据库。成功安装创收服务后,数据会自动同步。
  2. 针对要启用变现功能的每个组织重复此过程。
  3. 如果您处于多数据中心环境中,请在其他数据中心的 Management Server 上重复此过程。确保配置文件仅列出正在配置的数据中心内的 Qpid 节点。

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

配置开发者服务门户

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

向创收安装添加管理服务器节点

如果您向现有 Edge 安装添加 Management Server,则必须确保向新的 Management Server 添加变现服务,并配置所有 Management Server,以便它们可以进行通信。

如需添加 Management Server,请执行以下操作:

  1. 安装新 Management Server。
  2. 在新管理服务器上安装创收功能。
  3. 在原始 Management Server 上,调用以下命令:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. 重启原始 Management Server:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. 在新 Management Server 上,调用以下命令:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. 重启新 Management Server:
    > /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

税费引擎 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.isDeveloperSuspended”和“mint.limitsPolicyError”,这些变量可用于进一步的异常处理(如果需要)。