Configurar con autenticación híbrida
Reglas de eCDN para implementaciones híbridas
Einstein Activities para implementaciones híbridas
Habilidades para garantizar el éxito
Ask the Community
Un lanzamiento por fases es una técnica para brindar una única experiencia de compra utilizando varias tecnologías de escaparate, como Storefront Reference Architecture (SFRA) y Composable Storefront.
Una CDN integrada (eCDN) puede enrutar el tráfico tanto a SFRA como a Managed Runtime al mismo tiempo, lo que le permite lanzar gradualmente un Composable Storefront.
Esta guía describe cómo utilizar Zonas de CDN de la API de Commerce para enrutar tráfico a Managed Runtime. También puede usar Business Manager para redirigir el tráfico a Managed Runtime. Configurar las reglas de enrutamiento de MRT en Business Manager
Antes de ejecutar los comandos de esta guía, sustituya los marcadores de posición por valores reales. Los marcadores de posición tienen el siguiente formato: $PLACEHOLDER.
A lo largo de esta guía, usamos un storefront de ejemplo con la URL https://www.example.comde producción .
sfcc.cdn-zones.rw.alwaysUseHttps en la zona. Managed Runtime solo admite tráfico a través de HTTPS.redirect_uri de cliente de API de SLAS para que incluya la zona.Con el punto de conexión createMrtRules, puede crear reglas que enruten el tráfico a un entorno de Managed Runtime:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2 --header "Authorization: Bearer $TOKEN" \
3 --header 'Content-Type: application/json' \
4 --data '{
5 "mrtHostname": "example-production.mobify-storefront.com",
6 "expressions": [
7 "http.host eq \"www.example.com\" and http.request.uri.path matches \"^/products\""
8 ]
9 }'Examinemos los datos proporcionados en el cuerpo de la solicitud.
El valor de mrtHostname es el dominio del entorno de Managed Runtime para el enrutamiento de tráfico. Debe hacer referencia a un entorno de Managed Runtime alojado en el dominio mobify-storefront.com. Si el valor proporcionado está siendo utilizado por una regla existente, la solicitud falla.
Managed Runtime es el único destino del enrutamiento admitido.
Note
El valor de expressions es una variedad de expresiones de reglas de Cloudflare que controla qué solicitudes se enrutan a Managed Runtime. Para la mayoría de las implementaciones, una única expresión de enrutamiento es suficiente.
Además de las expresiones proporcionadas, se utilizan las siguientes reglas de enrutamiento predeterminadas:
1(
2 http.request.uri.path matches "^/callback.*" or
3 http.request.uri.path matches "^/mobify.*" or
4 http.request.uri.path matches "^/worker\.js.*"
5)Los cambios de enrutamiento se aplican de inmediato, y navegar a una URL que coincide con una expresión devuelve contenido recuperado de Managed Runtime.
Se admiten los siguientes escenarios de enrutamiento:
Un único nombre de host asignado a un único entorno de MRT:
http.host eq \"www.example.com\" → example-production.mobify-storefront.comVarios nombres de host asignados a un único entorno de MRT:
http.host in {\"www.example.com\" \"prod.example.com\" \"us.example.com\"}→ example-production.mobify-storefront.comActualmente no se admite el siguiente escenario de enrutamiento:
Las expresiones se validan con respecto a los siguientes criterios:
http.host Debe ocurrir exactamente una vez y debe ir seguido por el eq operador O in. Consulte más arriba para ver ejemplos de uso.http.hosthttp.request.uri.pathhttp.request.urihttp.cookieMientras continúa con su lanzamiento por fases, puede enrutar más solicitudes a Managed Runtime.
Para modificar una expresión de enrutamiento, utilice getMrtRule para obtener las identificaciones del conjunto de reglas y la regla asociados con la expresión que desea actualizar:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2--header "Authorization: Bearer $TOKEN"Luego, utilice updateMrtRule para actualizar la expresión:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules/$RULESET/rules/$RULE" \
2--request 'PATCH' \
3--header "Authorization: Bearer $TOKEN" \
4--header 'Content-Type: application/json' \
5--data '{
6 "expression": "http.host eq \"www.example.com\" and (http.request.uri.path matches \"^/products\" or http.request.uri.path matches \"^/categories\")"
7 }'Para agregar más reglas de enrutamiento a un entorno de Managed Runtime existente, use updateMrtRuleset y proporcione las expresiones de mrtHostname enrutamiento y adicionales:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2 --request 'PATCH' \
3 --header "Authorization: Bearer $TOKEN" \
4 --header 'Content-Type: application/json' \
5 --data '{
6 "mrtHostname": "example-production.mobify-storefront.com",
7 "expressions": ["http.host eq \"www.example.com\" and http.request.uri.path matches \"^/home\""]
8 }'Para agregar reglas de enrutamiento para un nuevo entorno de Managed Runtime, use el punto de conexión createMrtRules y proporcione un nuevo mrtHostname valor:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2--header "Authorization: Bearer $TOKEN" \
3--header 'Content-Type: application/json' \
4--data '{
5 "mrtHostname": "example-development.mobify-storefront.com",
6 "expressions": [
7 "http.host eq \"dev.example.com\" and http.request.uri.path matches \"^/products\""
8 ]
9 }'Para actualizar las reglas existentes para enrutar a un entorno de Managed Runtime diferente, use updateMrtRuleset y proporcione el oldMrtHostname y el (nuevo) mrtHostname al que desea enrutar:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2 --request 'PATCH' \
3 --header "Authorization: Bearer $TOKEN" \
4 --header 'Content-Type: application/json' \
5 --data '{
6 "oldMrtHostname": "example-old.mobify-storefront.com",
7 "mrtHostname": "example-new.mobify-storefront.com"
8 }'Si va a cambiar a una CDN de terceros o ya no desea enrutar una ruta de acceso determinada de eCDN a MRT, puede deshabilitar el enrutamiento.
Para deshabilitar el enrutamiento, use getMrtRules para obtener los identificadores de la configuración que desea eliminar:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules" \
2--header "Authorization: Bearer $TOKEN"A continuación, para quitar la regla de enrutamiento de Managed Runtime, use deleteMrtRule y pase los ID aplicables devueltos por getMrtRules:
1curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules/$RULESET/rules/$RULE" \
2--request 'DELETE' \
3--header "Authorization: Bearer $TOKEN"Si desea eliminar todas las reglas de enrutamiento de Managed Runtime, use deleteMrtRuleset:
1`curl "https://$CODE.api.commercecloud.salesforce.com/cdn/zones/v1/organizations/$ORG/zones/$ZONE/mrtrules/$RULESET" \`
2--request 'DELETE' \
3--header "Authorization: Bearer $TOKEN"Cuando complete su lanzamiento por fases, o si lanzará un sitio nuevo, puede elegir enrutar todo el tráfico para una zona a Managed Runtime usando una única expresión:
1http.host eq \"www.example.com\"En los entornos en los que eCDN no está disponible, utilice composable-hybrid-dev-server para simular el enrutamiento de eCDN.