Edge for Private Cloud 4.16.05 版
營利服務是 Apigee Edge 的擴充功能,因此不會以獨立程序的形式執行。可在任何現有的 Apigee Edge 設定中執行。
營利規定
- 如果您要在使用多個管理伺服器節點 (例如 13 節點安裝) 的 Edge 拓撲上安裝營利功能,則必須先安裝兩個 Edge 管理伺服器節點,再安裝營利功能。
- 如要在 Edge 安裝 Monetization,且 Edge 安裝作業有多個 Postgres 節點,則必須在主節點/待機模式中設定 Postgres 節點。如果您有多個 Postgres 主節點,就無法在 Edge 上安裝營利功能。詳情請參閱「設定 Postgres 的主待命複製功能」。
安裝總覽
下列步驟說明如何在現有的 Apigee Edge 安裝作業中新增營利服務:
- 使用 apigee-setup 公用程式更新 Apigee 管理伺服器節點,啟用營利服務,例如目錄管理、限制和通知設定、帳單和報表。
如果您有多個管理伺服器節點 (例如 13 節點安裝),則必須先安裝兩個 Edge 管理伺服器節點,再安裝營利功能。 - 使用 apigee-setup 公用程式更新 Apigee 訊息處理器,啟用營利服務的執行階段元件,例如交易記錄政策和限制強制執行。如果您有多個訊息處理器,請在所有訊息處理器上安裝營利功能。
- 為 Edge 組織執行營利新手上路程序。
- 設定開發人員服務入口網站,以支援營利功能。詳情請參閱 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal。
建立營利功能的靜默設定檔
以下是 Monetization 安裝作業的靜默設定檔範例。請視需要編輯這個檔案,以符合您的設定。使用 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
- 如果 Edge 設定檔未指定 SMTP 資訊,請新增。營利功能需要 SMTP 伺服器。
- 在單一資料中心安裝中,所有 ZooKeeper 節點預設都會設為領導者。在多個資料中心安裝 Edge 時,部分 ZooKeeper 節點會設為觀察器。請確認上述 ZK_HOSTS 屬性在多個資料中心安裝作業中指定了領導節點。
- 如果啟用 Cassandra 驗證,您可以使用下列屬性傳遞 Cassandra 使用者名稱和密碼:
CASS_USERNAME
CASS_PASSWORD
將營利服務與所有管理伺服器整合
請按照下列程序,在管理伺服器節點上整合營利功能。
- 如果您要在使用多個管理伺服器節點 (例如 13 節點安裝) 的 Edge 拓撲上安裝營利功能,請務必先安裝兩個管理伺服器節點,再安裝營利功能。
- 在管理伺服器節點上,執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
「-p mo」選項會指定整合營利功能。
設定檔必須可供「apigee」使用者存取或讀取。例如,將檔案放在節點的 /tmp 目錄中。 - 如果您要在多個管理伺服器節點上安裝營利功能,請在第二個管理伺服器節點上重複步驟 2。
設定成功後,系統會在 PostgreSQL 資料庫中建立營利服務的 RDBMS 結構定義。這樣就完成了營利服務及其相關元件與 Postgres 伺服器的整合。
整合營利服務與所有訊息處理器
請按照下列程序,在所有訊息處理器節點上整合營利功能。
- 在第一個訊息處理器節點的命令提示字元中,執行設定指令碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile
「-p mo」選項會指定整合營利功能。
設定檔必須可供「apigee」使用者存取或讀取。例如,將檔案放在節點的 /tmp 目錄中。 - 在所有訊息處理器節點上重複執行這項程序。
設定成功後,訊息處理器會更新為營利服務。這樣就完成了營利服務及其相關元件與訊息處理器的整合。
營利功能新手上路
如要建立已啟用營利功能的新組織,請先按照建立任何新組織的方式建立組織。詳情請參閱「將組織加入平台」。
為組織啟用營利功能的額外新手上路程序
如要完成組織的營利新手上路程序,您必須:
- 建立營利群組:mxgroup。
- 將 Qpid 加入群組。
- 為組織啟用營利功能。
- 啟用機構的通知設定。
- 針對要啟用營利功能的所有組織,重複執行這項程序。
使用 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 設為與安裝 Monetization 時相同的值。
- 如果您要在多個資料中心設定中啟用營利功能:
- 您必須在每個資料中心的管理伺服器上重複執行新手上路程序。
- 設定檔應只列出要設定的資料中心內的 Qpid 節點。
執行指令碼:
- 叫用指令碼:
> /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile
設定檔必須可供「apigee」使用者存取或讀取。例如,將檔案放在節點的 /tmp 目錄中。
如果您有多個管理伺服器,只要在其中一個伺服器上執行這個指令碼即可。
這個指令碼會將組織、產品、開發人員和應用程式從 Cassandra 資料庫複製到營利 PostgreSQL 資料庫。成功安裝營利服務後,系統會自動同步處理資料。 - 針對要啟用營利功能的每個組織,重複執行這項程序。
- 如果您處於多個資料中心環境,請在其他資料中心的管理伺服器上重複這項程序。請確認設定檔只列出要設定的資料中心內的 Qpid 節點。
下次登入 Edge UI 時,您會在組織的頂層選單中看到「營利」項目:

設定開發人員服務入口網站
如要設定開發人員服務入口網站來支援營利功能,請參閱 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal。
在營利安裝項目中新增管理伺服器節點
如果您將管理伺服器新增至現有的 Edge 安裝,請務必將營利服務新增至新的管理伺服器,並設定所有管理伺服器,以便進行通訊。
如要新增管理伺服器,請按照下列步驟操作:
- 安裝新管理伺服器。
- 在「新」管理伺服器上安裝營利功能。
- 在「原始」管理伺服器上,呼叫下列指令:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - 重新啟動「原始」管理伺服器:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart - 在「新」管理伺服器上,呼叫下列指令:
> /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster - 重新啟動「新」管理伺服器:
> /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 (預設為空值) |
|
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 |
指出是否應依貨幣產生淨額對帳單 (預設為 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 呼叫。這項政策會檢查業務限制,如果超過設定值,就會觸發錯誤。這是錯誤引發政策的延伸,但條件衍生自業務變數。
管理 UI 中提供 UI 範本,供 Proxy 開發人員使用。Proxy 開發人員應在訊息流程中附加 mint 政策。執行這項政策時,系統會根據政策引發錯誤,並傳回錯誤回應。如果 ContinueOnError 設為 true,則不會發生錯誤,且系統會設定流程變數「mint.limitsViolated」、「mint.isDeveloperSuspended」和「mint.limitsPolicyError」,以便在必要時用於進一步處理例外狀況。