安裝營利服務

營利服務是 Apigee Edge 的擴充功能,因此不會以獨立程序執行。這項工具可在任何現有的 Apigee Edge 設定中執行,但不包括 All-In-One (AIO) 設定。您無法在 AIO 設定中安裝營利服務。

營利規定

  • 如果您要在使用多個管理伺服器節點的 Edge 拓樸上安裝營利功能 (例如 13 個節點的安裝作業),則必須先安裝 Edge 管理伺服器節點,再安裝營利功能。
  • 如果 Edge 安裝項目有多個 Postgres 節點,如要在 Edge 上安裝營利,就必須在主要/待命模式下設定 Postgres 節點。如果您有多個 Postgres 主節點,就無法在 Edge 上安裝 Monetization。詳情請參閱「為 Postgres 設定主機-待命機器複寫」。
  • 營利設定不適用於全方位 (AIO) 設定。

安裝總覽

下列步驟說明如何在現有的 Apigee Edge 安裝項目上新增營利服務:

  • 使用 apigee-setup 公用程式更新 Apigee Management Server 節點,啟用營利服務,例如目錄管理、限制和通知設定、帳單和報表。

    如果您有多個管理伺服器節點 (例如 13 個節點安裝),則必須先安裝 Edge 管理伺服器節點,再安裝營利功能。

  • 請使用 apigee-setup 公用程式更新 Apigee 訊息處理器,啟用營利服務的執行階段元件,例如交易記錄政策和限制執行機制。如果您有多個訊息處理器,請在所有處理器上安裝營利功能。
  • 為 Edge 機構執行營利新手上路程序。
  • 設定 Apigee Developer Services 入口網站 (或簡稱入口網站),支援營利。詳情請參閱「在開發人員中心設定營利功能」。

建立營利功能的靜默設定檔

以下是營利安裝作業的靜默設定檔範例。視需要編輯這個檔案。如要加入這個檔案,請使用 -f 選項進行設定。

# 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.
# If your password uses special characters, wrap it in single quotes.
# 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 節點設為 voters。如果 ZooKeeper 節點數量為偶數,系統會將某些節點設為 observers。在偶數個資料中心中安裝 Edge 時,必須將部分 ZooKeeper 節點設為 observers,才能讓投票節點數量為奇數。在 ZooKeeper 領袖選舉期間,系統會選出一個投票節點做為 leader。請確認上述 ZK_HOSTS 資源指定了多個資料中心安裝作業中的領導節點。
  • 如果啟用 Cassandra 驗證功能,您可以使用下列屬性傳遞 Cassandra 使用者名稱和密碼:
    CASS_USERNAME
    CASS_PASSWORD

整合營利服務與所有管理伺服器

請按照下列程序在管理伺服器節點上整合營利功能。

  1. 如果要在使用多個管理伺服器節點 (例如安裝 13 個節點) 的 Edge 拓撲中安裝營利服務,請務必先安裝這兩個管理伺服器節點,再安裝營利服務。
  2. 在 Management Server 節點上執行設定指令碼:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo 選項會指定要整合營利功能。

    「apigee」使用者必須能存取或讀取設定檔。

  3. 如要在多個管理伺服器節點中安裝營利服務,請在第二個 Management Server 節點中重複執行步驟 2。

設定成功後,系統會在 PostgreSQL 資料庫中建立營利服務的 RDBMS 結構定義。這樣就完成了營利服務及其相關元件的整合作業,並與 Postgres 伺服器整合。

將營利服務整合至所有訊息處理工具

請按照下列程序,在所有 Message Processor 節點上整合營利功能。

  1. 在第一個訊息處理器節點的命令提示字元中,執行設定指令碼:
    /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    -p mo 選項會指定整合營利服務。

    「apigee」使用者必須能存取或讀取設定檔。

  2. 在所有 Message Processor 節點上重複執行這項程序。

設定成功後,訊息處理工具會透過營利服務進行更新。這會完成將營利服務及其相關元件與訊息處理器整合的程序。

營利功能的導入程序

如何建立新的機構並啟用營利功能:

  1. 建立機構的方式與建立任何新機構相同。詳情請參閱「機構新手上路」。
  2. 請按照「為機構啟用營利功能」一文的說明使用營利服務設定 API。您必須具備系統管理員權限,才能執行上述操作。

下次登入 Edge 使用者介面時,您會在機構的頂層選單中看到「營利」項目:

如要設定入口網站來支援營利功能,請參閱在開發人員入口網站設定營利的相關說明。

在營利安裝中新增管理伺服器節點

如果您將管理伺服器新增至現有的 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 檔案提供帳單文件,您可以將 Monetization 與提供 PDF 產生功能的帳單系統整合,或授權支援的第三方 PDF 程式庫。

選取機構設定

如要新增/更新組織屬性,您可以使用 PUT 要求,如以下範例所示:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  -v http://ms_IP:8080/v1/organizations/orgId -d 'org object with attributes' -X PUT

營利功能會依照機構的設定回應。例如:

{
  ...
  "displayName": "Orgnization name",
  "name": "org4",
  "properties": {
    "property": [
      ...
      {
        "name": "MINT_CURRENCY",
        "value": "USD"
      },
      {
        "name": "MINT_COUNTRY",
        "value": "US"
      },
      {
        "name": "MINT_TIMEZONE",
        "value": "GMT"
      }
    ]
  }
}

下表列出可用於設定 Mint 組織的組織層級屬性。

屬性 說明
MINT_TAX_MODEL

可接受的值為「DISCLOSED」、「UNDISCLOSED」、「HYBRID」(預設值為空值)

MINT_CURRENCY

ISO 貨幣代碼 (預設為空值)

MINT_TAX_NEXUS

稅務連結 (預設為空值)

MINT_DEFAULT_PROD_TAX_CATEGORY

產品的預設稅目 (預設值為空值)

MINT_IS_GROUP_ORG

IS 群組組織 (預設為「false」)

MINT_HAS_BROKER

Has broken (預設值為 false)

MINT_TIMEZONE

時區 (預設為空值)

MINT_TAX_ENGINE_EXTERNAL_ID

稅務引擎 ID (預設為空值)

MINT_COUNTRY

機構所在國家/地區 (預設為空值)

MINT_REG_NO

英國的機構註冊編號,與稅號不同 (預設為空白)

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

管理 UI 用來將提供者顯示為運算子反向機構 (預設為「true」)

如要使用管理 UI 設定業務組織設定,請參閱「 在 Edge 中存取營利功能」。

營利限制

如要強制執行營利限制,請將「營利限制檢查」政策附加至 API Proxy。具體來說,系統會在下列情況下觸發這項政策:

  • 開發人員存取營利 API 尚未註冊或未訂閱費率方案。
  • 開發人員已超過訂閱費率方案的交易量。
  • 開發人員的預付帳戶餘額或後付信用額度已達上限。

「營利限制檢查」政策會回報錯誤,並在上述情況下封鎖 API 呼叫。這項政策會擴充 Raise Fault 政策,您可以自訂傳回的訊息。適用的條件會從商務變數衍生而來。

詳情請參閱「在 API Proxy 中強制實行營利限制」。