[AEM Forms]{class="badge positive" title="Si applica ad AEM Forms)."}
Configurare endpoint REST specifici per l’ambiente per lo stesso modulo adattivo
Quando si promuove un modulo adattivo dallo sviluppo alla gestione temporanea alla produzione, in genere il modulo deve essere inviato a un endpoint REST diverso in ogni ambiente, mentre il modulo stesso rimane identico. L’hardcoding dell’URL dell’endpoint nell’azione di invio del modulo interrompe questo problema, perché lo stesso URL viaggia quindi con il modulo in ogni ambiente.
In questo articolo viene descritto come mantenere un singolo modulo adattivo portatile e risolvere l’azione Invia all’endpoint REST nell’endpoint corretto in ogni ambiente. Il modulo fa riferimento a una configurazione REST per nome invece che per URL e ogni ambiente fornisce il proprio valore per tale configurazione.
Prerequisiti prerequisites
- Modulo adattivo basato su componenti core.
- Un Contenitore configurazione creato tramite il browser configurazioni (Strumenti > Generale > Browser configurazioni) con Configurazioni cloud abilitate.
- Autorizzazione per accedere a Strumenti > Servizi cloud e, per la promozione, a Gestione pacchetti in ogni ambiente (o a pipeline di distribuzione Cloud Manager).
Creare la configurazione del servizio RESTful nella gestione temporanea create-rest-configuration
Nell’istanza di authoring dell’area di gestione temporanea, crea la configurazione denominata a cui fa riferimento il modulo. Impostare l’URL dell’endpoint del servizio sull’endpoint REST o webhook per la gestione temporanea.
-
Vai a Strumenti > Servizi cloud > Origini dati.
-
Seleziona Contenitore configurazione, quindi seleziona Crea.
-
Nella scheda Generale, fornisci un Nome per la configurazione (ad esempio,
restTest). Utilizza il nome same in ogni ambiente in modo che il modulo venga risolto in modo coerente dopo la promozione. -
Nella scheda Impostazioni autenticazione, configura:
- Seleziona servizio RESTful: endpoint servizio.
- Tipo di metodo: POST.
- URL endpoint servizio: l’URL dell’endpoint di staging (ad esempio, un URL del webhook utilizzato per testare gli invii dalla gestione temporanea).
- Tipo di contenuto: ad esempio, Dati modulo in più parti.
- Tipo di autenticazione: come richiesto dall’endpoint (ad esempio, Nessuno o Autenticazione di base).
-
Seleziona Salva e chiudi.
Puntare il modulo adattivo sul contenitore di configurazione set-configuration-container
Durante la gestione temporanea, associa il modulo al Contenitore di configurazione che contiene la configurazione REST.
-
In Forms e documenti, seleziona il modulo adattivo e apri Proprietà.
-
Nella scheda Base, imposta Contenitore configurazione sul contenitore che contiene la configurazione del servizio RESTful (ad esempio,
/conf/restConfigTest). -
Seleziona Salva e chiudi.
Configurare l’azione Invia all’endpoint REST configure-submit-action
Durante la gestione temporanea, configura il modulo per l’invio tramite la configurazione REST denominata invece di un URL hardcoded. Per il riferimento completo all’azione di invio, vedere Configurare un modulo adattivo per l’azione di invio endpoint REST.
-
Apri il modulo adattivo per la modifica, seleziona il componente Contenitore guida e apri le proprietà Contenitore modulo adattivo.
-
Apri la scheda Invio e, dall’elenco a discesa Azione invio, seleziona Invia all’endpoint REST.
-
In Configurazione azione, selezionare Abilita richiesta POST.
-
Per Selezionare un’opzione, scegliere Configurazione (non URL).
-
Selezionare la configurazione denominata, ad esempio
restTest, dall’elenco. -
Seleziona Fine.
Il modulo ora risolve il relativo endpoint di invio tramite la configurazione denominata anziché un URL fisso.
Promuovi il modulo dalla gestione temporanea alla produzione promote-across-environments
Dopo aver configurato e testato lo staging, sposta lo stesso modulo e lo stesso Contenitore di configurazione in produzione. Puoi utilizzare uno dei seguenti approcci.
Opzione 1: metodo dell’autore e del pacchetto option-package
Utilizzalo quando gli autori gestiscono il modulo e la configurazione direttamente in ogni ambiente.
-
Nell’istanza di authoring staging, creare un pacchetto di contenuti in Gestione pacchetti che includa il modulo e il relativo contenitore di configurazione, ad esempio:
/content/dam/formsanddocuments/<your-form-path>/content/forms/af/<your-form-path>/conf/<your-config-container>(che contiene.../settings/cloudconfigs/fdm/<your-config>)
-
Scarica il pacchetto e installalo nell’istanza di authoring production.
Opzione 2: approccio di sostituzione in base al contesto (consigliato per l’automazione) option-context-aware
Utilizzalo quando desideri una configurazione in pacchetto il cui endpoint, nome utente e password si risolvano automaticamente in ogni ambiente, senza modifiche manuali dopo la distribuzione. Questo approccio sostituisce le proprietà di configurazione utilizzando le variabili di ambiente Cloud Manager.
Per le configurazioni REST, in genere si creano variabili di ambiente per le proprietà serviceEndPoint, userName e password, quindi si fa riferimento a esse da un file di configurazione OsgiConfigurationOverrideProvider nel progetto.
Per la procedura completa, vedi Configurazioni cloud basate sul contesto.
Aggiornare l’URL dell’endpoint in produzione configure-endpoint-on-production
Dopo aver installato il pacchetto in produzione, il modulo adattivo e la configurazione REST name (ad esempio, restTest) corrispondono alla gestione temporanea. L’URL endpoint servizio in tale configurazione punta ancora all’endpoint di gestione temporanea dal pacchetto. Apri la configurazione in produzione e sostituiscila con l’URL dell’endpoint di produzione.
-
Nell’istanza di authoring production, vai a Strumenti > Servizi cloud > Origini dati.
-
Selezionare il contenitore di configurazione distribuito (ad esempio,
restConfigTest), quindi aprire la configurazione denominata (ad esempio,restTest). -
Nella scheda Impostazioni autenticazione, impostare URL endpoint servizio sull’endpoint REST o webhook di produzione.
-
Seleziona Salva e chiudi.
Durante il test, un controllo delle richieste, ad esempio un servizio di acquisizione webhook, ti fornisce un URL univoco per ambiente, in modo da poter confermare quale endpoint riceve ogni invio.
Verificare il routing verify
Invia lo stesso modulo da staging e produzione e conferma ogni post dell’ambiente sul proprio endpoint, non l’URL dell’altro ambiente.
-
Nell’istanza di authoring staging, apri il modulo adattivo e invialo con i dati di test, ad esempio immetti
stagetestin un campo di testo. Conferma l’arrivo della richiesta POST all’staging URL dell’endpoint del servizio configurato nell’area di gestione temporanea. -
Nell’istanza di authoring production, apri lo stesso modulo adattivo e invialo con i dati di test, ad esempio immetti
prodtestin un campo di testo. Conferma l’arrivo della richiesta POST all’production Service Endpoint URL configurato in produzione, non all’URL di staging. -
Conferma che ogni richiesta utilizzi il tipo di contenuto previsto (ad esempio, Dati modulo in più parti) e includa i dati del modulo inviati. Utilizza un endpoint reale e protetto (HTTPS) per la produzione.
Best practice best-practices
- Utilizza una configurazione name identica in ogni ambiente, in modo che il modulo venga risolto in modo coerente dopo la promozione.
- Mantieni l’endpoint value specifico per l’ambiente. Non codificare mai l’URL di un singolo ambiente nell’azione di invio del modulo.
- Per gli endpoint di produzione, assicurati che l’URL sia protetto (HTTPS) e che il percorso di ricezione sia configurato per gestire la richiesta POST in modo appropriato per il modello di autenticazione.
- Preferisci l’approccio di sostituzione in base al contesto quando desideri che la distribuzione sia ripetibile e priva di modifiche manuali post-distribuzione.