CDN API per implementazioni headless in fasi

Un'implementazione headless in fasi è una tecnica che consente di offrire un'unica esperienza di acquisto utilizzando più tecnologie di storefront come Storefront Reference Architecture (SFRA) e Composable Storefront.

Una zona CDN incorporata (eCDN) può instradare il traffico sia a SFRA sia a Managed Runtime contemporaneamente, consentendo di implementare gradualmente un Composable Storefront.

Questa guida descrive come utilizzare le zone CDN di Commerce API per instradare il traffico a Managed Runtime.

Solo i clienti esistenti possono accedere ad alcuni dei link di questa pagina. Per informazioni su come accedere ai repository di Commerce Cloud, vedere Salesforce Commerce Cloud GitHub: repository e accesso.

  1. Acquisire dimestichezza con l'ambito di autorizzazione per le Admin API
  2. È necessario disporre di un client API di Account Manager con ambito sfcc.cdn-zones.rw.
  3. È necessario conoscere l'ID della zona eCDN da utilizzare con Managed Runtime. Per ottenere queste informazioni, utilizzare l'endpoint getZonesInfo della CDN Zones API.
  4. Utilizzare updateSecuritySettings per abilitare alwaysUseHttps nella zona. Managed Runtime supporta solo il traffico sul protocollo HTTPS.
  5. Impostare redirect_uri del client API SLAS in modo che includa la zona.
  6. Se è stato limitato il set di IP autorizzati ad accedere all'ambiente Managed Runtime, aggiungere gli IP CloudFlare utilizzati dalla eCDN al set di IP autorizzati.

Con l'endpoint createMrtRules è possibile creare regole che instradano il traffico a un ambiente Managed Runtime:

Si esaminino i dati forniti nel corpo della richiesta.

Il valore di mrtHostname è il dominio dell'ambiente Managed Runtime per l'instradamento del traffico. Deve fare riferimento a un ambiente Managed Runtime ospitato nel dominio mobify-storefront.com. Se il valore fornito viene utilizzato da una regola esistente, la richiesta non va a buon fine.

Managed Runtime è l'unica destinazione di instradamento supportata.

Il valore di expressions è una matrice di espressioni di regola di Cloudflare che controlla quali richieste vengono instradate a Managed Runtime. Per la maggior parte delle implementazioni è sufficiente una singola espressione di instradamento.

Oltre alle espressioni fornite, vengono utilizzate le seguenti regole di instradamento predefinite:

Le modifiche dell'instradamento vengono applicate immediatamente e l'accesso a un URL che corrisponde a un'espressione restituisce il contenuto recuperato da Managed Runtime.

Le espressioni vengono convalidate in base ai seguenti criteri:

  • http.host deve apparire esattamente una volta ed essere seguito dall'operatore eq. Il valore deve corrispondere alla zona.
  • Sono supportati i seguenti campi:
    • http.host
    • http.request.uri.path
    • http.request.uri
    • http.cookie
  • Un'espressione può contenere al massimo 3.072 caratteri.
  • A una zona possono essere associate al massimo 100 espressioni.

Man mano che si prosegue con l'implementazione in fasi, è possibile instradare più richieste a Managed Runtime.

Per modificare un'espressione di instradamento, utilizzare getMrtRule per ottenere gli ID del set di regole e della regola associata all'espressione che si desidera aggiornare:

Successivamente utilizzare updateMrtRule per aggiornare l'espressione:

Per disabilitare l'instradamento utilizzare getMrtRule per ottenere l'ID del set di regole:

Successivamente utilizzare deleteMrtRuleset per rimuovere l'instradamento a Managed Runtime per tale set di regole:

Se è stata completata l'implementazione in fasi o si desidera lanciare un nuovo sito, è possibile scegliere di instradare tutto il traffico per una zona a Managed Runtime utilizzando una singola espressione:

Negli ambienti in cui la eCDN non è disponibile, utilizzare composable-hybrid-dev-server per simulare l'instradamento eCDN.

Sebbene createMrtRules consenta la creazione di regole che instradano il traffico da un singolo nome host a più ambienti Managed Runtime, questo caso d'uso non è attualmente supportato.