安裝營利服務

私有雲的邊緣 4.16.05 版

營利服務是 Apigee Edge 的擴充功能,因此無法做為獨立程序執行。這個外掛程式能在任何現有的 Apigee Edge 設定中運作。

營利規定

  • 如果要在使用多個管理伺服器節點的 Edge 拓撲中安裝 營利 (例如安裝 13 個節點),則必須先安裝這兩個 Edge Management Server 節點,才能安裝 Monetization。
  • 如要在 Edge 中安裝 Monetization,並在 Edge 中安裝多個 Postgres 節點,您必須在主要/待命模式下設定 Postgres 節點。如果您有多個 Postgres 主要節點,就無法在 Edge 上安裝 營利服務。詳情請參閱設定 Postgres 的主要待命複製功能一文。

安裝總覽

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

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

    如果您有多個管理伺服器節點 (例如安裝 13 個節點),則必須先安裝這兩個 Edge Management Server 節點,才能安裝「營利」工具。
  • 使用 apigee-setup 公用程式更新 Apigee 訊息處理器,以便啟用「營利服務」的執行階段元件,例如交易記錄政策及限制強制執行。如果您有多個訊息處理器,請全數安裝「營利」工具。
  • 為 Edge 機構執行營利新手上路流程。
  • 設定 Developer Services 入口網站以支援營利。詳情請參閱 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. 如果要在使用多個管理伺服器節點的 Edge 拓撲中安裝 營利 (例如安裝 13 個節點),請務必先安裝這兩個管理伺服器節點,然後再安裝營利服務。
  2. 在管理伺服器節點上執行設定指令碼:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    「-p mo」選項會指定整合「營利」管道。

    設定檔必須可供「apigee」使用者存取或讀取。例如,將檔案放在節點上的 /tmp 目錄。
  3. 如果要在多個管理伺服器節點中安裝營利服務,請在第二個管理伺服器節點上重複執行步驟 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 資料庫複製到營利 PostgreSQL 資料庫。營利服務安裝成功後,系統就會自動同步處理資料。
  2. 請為每個要啟用營利功能的機構重複這項程序。
  3. 如果您在多個資料中心環境中,請在其他資料中心的管理伺服器上重複執行這項程序。請確認設定檔只列出所設定資料中心的 Qpid 節點。

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

設定開發人員服務入口網站

如要設定開發人員服務入口網站以支援營利,請參閱 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 產生文件的帳單系統整合,或是取得支援第三方 PDF 程式庫的授權。

調整機構設定

後端設定:下表列出可用於設定人力機構的機構層級屬性。您可以使用 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"
            }
        ]
    }
}

Attributes

說明

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

已毀損 (預設為 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

指出是否應為每個貨幣產生 Netting 陳述式 (預設值為 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

管理 UI 會使用這個選單顯示營利專用選單 (預設為 false)

ui.config.isOperator

管理 UI 用於將提供者顯示為衛星服務營運商機構

(預設值為 true)

如要瞭解如何透過管理 UI 調整企業機構設定,請參閱 http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services

注意:如果您使用營利服務限制和通知功能,請指示開發人員在取得存取權杖驗證政策後,在 Proxy 流程中附加「限制政策」。

「限制政策」是一種明確政策,可在達到特定限制時封鎖 API 呼叫。政策會檢查業務限制,如果任何限制超過設定的值,就會發出錯誤。此為提高錯誤政策的擴充功能,但條件衍生自業務變數。

Proxy 開發人員可在管理 UI 中找到 UI 範本。Proxy 開發人員應在訊息流程中附加礦業政策。執行這項政策後,系統會依據政策發出錯誤回應,並發出錯誤回應。如果 ContinueOnError 設為 true,則不會引發錯誤,且流量變數「mint.limitsViolated」、「mint.isDeveloper suspended」和「mint.limitsPolicyError」變數會設定,視需要用於進一步的例外狀況處理。