安裝營利服務

私有雲版本 4.17.05 版本

營利服務是 Apigee Edge 的擴充功能,因此並非獨立運作。可在任何現有 Apigee Edge 設定中執行。

營利規定

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

安裝總覽

下列步驟說明如何在現有的 Apigee Edge 安裝作業中加入營利服務:

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

    如果你有多個管理伺服器節點 (例如安裝 13 個節點),就必須安裝 Edge Edge Server 節點再安裝營利服務。
  • 使用 Apigee-setup 公用程式來更新 Apigee Message Message Process,以便啟用營利服務的執行階段元件,例如交易錄製政策和限制強制執行。如有多位訊息處理工具,請在所有訊息中安裝「營利」。
  • 為您的 Edge 機構執行營利新手上路程序。
  • 設定開發人員服務入口網站以啟用營利功能。詳情請參閱 http://apigee.com/docs/monetization/content/configure-monetization-developer-portal

為營利建立靜音設定檔

以下是營利安裝設定檔的靜音設定檔範例。視需要根據設定編輯這個檔案。使用 -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. 如要在採用多個管理伺服器節點 (例如 13 個節點安裝) 的 Edge 拓撲中安裝營利功能,請務必先安裝兩個管理伺服器節點再安裝營利功能。
  2. 在管理伺服器節點上執行設定指令碼:
    > /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_HOSTSREGION 設為您在安裝營利服務時使用的值。
  • 如要在多個資料中心設定中啟用營利功能,請按照下列步驟操作:
    • 您必須在每個資料中心的管理伺服器中重複執行新手上路程序。
    • 設定檔只能列出正在設定的資料中心 QQid 節點。

如何執行指令碼:

  1. 叫用指令碼:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    設定檔必須可供「Apigee」使用者存取或讀取,

    如果你有多個管理伺服器,只需在其中一個伺服器中執行這個指令碼。

    這個指令碼會將機構、產品、開發人員和應用程式從 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 重新啟動
  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 重新啟動

其他設定

提供 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"
            }
        ]
    }
}

Attributes

Description

MIN__TAX_MODEL

接受的值包括「關閉」、

UNDISOFFD、HYBRID (預設為空值)

MINT_CURRENCY

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

最小值:TT_TAX_NEXUS

課稅關聯 (預設為空值)

MINT_DEFAULT_PROD_TAX_CATEGORY

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

範圍:群組群組

IS 群組分類 (預設為 false)

MIN_HAS_BROKER

已毀損 (預設為 false)

MINT_TIMEZONE

時區 (預設為空值)

MINT_TAX_ENGINE_EXTERNAL_ID

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

MINT_COUNTRY

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

MIN__REG_NO

機構登記號碼,英國提供與稅號不同的編號 (預設為空值)

MINT_BILLING_CYCLE_TYPE

PRORATED,CALENDAR_MONTH (預設為 CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (預設為 PREPAID)

MIN__IS_SEPARATE_INV_FOR_FEES

表示是否應該產生另一份收費發票 (預設值為 false)

MINT_ISSUE_NETTING_STMT

說明是否應發出淨額聲明 (預設值為 false)

MINT_NETTING_STMT_PER_CURRENCY

指出是否應為每個貨幣產生淨收益敘述 (預設為 false)

MIN_HAS_SELF_BILLING

顯示機構是否使用自行計費功能 (預設為 false)

MIN__SELF_BILLING_FOR_ALL_DEV

指出機構是否已為所有開發人員設定自助式帳單(預設為 false)

MIN__HAS_SEPARATE_INV_FOR_PROD

指出機構是否針對每項產品分別開立應付憑據 (預設值為 false)

MINT_HAS_BILLING_ADJUSTMENT

指出機構是否支援帳單調整 (預設為 false)

feature.is 營利 Enabled

管理 UI 用於顯示營利相關選單 (預設為 false)

ui.config.isOperator

由管理 UI 使用,將供應商顯示為衛星營運商機構

(預設為 true)

如要透過管理使用者介面調整企業機構設定,請參閱 http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services

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

「限制政策」是一種明確政策,可在達到特定上限時封鎖 API 呼叫。如果政策有任何限制超過設定的值,這項政策就會檢查商業限制,並引發錯誤。這個行為是升高政策的延伸,但條件衍生自業務變數。

UI 開發人員的管理使用者介面會提供 UI 範本。Proxy 開發人員應在訊息流程中附加壓縮政策。執行這項政策後,系統會依政策傳回錯誤回應錯誤。如果將 ContinueOnError 設為 true,則不會引發錯誤,且會設定「mint.limitsViolated」、「mint.isDeveloper 遭停權」和「mint.limitsPolicyError」變數,系統可能會在必要時進一步處理例外狀況例外狀況。