Installazione di servizi di monetizzazione

Edge for Private Cloud versione 4.16.05

I servizi di monetizzazione sono un'estensione di Apigee Edge, pertanto non possono essere eseguiti come server indipendenti e il processo di sviluppo. Viene eseguito all'interno di qualsiasi configurazione di Apigee Edge esistente.

Requisiti per la monetizzazione

  • Se installi la monetizzazione su una topologia Edge che utilizza più server di gestione nodi, ad esempio un'installazione da 13 nodi, devi installare entrambi i nodi di Edge Management Server prima di installare la Monetizzazione.
  • Per installare la monetizzazione su Edge in cui l'installazione Edge ha più nodi Postgres, i nodi Postgres devono essere configurati in modalità master/standby. Non puoi installare Monetizzazione su Edge se hai più nodi master Postgres. Per ulteriori informazioni, consulta Configurare la replica master in standby per Postgres.

Panoramica dell'installazione

I passaggi riportati di seguito illustrano come aggiungere i servizi di monetizzazione a un'installazione di Apigee Edge esistente:

  • Utilizza l'utilità apigee-setup per aggiornare il nodo Apigee Management Server in modo da attivare i servizi di monetizzazione, ad esempio la gestione del catalogo, la configurazione di limiti e notifiche, la fatturazione e i report.

    Se hai più nodi Management Server, ad esempio un'installazione con 13 nodi, devi installare entrambi i nodi Edge Management Server prima di installare Monetization.
  • Utilizza l'utilità apigee-setup per aggiornare il Message Processor di Apigee in modo da attivare i componenti di runtime dei servizi di monetizzazione, ad esempio i criteri di registrazione delle transazioni e l'applicazione dei limiti. Se avere più processori di messaggi, installare la monetizzazione su tutti.
  • Eseguire il processo di onboarding della monetizzazione per le organizzazioni perimetrali.
  • Configura il portale Servizi per gli sviluppatori in modo che supporti la monetizzazione. Per ulteriori informazioni, vedi http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Creazione di un file di configurazione invisibile Monetizzazione

Di seguito è riportato un esempio di file di configurazione invisibile per un'installazione della funzionalità Monetizzazione. Modifica se necessario per la configurazione. Utilizza l'opzione -f per setup.sh per includere questo file.

Nota: in genere, si aggiungono queste proprietà allo stesso file di configurazione che che hai usato per installare Edge, come mostrato in Installare Edge su un nodo.

# 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
Note:
  • Se il file di configurazione di Edge non ha specificato le informazioni SMTP, aggiungile. La monetizzazione richiede un server SMTP.
  • In un'installazione di un singolo data center, per impostazione predefinita tutti i nodi ZooKeeper sono configurati come leader. Quando installi Edge in più data center, alcuni nodi ZooKeeper configurato come osservatori. Assicurati che la proprietà ZK_HOSTS sopra specifichi un nodo leader in un'installazione con più data center.
  • Se attivi l'autenticazione Cassandra, puoi trasmettere il nome utente e la password di Cassandra utilizzando le seguenti proprietà:
    CASS_USERNAME
    CASS_PASSWORD

Integra i servizi di monetizzazione con tutti i server di gestione

Utilizza la seguente procedura per integrare la monetizzazione sui nodi del server di gestione.

  1. Se stai installando Monetizzazione su una topologia Edge che utilizza più nodi del server di gestione, ad esempio un'installazione di 13 nodi, assicurati di aver installato entrambi i nodi del server di gestione prima di installare Monetizzazione.
  2. Sul nodo del server di gestione, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione "-p mo" specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee". Ad esempio, metti il file nella directory /tmp sul nodo.
  3. Se stai installando la monetizzazione su più nodi del server di gestione, ripeti il passaggio 2 sul secondo nodo del server di gestione.

Una volta completata la configurazione, viene creato uno schema RDBMS per i servizi di monetizzazione PostgreSQL standard. Con questa operazione viene completata l'integrazione dei Servizi di monetizzazione e dei relativi con il server Postgres.

Integra i servizi di monetizzazione con tutti i processori di messaggi

Utilizza la procedura seguente per integrare la monetizzazione su tutti i nodi del Message Processor.

  1. Sul primo nodo del processore di messaggi, al prompt dei comandi, esegui lo script di configurazione:
    > /opt/apigee/apigee-setup/bin/setup.sh -p mo -f configFile

    L'opzione "-p mo" specifica di integrare la monetizzazione.

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee". Ad esempio, metti il file nella directory /tmp sul nodo.
  2. Ripeti questa procedura su tutti i nodi del processore di messaggi.

Una volta completata la configurazione, il Responsabile del trattamento dei messaggi viene aggiornato con i Servizi di monetizzazione. In questo modo, viene completata l'integrazione dei servizi di monetizzazione e dei relativi componenti associati con i processori di messaggi.

Onboarding per la monetizzazione

Per creare una nuova organizzazione con la monetizzazione abilitata, devi prima creare l'organizzazione come per qualsiasi nuova organizzazione. Per ulteriori informazioni, consulta Eseguire l'onboarding di un'organizzazione.

Onboarding aggiuntivo per abilitare la monetizzazione per un'organizzazione

Per completare l'onboarding della monetizzazione di un'organizzazione, devi:

  1. Crea il gruppo di monetizzazione: mxgroup.
  2. Aggiungi Qpid al gruppo.
  3. Attiva la monetizzazione per l'organizzazione.
  4. Attiva le impostazioni di notifica per l'organizzazione.
  5. Ripeti questa procedura per tutte le organizzazioni in cui vuoi attivare la monetizzazione.

Utilizza il comando enable-monetization per eseguire tutte queste attività. Questo script accetta un file di configurazione contenente seguenti proprietà:

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.

Note:

  • Imposta CASS_HOSTS e REGION agli stessi valori di utilizzato durante l'installazione della Monetizzazione.
  • Se attivi la monetizzazione in una configurazione con più data center:
    • Devi ripetere il processo di inserimento sul server di gestione in ogni dato Google Cloud.
    • Il file di configurazione deve elencare solo i nodi Qpid nel data center configurato.

Per eseguire lo script:

  1. Esegui lo script:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-monetization -f configFile

    Il file di configurazione deve essere accessibile o leggibile dall'utente "apigee". Ad esempio, metti il file nella directory /tmp sul nodo.

    Se hai più server di gestione, devi eseguire questo script solo su uno di questi.

    Questo script replica l'organizzazione, i prodotti, gli sviluppatori e le applicazioni di Cassandra al database Monetization PostgreSQL. Dopo l'installazione dei Prodotti per la monetizzazione Servizi i dati vengono sincronizzati automaticamente.
  2. Ripeti questa procedura per ogni organizzazione in cui vuoi attivare la monetizzazione.
  3. Se utilizzi un ambiente con più data center, ripeti questa procedura sul server di gestione nell'altro data center. Assicurati che nel file di configurazione siano elencati solo i nodi Qpid nel data center in fase di configurazione.

Al successivo accesso all'interfaccia utente di Edge, vedrai la voce Monetizzazione nel menu di primo livello dell'organizzazione:

Configura il portale Developer Services

Per configurare il portale Servizi per sviluppatori in modo che supporti la monetizzazione, visita la pagina http://apigee.com/docs/monetization/content/configure-monetization-developer-portal.

Aggiunta di un nodo del server di gestione a un'installazione di monetizzazione

Se aggiungi un server di gestione a un'installazione Edge esistente, devi assicurarti di aggiungere i servizi di monetizzazione al nuovo server di gestione e di configurare tutti i server di gestione in modo che possano comunicare.

Per aggiungere un server di gestione:

  1. Installa il nuovo Management Server.
  2. Installa la monetizzazione sul nuovo server di gestione.
  3. Sul server di gestione originale, chiama:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  4. Riavviare il server di gestione originale:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. Sul nuovo server di gestione, chiama quanto segue:
    > /opt/apigee/apigee-service/bin/apigee-service edge-mint-management-server mint-configure-mgmt-cluster
  6. Riavviare il nuovo server di gestione:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Configurazione aggiuntiva

Fornisci i documenti di fatturazione come file PDF

La monetizzazione mostra i documenti di fatturazione agli utenti finali in formato HTML. Per fornire la fatturazione documenti come file PDF, puoi integrare la monetizzazione con un sistema di fatturazione che fornisce generare o concedere in licenza una raccolta PDF di terze parti supportata.

Configura le impostazioni dell'organizzazione

Impostazioni di backend: la seguente tabella elenca gli attributi a livello di organizzazione disponibili per configurare un'organizzazione mint. Puoi utilizzare una chiamata PUT per aggiungere/aggiornare questi come mostrato di seguito:

> curl -u ${ADMIN_EMAIL}:${ADMINPW} -v http://<management-ip>:8080/v1/organizations/{orgId} -d '{org object with attributes}' -X PUT

Ad esempio, l'output del comando CURL riportato sopra sarà simile al seguente:

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

Attributi

Descrizione

MINT_TAX_MODEL

I valori accettati sono DISCHIUSI,

UNDISCLOSED, HYBRID (il valore predefinito è null)

MINT_CURRENCY

Codice valuta ISO (valore predefinito nullo)

MINT_TAX_NEXUS

Nexus fiscale (valore predefinito nullo)

MINT_DEFAULT_PROD_TAX_CATEGORY

Categoria fiscale del prodotto predefinita (valore predefinito nullo)

MINT_IS_GROUP_ORG

Organizzazione del gruppo di IS (il valore predefinito è false)

MINT_HAS_BROKER

Non funzionante (il valore predefinito è false)

MINT_TIMEZONE

Fuso orario (il valore predefinito è null)

MINT_TAX_ENGINE_EXTERNAL_ID

ID motore fiscale (il valore predefinito è null)

MINT_COUNTRY

Paese dell'organizzazione (il valore predefinito è null)

MINT_REG_NO

Il numero di registrazione dell'organizzazione nel Regno Unito è diverso dall'ID fiscale (il valore predefinito è null)

MINT_BILLING_CYCLE_TYPE

PRORATED, CALENDAR_MONTH (il valore predefinito è CALENDAR_MONTH)

MINT_SUPPORTED_BILLING_TYPE

PREPAID/POSTPAID/BOTH (il valore predefinito è PREPAID)

MINT_IS_SEPARATE_INV_FOR_FEES

Indica se deve essere generata una fattura separata per le commissioni (il valore predefinito è false)

MINT_ISSUE_NETTING_STMT

Indica se deve essere emesso un'istruzione di compensazione (il valore predefinito è false)

MINT_NETTING_STMT_PER_CURRENCY

Indica se l'istruzione di compensazione deve essere generata per valuta (il valore predefinito è falso)

MINT_HAS_SELF_BILLING

Indica se l'organizzazione ha l'autofatturazione (il valore predefinito è false)

MINT_SELF_BILLING_FOR_ALL_DEV

Indica se l'organizzazione ha l'autofatturazione per tutti gli sviluppatori(il valore predefinito è falso)

MINT_HAS_SEPARATE_INV_FOR_PROD

Indica se l'organizzazione ha una fattura separata per prodotto (il valore predefinito è falso)

MINT_HAS_BILLING_ADJUSTMENT

Indica se l'organizzazione supporta gli aggiustamenti della fatturazione (il valore predefinito è false)

features.isMonetizationEnabled

Utilizzato dall'interfaccia utente di gestione per visualizzare il menu specifico per la monetizzazione (il valore predefinito è false)

ui.config.isOperator

Utilizzato dall'interfaccia utente di gestione per visualizzare il provider come Operatore rispetto Organizzazione

(il valore predefinito è true)

Per configurare le impostazioni dell'organizzazione aziendale utilizzando l'interfaccia utente di gestione, visita la pagina http://apigee.com/docs/monetization-services/content/get-started-using-monetization-services.

Nota: se utilizzi le funzionalità Limiti e Notifiche dei servizi di monetizzazione, chiedi agli sviluppatori di allegare un criterio Limiti nel flusso del proxy dopo il criterio di convalida dell'token di accesso.

Il criterio Limit è un criterio esplicito progettato per bloccare una chiamata API se è stato raggiunto un determinato limite. Il criterio controlla i limiti dell'attività e genera un errore in caso di limiti che superano il valore configurato. Si tratta di un'estensione del criterio di generazione di errori, ma le condizioni sono ricavate dalle variabili aziendali.

Nell'interfaccia utente di gestione è disponibile un modello di UI per gli sviluppatori proxy. Lo sviluppatore proxy deve collegare le norme relative alla creazione nel flusso di messaggi. Al momento dell'esecuzione di questo criterio, verrà generato un errore con la risposta all'errore in base al criterio. Se ContinueOnError è impostato su true, l'errore non verrà aumentato e le variabili di flusso "mint.limitsViolated", "mint.isDeveloper approfondire" e "mint.limitsPolicyError" verranno impostate che potrebbero essere utilizzate per un'ulteriore gestione delle eccezioni, se necessario.