安装创收服务

Edge for Private Cloud v. 4.16.05

变现服务是 Apigee Edge 的扩展,因此并非作为独立进程运行。它在任何现有的 Apigee Edge 设置中运行。

创收要求

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

安装概览

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

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

    如果您有多个 Management Server 节点(例如,安装了一个 13 个节点),则必须同时安装两个边缘管理服务器节点,然后才能安装 Monetization 功能。
  • 使用 apigee-setup 实用程序更新 Apigee 消息处理器,以启用变现服务的运行时组件,例如交易记录政策和限制强制执行。如果您有多个消息处理器,请在所有消息处理器上都安装创收功能。
  • 为您的边缘组织执行变现新手入门流程。
  • 配置开发者服务门户以支持创收。如需了解详情,请参阅 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

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

请按照以下步骤在 Management Server 节点上集成创收功能。

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

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

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

成功配置后,系统会在 PostgreSQL 数据库中为变现服务创建 RDBMS 架构。这样,变现服务及其相关组件与 Postgres Server 的集成就完成了。

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

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

  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 设置为您安装创收功能时使用的值。
  • 如果要在多个数据中心配置中启用获利功能:
    • 您必须在每个数据中心的管理服务器上重复初始配置流程。
    • 配置文件应仅列出正在配置的数据中心中的 Qpid 节点。

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

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

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

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

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

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

配置开发者服务门户

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

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

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

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

  1. 安装新的 Management Server。
  2. 新的管理服务器上安装获利功能。
  3. 原始管理服务器上,调用以下代码:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-mint-management-server mint-configure-mgmt-cluster
  4. 重启原始管理服务器:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-management-server 重启
  5. 新的管理服务器上,调用以下代码:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-mint-management-server mint-configure-mgmt-cluster
  6. 重启新的管理服务器:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-management-server 重启

其他配置

以 PDF 文件的形式提供结算凭证

创收功能会以 HTML 格式向最终用户显示结算凭证。如需以 PDF 文件提供结算单据,您可以将创收功能与提供 PDF 生成或许可受支持的第三方 PDF 库的结算系统集成。

配置组织设置

后端设置:下表列出了可用于配置铸造组织的组织级属性。您可以使用 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.isDeveloper suspended”和“mint.limitsPolicyError”变量,在需要时可用于进一步的异常处理。