Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los servicios de Azure priorizan la máxima disponibilidad y confiabilidad. Sin embargo, los eventos aleatorios todavía pueden interrumpir o detener la comunicación. Por ejemplo, pueden producirse problemas de red y resolución de nombres, errores o falta de respuesta temporal. Estas condiciones no son lo suficientemente graves como para abandonar la implementación regional, algo que podría hacer en una situación de recuperación ante desastres. Sin embargo, las interrupciones de disponibilidad que duran unos minutos o incluso segundos pueden afectar a su negocio.
Para reducir el impacto en los recursos de Azure de estos eventos, replique el contenido de los recursos de una región de Azure a otra mediante la creación de tareas de replicación. Una tarea de replicación mueve datos, eventos o mensajes de un recurso de origen de una región a un recurso de destino en otra región. Si el origen se queda sin conexión, el destino puede asumir el control.
También puede usar tareas de replicación para mover el contenido entre los recursos de la misma región. Sin embargo, si toda la región deja de estar disponible o experimenta interrupciones, los recursos de origen y de destino se ven afectados.
En esta guía se incluye información general sobre las tareas de replicación con tecnología de Azure Logic Apps. En la guía también se muestra cómo crear una tarea de replicación para colas de Azure Service Bus como ejemplo.
¿Qué es una tarea de replicación?
Una tarea de replicación recibe contenido, como datos, eventos o mensajes, de un recurso de origen, como una cola de Service Bus. A continuación, la tarea mueve este contenido a un recurso de destino y, a continuación, elimina el contenido del origen, excepto cuando el origen es una entidad de Azure Event Hubs. Las tareas de replicación normalmente mueven contenido sin cambios. Estas tareas también no tienen estado, por lo que no comparten estados ni otros efectos secundarios en ejecuciones paralelas o secuenciales de una tarea.
Cuando se usan las plantillas disponibles para crear tareas de replicación, cada tarea de replicación funciona con tecnología de Azure Logic Apps de inquilino único. En segundo plano, un flujo de trabajo sin estado en un recurso de aplicación lógica estándar controla cada tarea. La aplicación lógica puede incluir varios flujos de trabajo para las tareas de replicación.
Nota:
Las tareas de replicación con tecnología de Azure Logic Apps incluyen propiedades de replicación. Si los protocolos de origen y destino difieren, las tareas realizan correspondencias entre las estructuras de metadatos de origen y de destino.
La plataforma Azure Logic Apps es escalable y confiable para configurar y ejecutar aplicaciones sin servidor, incluidas las tareas de replicación y federación. El entorno de ejecución para Azure Logic Apps de un solo inquilino usa el modelo de extensibilidad de Azure Functions y se hospeda como una extensión en el entorno de ejecución de Azure Functions. Este diseño proporciona portabilidad, flexibilidad y más rendimiento para los flujos de trabajo de la aplicación lógica. Azure Logic Apps de inquilino único también proporciona otras funcionalidades y ventajas heredadas de los ecosistemas de Azure Functions y Azure App Service.
Para obtener más información sobre la replicación y la federación, consulte:
- Federación en varios sitios y regiones de Event Hubs
- Patrones de tareas de replicación de eventos
- Replicación de mensajes de Service Bus y federación entre regiones
- Patrones de tareas de replicación de mensajes
Plantillas de tareas de replicación
En la tabla siguiente se enumeran algunas plantillas de tareas de replicación de ejemplo que están disponibles para Azure Event Hubs y Azure Service Bus:
| Tipo de recurso | Origen y destino de replicación |
|---|---|
| Espacio de nombres de Azure Event Hubs | - De instancia de Event Hubs a instancia de Event Hubs - De instancia de Event Hubs a cola de Service Bus - De instancia de Event Hubs a artículo de Service Bus |
| Espacio de nombres de Azure Service Bus | - De cola de Service Bus a cola de Service Bus - De cola de Service Bus a tema de Service Bus - De tema de Service Bus a tema de Service Bus - De cola de Service Bus a instancia de Event Hubs - De tema de Service Bus a cola de Service Bus - De tema de Service Bus a instancia de Event Hubs Importante: Cuando una cola es el origen, una tarea de replicación no copia los mensajes, sino que los mueve del origen al destino y los elimina del origen. Para reflejar los mensajes en su lugar, use un tema como origen donde la suscripción "main" actúa como un punto de conexión de cola. De este modo, el destino obtiene una copia de cada mensaje del origen. Para enrutar mensajes entre diferentes regiones, cree una cola en la que se envíen mensajes desde una aplicación. La tarea de replicación transfiere mensajes de esa cola a una cola de destino en un espacio de nombres que se encuentra en otra región. También puede usar una suscripción de tema como la entidad que actúa como cola de transferencia. Para más información, consulte Topología de replicación para ServiceBusCopy. |
Topología y flujo de trabajo de replicación
Para ayudarle a visualizar cómo funciona una tarea de replicación cuando usa un flujo de trabajo de aplicación lógica estándar, los diagramas siguientes muestran la estructura de la tarea de replicación y el flujo de trabajo para instancias de Event Hubs y colas de Service Bus.
Topología de replicación de Event Hubs
En el diagrama siguiente se muestra el flujo de trabajo de la topología y la tarea de replicación entre instancias de Event Hubs:
Metadatos y asignaciones de propiedades para Event Hubs
Los nuevos valores asignados por el servicio en el espacio de nombres de Event Hubs de destino reemplazan los siguientes elementos del espacio de nombres de origen:
- Metadatos asignados por el servicio de un evento
- Hora de puesta en cola original
- Número de secuencia
- Desplazar
Para las funciones auxiliares y las tareas de replicación en los ejemplos proporcionados por Azure, los valores originales se conservan en las siguientes propiedades de usuario:
-
repl-enqueue-time(cadena de ISO8601) repl-sequencerepl-offset
Dichas propiedades son de tipo string y contienen el valor en cadena de las propiedades originales respectivas. Si el evento se reenvía varias veces, los metadatos asignados por el servicio del origen inmediato se anexan a las propiedades existentes, con los valores separados por punto y coma. Para obtener más información, consulte Metadatos asignados por el servicio.
Para obtener información sobre la replicación y la federación en Azure Event Hubs, consulte:
Topología de replicación de Service Bus
En el diagrama siguiente se muestra el flujo de trabajo de la topología y la tarea de replicación entre colas de Service Bus:
Metadatos y asignaciones de propiedades para Service Bus
Para Service Bus, los nuevos valores asignados por el servicio en la cola o el tema de destino de Service Bus reemplazan los siguientes elementos de la cola o el tema de origen:
- Metadatos asignados por el servicio de un mensaje
- Hora de puesta en cola original
- Número de secuencia
Para las tareas de replicación predeterminadas en los ejemplos proporcionados por Azure, los valores originales se conservan en las siguientes propiedades de usuario:
-
repl-enqueue-time(cadena de ISO8601) repl-sequence
Dichas propiedades son de tipo string y contienen el valor en cadena de las propiedades originales respectivas. Si el mensaje se reenvía varias veces, los metadatos asignados por el servicio del origen inmediato se anexan a las propiedades existentes, y los valores se separan con punto y coma. Para obtener más información, consulte Metadatos asignados por el servicio.
Para obtener información sobre la replicación y la federación en Azure Service Bus, consulte:
Metadatos y asignaciones de propiedades entre Service Bus y Event Hubs
Cuando una tarea se replica de Service Bus a Event Hubs, la tarea asigna solo la propiedad User Properties a la propiedad Properties. Cuando la tarea se replica desde Event Hubs a Service Bus, la tarea asigna las siguientes propiedades:
| De Event Hubs | A Service Bus |
|---|---|
| ContentType | ContentType |
| CorrelationId | CorrelationId |
| MessageId | MessageId |
| PartitionKey | Clave de Partición Id de Sesión |
| Propiedades | Propiedades de usuario |
| ReplyTo | ReplyTo |
| ReplyToGroupName | ReplyToSessionId |
| Asunto | Etiqueta |
| A | A |
Conservación del orden
Para Event Hubs, la replicación entre el mismo número de particiones crea clones uno a uno sin cambios en los eventos, pero también puede incluir duplicados. Para la replicación entre diferentes números de particiones, solo se conserva el orden relativo de los eventos en función de la clave de partición. El resultado también puede incluir duplicados. Para obtener más información, consulte Secuencias y conservación del orden.
Para utilizar Service Bus, debe activar las sesiones. Las secuencias de mensajes con el mismo identificador de sesión desde la fuente se envían a la cola o tema de destino como un lote. Los mensajes están en la secuencia original y tienen el mismo identificador de sesión. Para obtener más información, vea Secuencias y conservación del orden.
Importante
Las tareas de replicación no realizan un seguimiento de los mensajes que se procesaron anteriormente cuando el origen experimenta un evento disruptivo. Para evitar el reprocesamiento de mensajes ya procesados, configure una manera de realizar un seguimiento de los mensajes ya procesados y reanudar el procesamiento con los mensajes no procesados.
Por ejemplo, puede configurar una base de datos que almacena el estado de procedimiento para cada mensaje. Cuando llegue un mensaje, compruebe el estado y el proceso del mensaje solo cuando el mensaje no esté procesado. De este modo, no se produce ningún procesamiento para un mensaje ya procesado.
Este patrón muestra el concepto de idempotencia . La repetición de una acción en una entrada produce el mismo resultado sin otros efectos secundarios o no cambia el valor de la entrada.
Para más información sobre la federación de varios sitios y varias federaciones de regiones para los servicios de Azure donde puede crear tareas de replicación, consulte:
- Federación en varios sitios y regiones
- Patrones de tareas de replicación de eventos
- Replicación de mensajes y federación entre regiones
- Patrones de tareas de replicación de mensajes
Requisitos previos
Una cuenta y una suscripción de Azure. Obtenga una cuenta gratuita de Azure.
Recursos o entidades de origen y destino.
Asegúrese de que el origen y el destino están en diferentes regiones de Azure. De este modo, puede probar el escenario de conmutación por error de recuperación ante desastres geográfica. Estas entidades pueden variar en función de la plantilla de tarea que quiera usar. En el ejemplo de esta guía se usan dos colas de Service Bus, que se encuentran en diferentes espacios de nombres y regiones de Azure.
Un recurso de aplicación lógica estándar vacío que puede reutilizar al crear la tarea de replicación. De este modo, puede personalizar este recurso para la tarea de replicación.
En la lista siguiente se proporcionan motivos y procedimientos recomendados para crear un recurso de aplicación lógica de antemano:
Puede elegir el plan de hospedaje y el plan de tarifa de la aplicación lógica, en función de las necesidades del escenario de replicación, como la capacidad, el rendimiento y el escalado.
Aunque puede crear una aplicación lógica al crear la tarea de replicación, no puede cambiar la región, el plan de hospedaje y el plan de tarifa durante la creación de la tarea.
Puede crear la aplicación lógica en una región que difiere de las entidades de origen y de destino de la tarea de replicación.
Actualmente, esta guía se proporciona debido a la integración nativa de la tarea de replicación en los recursos de Azure. Al crear una tarea de replicación entre entidades y decidir crear un recurso de aplicación lógica en lugar de usar uno existente, la nueva aplicación lógica se crea en la misma región que la entidad de origen. Si la región de origen deja de estar disponible, la tarea de replicación tampoco puede funcionar. En un escenario de conmutación por error, la tarea tampoco puede empezar a leer datos del nuevo origen, anteriormente la entidad de destino, que es lo que intenta lograr el patrón de replicación activo-pasivo.
Puede personalizar este recurso de aplicación lógica con antelación eligiendo el plan de hospedaje y el plan de tarifa, en lugar de usar los atributos predeterminados. De este modo, la tarea de replicación puede procesar más eventos o mensajes por segundo para una replicación más rápida. Si crea este recurso, al crear la tarea de replicación, se fijan estos atributos predeterminados.
Asegúrese de que este recurso de aplicación lógica solo contenga flujos de trabajo de tareas de replicación, especialmente si quiere seguir el patrón de replicación activo-pasivo. Cuando se usa una aplicación lógica existente para crear la tarea de replicación, esta opción agrega la tarea (flujo de trabajo sin estado) a ese recurso de aplicación lógica.
Para más información, consulte Creación de un flujo de trabajo de aplicación lógica estándar mediante Azure Portal.
Opcional: cadena de conexión para el espacio de nombres de destino. Esta opción permite tener el destino en una suscripción diferente, de modo que pueda configurar la replicación entre suscripciones.
Para buscar la cadena de conexión de la entidad de destino, siga estos pasos:
En Azure Portal, vaya a su espacio de nombres de destino.
En el menú de la barra lateral del espacio de nombres, en Configuración, seleccione Directivas de acceso compartido.
En la página Directivas de acceso compartido que se abre, en Directiva, seleccione RootManageSharedAccessKey.
En el panel Directiva SAS: RootManageSharedAccessKey que se abre, copie el valor de Cadena de conexión principal.
Guarde la cadena de conexión para poder usarla más adelante para conectarse al espacio de nombres de destino.
Convenciones de nomenclatura
Considere cuidadosamente la estrategia de nomenclatura que usa para las tareas o entidades de replicación. Asegúrese de que los nombres son fáciles de identificar y diferenciar. Por ejemplo, si está trabajando con un espacio de nombres Event Hubs, la tarea de replicación se replica desde todas las instancias de Event Hubs del espacio de nombres de origen. Si está trabajando con colas de Service Bus, en la tabla siguiente se proporciona un ejemplo de cómo asignar un nombre a las entidades y a la tarea de replicación:
| Nombre de origen | Ejemplo | Aplicación de replicación | Ejemplo | Nombre de destino | Ejemplo |
|---|---|---|---|---|---|
Espacio de nombres: <name>-sb-<region> |
fabrikam-sb-weu |
Aplicación lógica: <name-source-region-target-region> |
fabrikam-rep-weu-wus |
Espacio de nombres: <name>-sb-<region> |
fabrikam-sb-wus |
Queue: <name> |
jobs-transfer |
Flujo de trabajo: <name> |
jobs-transfer-workflow |
Queue: <name> |
jobs |
Creación de una tarea de replicación
En este ejemplo se muestra cómo crear una tarea de replicación para colas de Service Bus.
En Azure Portal, busque el espacio de nombres de Service Bus que quiere usar como origen.
En el menú de la barra lateral del espacio de nombres, en la sección Automatización , seleccione Tareas.
En la página Tareas , seleccione Agregar una tarea para que pueda seleccionar una plantilla de tarea.
En la página Agregar una tarea , en Seleccionar una plantilla, en la plantilla de la tarea de replicación que desea crear, seleccione Seleccionar. Si no aparece la página siguiente, seleccione Siguiente: Autenticar.
En este ejemplo se usa la plantilla de tarea Replicar en la cola desde la cola de Service Bus, que replica el contenido entre las colas de Service Bus.
En la pestaña Autenticar , en la sección Conexiones , seleccione Crear para cada conexión que aparezca en la tarea. Proporcione credenciales de autenticación para todas las conexiones. Los tipos de conexiones de cada tarea varían según la tarea.
En este ejemplo se muestra el aviso para crear la conexión al espacio de nombres de Service Bus destino donde existe la cola de destino. La conexión existe para el espacio de nombres de Service Bus de origen.
Proporcione la información necesaria sobre el destino y, luego, seleccione Crear.
En este ejemplo, proporcione un nombre para mostrar para la conexión y, luego, seleccione el espacio de nombres de Service Bus donde existe la cola de destino.
Sugerencia
En su lugar, puede crear la conexión con una cadena de conexión. Esta opción permite tener el destino en una suscripción diferente, de modo que pueda configurar la replicación entre suscripciones. El destino, o el origen, según dónde haya empezado a crear la tarea de replicación, se configura dinámicamente para que solo tenga que conectar el destino. Para usar una cadena de conexión, siga estos pasos:
En el panel Conectar, seleccione Connect via connection string (Conectar mediante la cadena de conexión).
En el cuadro Cadena de conexión , escriba la cadena de conexión del espacio de nombres de destino.
En el ejemplo siguiente se muestra la conexión creada correctamente:
Después de finalizar todas las conexiones, seleccione Siguiente: Configurar.
En la pestaña Configurar, proporcione un nombre para la tarea y cualquier otra información necesaria.
Nota:
No se puede cambiar el nombre de la tarea después de la creación. Considere un nombre que siga siendo aplicable si modifica el flujo de trabajo subyacente. Los cambios que haga en el flujo de trabajo subyacente solo se aplican a la tarea que creó y no a la plantilla de tarea.
Por ejemplo, si llama a la tarea
fabrikam-rep-weu-wus, pero después edita el flujo de trabajo subyacente con otra finalidad, no podrá cambiar el nombre de la tarea para que coincida.Para agregar el flujo de trabajo de tareas a una aplicación lógica estándar existente, en la lista Aplicación lógica, seleccione esa aplicación lógica. Para crear un nuevo recurso de aplicación lógica estándar en su lugar, en la lista Aplicación lógica , seleccione Crear nuevo y proporcione el nombre que se usará para la nueva aplicación lógica.
Nota:
Si crea un nuevo recurso de aplicación lógica durante la creación de la tarea de replicación, la aplicación lógica se crea en la misma región que la entidad de origen. Esta situación es problemática si la región de origen deja de estar disponible y no puede funcionar en un escenario de conmutación por error. El procedimiento recomendado es crear una aplicación lógica estándar en una región diferente a la del origen. Al crear la tarea de replicación, seleccione la aplicación lógica existente y agregue a esta el flujo de trabajo sin estado subyacente. Para obtener más información, consulte Requisitos previos.
Seleccione Revisar y crear cuando haya terminado.
En la pestaña Revisar y crear , confirme los recursos de Azure que requiere la tarea de replicación para la operación.
Si decide crear un nuevo recurso de aplicación lógica para la tarea de replicación, en la pestaña se muestran los recursos de Azure necesarios que crea la tarea de replicación para funcionar.
Por ejemplo, estos recursos incluyen una cuenta de Azure Storage que contiene información de configuración del recurso de aplicación lógica, el flujo de trabajo y otras operaciones en tiempo de ejecución. Con Event Hubs, esta cuenta de almacenamiento contiene información de punto de control. También contiene la posición o el desplazamiento en la secuencia en la que se detiene la entidad de origen si la región de origen se interrumpe o deja de estar disponible.
En el ejemplo siguiente se muestra la pestaña Revisar y crear si eligió crear una aplicación lógica:
Si decide reutilizar un recurso de aplicación lógica existente para la tarea de replicación, en la pestaña se muestran los recursos de Azure que la replicación reutiliza para funcionar.
En el ejemplo siguiente se muestra la pestaña Revisar y crear si eligió crear reutilizar una aplicación lógica existente:
Nota:
Si el origen, el destino o ambos están en una red virtual, debe configurar los permisos y el acceso después de crear la tarea. En este escenario, se requieren permisos y acceso para que el flujo de trabajo de la aplicación lógica pueda realizar la tarea de replicación.
Cuando esté listo, seleccione Crear.
La tarea que ha creado, que se activa y ejecuta de manera automática, ahora aparece en la lista Tareas.
Sugerencia
Si la tarea no aparece de inmediato, intente actualizar la tarea de listas o espere un poco antes de actualizar. En la barra de herramientas, seleccione Actualizar.
Si los recursos están detrás de una red virtual, no olvide configurar permisos para que el recurso de aplicación lógica y el flujo de trabajo accedan a esos recursos.
Configuración de la directiva de reintentos
Para evitar la pérdida de datos durante un evento de disponibilidad en cualquiera de los lados de una relación de replicación, configure la directiva de reintento para garantizar su solidez. Para configurar la directiva de reintento para una tarea de replicación, consulte las directivas de reintento y los pasos para editar el flujo de trabajo subyacente.
Revisión del historial de una tarea
En este ejemplo se muestra cómo ver el historial de flujos de trabajo de una tarea junto con sus estados, entradas, salidas y otra información. Sigue usando el ejemplo de una tarea de replicación de colas de Service Bus.
En Azure Portal, busque el recurso o la entidad de Azure que tiene el historial de tareas que quiere revisar.
En este ejemplo, este recurso es un espacio de nombres de Service Bus.
En el menú de la barra lateral del recurso, en Configuración, en la sección Automatización , seleccione Tareas.
En la página Tareas , busque la tarea que desea revisar. En la columna Ejecuciones de la tarea, seleccione Ver.
Este paso abre el diseñador para el flujo de trabajo sin estado subyacente en un recurso de aplicación lógica estándar.
Para ver el historial de ejecución del flujo de trabajo sin estado, en la barra lateral del flujo de trabajo, en Herramientas, seleccione Historial de ejecución.
La pestaña Historial de ejecución muestra las ejecuciones anteriores, en curso y en espera de la tarea junto con sus identificadores, estados, horas de inicio y duraciones de ejecución.
En la tabla siguiente se describen los posibles estados de una ejecución:
Etiqueta de estado Descripción Cancelado La tarea se canceló durante la ejecución. Erróneo La tarea tiene al menos una acción con errores, pero no hubo acciones posteriores para resolver el error. Ejecución La tarea está en ejecución. Correcto Todas las acciones correctas. Una tarea puede finalizar correctamente de todos modos si se produjo un error en una acción, pero hubo una acción posterior para resolver dicho error. En espera La ejecución todavía no se inicia y está en pausa porque una instancia anterior de la tarea todavía está en ejecución. Para ver cada paso de la ejecución, su estado y otra información, seleccione esa ejecución.
Se abre la página de detalles de ejecución y muestra cada paso que se ejecutó en el flujo de trabajo subyacente.
Un flujo de trabajo siempre se inicia con un desencadenador. En esta tarea, el flujo de trabajo comienza con un desencadenador de Service Bus que espera a que lleguen los mensajes a la cola de Service Bus origen.
Cada paso muestra su estado y la duración de la ejecución. Los pasos que tienen duraciones de 0 segundos tardaron menos de un segundo en ejecutarse.
Para revisar las entradas y salidas de cada paso, seleccione el paso.
Esta acción abre un panel que muestra los detalles de las entradas, salidas y propiedades de ese paso.
En el ejemplo siguiente se muestran las entradas, salidas y propiedades del desencadenador de Service Bus.
Puede crear sus propios flujos de trabajo automatizados para integrar aplicaciones, datos, servicios y sistemas, además del contexto de las tareas de replicación para los recursos de Azure. Consulte Creación de un flujo de trabajo de aplicación lógica estándar.
Supervisión de las tareas de replicación
Para comprobar el rendimiento y el estado de la tarea de replicación o el flujo de trabajo de la aplicación lógica subyacente, use Application Insights. Azure Monitor proporciona esta funcionalidad.
El mapa de aplicaciones es una herramienta visual útil que puede usar para supervisar las tareas de replicación. Azure Monitor genera automáticamente este mapa a partir de la información de supervisión capturada. Puede explorar el rendimiento y la confiabilidad de las transferencias de origen y destino de la tarea de replicación. Para obtener información de diagnóstico inmediata y una visualización de los detalles del registro con baja latencia, trabaje con la herramienta del portal de Live Metrics. Esta herramienta también forma parte de Azure Monitor.
Edición de una tarea
Para cambiar una tarea, elija una opción:
Edite la tarea en línea para cambiar las propiedades de la tarea, como la información de conexión o de configuración.
Editar el flujo de trabajo subyacente de la tarea en el diseñador.
Edición de la tarea en línea
En Azure Portal, busque el recurso que tiene la tarea que desea actualizar.
En el menú de la barra lateral del recurso, en la sección Automatización , seleccione Tareas.
En la lista de tareas, busque la tarea que quiere actualizar. Abra el menú de puntos suspensivos (…) de la tarea y seleccione Edit in-line (Editar en línea).
De manera predeterminada, aparece la pestaña Autenticar y muestra las conexiones existentes.
Para agregar nuevas credenciales de autenticación o seleccionar diferentes credenciales de autenticación existentes para una conexión, abra el menú de puntos suspensivos de la conexión (...). Seleccione Agregar nueva conexión o, si está disponible, credenciales de autenticación diferentes.
Nota:
Solo puede editar la conexión de destino, no la de origen.
Para actualizar otras propiedades de la tarea, seleccione Siguiente: Configurar.
En la tarea de este ejemplo, puede especificar diferentes colas de origen y destino. Sin embargo, el nombre de la tarea y la aplicación lógica y el flujo de trabajo subyacentes siguen siendo los mismos.
Cuando finalice, seleccione Guardar.
Edición del flujo de trabajo subyacente de una tarea
Puede editar el flujo de trabajo subyacente detrás de una tarea de replicación. Las modificaciones cambian la configuración original de la tarea que creó, pero no la propia plantilla de tarea. Después de hacer y guardar los cambios, la tarea editada ya no realiza la misma función que la tarea original. Si quiere una tarea que realice la funcionalidad original, es posible que tenga que crear una tarea con la misma plantilla.
Si no desea volver a crear la tarea original, evite cambiar el flujo de trabajo detrás de la tarea mediante el diseñador. En su lugar, cree un recurso de aplicación lógica estándar y un flujo de trabajo sin estado para satisfacer sus necesidades de integración. Para más información, consulte Creación de un flujo de trabajo de aplicación lógica estándar.
En Azure Portal, busque el recurso que tiene la tarea que desea actualizar.
En el menú de la barra lateral del recurso, en Automatización, seleccione Tareas.
En la lista de tareas, busque la tarea que quiere actualizar. Abra el menú de puntos suspensivos (…) de la tarea y seleccione Open in Logic Apps (Abrir en Logic Apps).
Azure Portal cambia el contexto al diseñador, donde puede editar el flujo de trabajo.
Puede editar el desencadenador y las acciones del flujo de trabajo.
Para ver las propiedades del desencadenador o de una acción, seleccione el desencadenador o la acción.
Se abre el panel de información del desencadenador o la acción. Puede editar las propiedades del desencadenador o la acción.
En el ejemplo siguiente se agrega una descripción en el desencadenador sobre el flujo de trabajo.
Para guardar los cambios, en la barra de herramientas del diseñador, seleccione Guardar.
Para probar y ejecutar el flujo de trabajo actualizado, en la barra de herramientas del diseñador, seleccione Ejecutar>Ejecutar.
Al finalizar la ejecución, el diseñador muestra los detalles de ejecución del flujo de trabajo.
Para revisar las entradas y salidas de cada paso, seleccione el paso, y se abrirá un panel que muestra los detalles de las entradas, salidas y propiedades de ese paso.
En el ejemplo siguiente se muestran las entradas, salidas y propiedades del desencadenador de Service Bus seleccionado:
Para deshabilitar el flujo de trabajo para que la tarea no continúe ejecutándose, en la barra lateral del flujo de trabajo, en Configuración, seleccione Configuración. En la lista Estado de flujo de trabajo , seleccione Deshabilitado.
Para más información, consulte Deshabilitar o habilitar una aplicación lógica implementada.
Configuración de la conmutación por error en Azure Event Hubs
Para la replicación de Azure Event Hubs entre los mismos tipos de entidad, la recuperación ante desastres geográfica requiere la conmutación por error de la entidad de origen a la entidad de destino. A continuación, el proceso informa a los consumidores y productores de eventos afectados para que utilicen el punto de conexión de la entidad de destino. La entidad de destino se convierte en el nuevo origen.
Si se produce un desastre y la entidad de origen conmuta por error, los consumidores y productores, incluida la tarea de replicación, se redirigen al nuevo origen. La tarea de replicación crea una cuenta de almacenamiento que contiene información de punto de control. La cuenta de almacenamiento contiene también la posición o el desplazamiento en la secuencia en la que se detiene la entidad de origen si la región de origen se interrumpe o deja de estar disponible.
Limpie manualmente cualquier información heredada del origen original y vuelva a configurar la tarea de replicación. Esta acción garantiza que la cuenta de almacenamiento no contenga información heredada del origen original. También asegúrese de que la tarea de replicación comience a leer y replicar eventos desde el principio de la nueva secuencia de origen.
En Azure Portal, abra el recurso de aplicación lógica y, a continuación, abra el flujo de trabajo subyacente para la tarea de replicación.
Nota:
El recurso de aplicación lógica solo debe contener flujos de trabajo de tareas de replicación.
En el menú de la barra lateral del flujo de trabajo, en Configuración, seleccione Configuración. En la lista Estado de flujo de trabajo , seleccione Deshabilitado.
Para buscar la cuenta de almacenamiento que usa el recurso de aplicación lógica subyacente de la tarea de replicación para almacenar el punto de control y la información de desplazamiento de flujo de la entidad de origen, siga estos pasos:
En el menú de la barra lateral de la aplicación lógica, en Configuración, seleccione Variables de entorno.
En la página Variables de entorno , en la pestaña Configuración de la aplicación, busque la configuración de la aplicación AzureWebJobsStorage y seleccione Mostrar valor para ver el nombre de la cuenta de almacenamiento.
Esta configuración especifica la cadena de conexión y la cuenta de almacenamiento que usa el recurso de aplicación lógica.
En el ejemplo siguiente se muestra cómo buscar el nombre de esta cuenta de almacenamiento, que es storagefabrikamreplb0c:
Para confirmar que existe el recurso de la cuenta de almacenamiento, escriba el nombre en el cuadro de búsqueda de Azure Portal. Seleccione la cuenta de almacenamiento:
Elimine la carpeta que contiene el punto de control y la información de desplazamiento de la entidad de origen mediante los pasos siguientes:
Descargue, instale y abra la versión más reciente del cliente de escritorio de Explorador de Azure Storage, si no la tiene.
Nota:
Para la tarea de limpieza de eliminación, actualmente tiene que usar el cliente de Explorador de Azure Storage, no el explorador de almacenamiento, el explorador, el editor o la experiencia de administración en Azure Portal.
Aunque puede eliminar carpetas de contenedor mediante el comando de PowerShell
Remove-AzStorageDirectory, este comando solo funciona en carpetas vacías.Si aún no lo ha hecho, inicie sesión con su cuenta de Azure. Asegúrese de que la suscripción de Azure para el recurso de la cuenta de almacenamiento esté seleccionada. Para obtener más información, consulte Introducción a Explorador de Storage.
En la ventana del Explorador, en el nombre de la suscripción de Azure, vaya a Cuentas de almacenamiento>{your-storage-account-name}>Contenedores de blobs>azure-webjobs-eventhub.
Nota:
Si la carpeta azure-webjobs-eventhub no existe, la tarea de replicación aún no se ha ejecutado. La carpeta solo aparece después de que la tarea de replicación se ejecute al menos una vez.
En el panel azure-webjobs-eventhub que se abre, seleccione la carpeta espacio de nombres de Event Hubs. El nombre tiene el siguiente formato:
<source-Event-Hubs-namespace-name>.servicebus.windows.net.Una vez que se abra la carpeta del espacio de nombres, en el panel azure-webjobs-eventhub, seleccione la carpeta <former-source-entity-name>. En el menú contextual de la barra de herramientas o de la carpeta, seleccione Eliminar:
Confirme que desea eliminar la carpeta.
Vuelva al recurso de aplicación lógica o al flujo de trabajo que subyace a la tarea de replicación. Reinicie la aplicación lógica o vuelva a habilitar el flujo de trabajo.
Los productores y consumidores deben usar el nuevo punto de conexión de origen. Proporcione información sobre la nueva entidad de origen en una ubicación fácil de acceder y actualizar. Si los productores o consumidores encuentran errores frecuentes o persistentes, deben comprobar esa ubicación y ajustar su configuración. Hay varias maneras de compartir esa configuración. Los recursos compartidos de archivos y DNS son ejemplos.
Para obtener más información sobre la recuperación ante desastres geográfica, consulte la siguiente documentación:
- Azure Event Hubs: recuperación ante desastres geográfica
- Recuperación ante desastres con localización geográfica de Azure Service Bus
Edición de la configuración de escalado horizontal del plan de hospedaje
En Azure Portal, abra el recurso de aplicación lógica subyacente para la tarea de replicación.
En el menú de la barra lateral de aplicación lógica, en Plan de App Service, seleccione Escalado horizontal.
En función de las necesidades del escenario, en Plan de escalabilidad horizontal y Escalado horizontal de aplicaciones, cambie los valores de la ráfaga máxima y las instancias siempre preparadas, respectivamente.
Cuando haya terminado, en la barra de herramientas de la página Escalado horizontal, seleccione Guardar.
Para obtener más información, revise la siguiente documentación. El plan De flujo de trabajo estándar comparte algunos aspectos con el plan Azure Functions Premium:
Problemas y errores de replicación
En esta sección se describen las posibles formas en que la replicación puede producir un error o dejar de funcionar:
Límites de tamaño de los mensajes
Asegúrese de enviar mensajes de menos de 1 MB, ya que la tarea de replicación agrega propiedades de replicación. De lo contrario, si el tamaño del mensaje es mayor que el tamaño de los eventos que la tarea de replicación puede enviar a una entidad de Event Hubs después de que la tarea agregue propiedades de replicación, se produce un error en el proceso de replicación.
Por ejemplo, suponga que el tamaño del mensaje es de 1 MB. Una vez que la tarea de replicación agrega propiedades de replicación, el tamaño del mensaje es superior a 1 MB. Se produce un error en la llamada saliente que intenta enviar el mensaje.
Claves de partición
Si existen claves de partición en los eventos, la replicación entre las instancias de Event Hubs no se realizará si esas instancias tienen el mismo número de particiones.
Modelo de facturación
Una tarea de replicación está controlada por un flujo de trabajo sin estado en una aplicación lógica estándar. Por tanto, después de crear una tarea de replicación, es posible que empiecen a aplicarse cargos. El uso, la medición, la facturación y el modelo de precios siguen el plan de hospedaje estándar y los planes de tarifa estándar.
El plan de hospedaje podría ampliarse o reducirse en función del número de eventos que *Event Hubs* recibe, o de los mensajes que *Service Bus* maneja. El plan mantiene el uso mínimo de vCPU y baja latencia durante la replicación activa. Este comportamiento requiere que elija el plan de tarifa estándar adecuado al crear un recurso de aplicación lógica estándar para la tarea de replicación. Al elegir el nivel correcto, Azure Logic Apps no restringe ni alcanza el uso máximo de la CPU y puede garantizar una replicación rápida.
Nota:
Si la aplicación comienza con una instancia del plan WS1 y, a continuación, se escala horizontalmente a dos instancias, el costo es el doble del costo de WS1. En este escenario se supone que los planes se ejecutan todo el día. Si escala verticalmente la aplicación al plan WS2 y usa una instancia, el costo es el mismo que dos instancias del plan WS1. Del mismo modo, si escala verticalmente la aplicación al plan WS3 y usa una instancia, el costo es el mismo que dos instancias de plan WS2 o cuatro instancias de plan WS1.
En los ejemplos siguientes se muestran las opciones de configuración y el plan de tarifa del plan de hospedaje que proporcionan el mejor rendimiento y costo para escenarios de tareas de replicación específicos. Los escenarios son Event Hubs o Service Bus y tienen valores de configuración diferentes.
Nota:
Los ejemplos de las secciones siguientes usan 800 como valor predeterminado para el recuento de capturas previas, el tamaño máximo del lote de eventos para Event Hubs y el número máximo de mensajes para Service Bus. Se supone que el tamaño del evento o mensaje es de 1 KB. En función de los tamaños de evento, es posible que desee cambiar el recuento de capturas previas, el tamaño máximo del lote de eventos o el número máximo de mensajes. Por ejemplo, si el tamaño del evento o el tamaño del mensaje es superior a 1 KB, puede reducir los valores del recuento de capturas previas y el tamaño máximo del lote de eventos o el número de mensajes de 800.
Escalado horizontal de Event Hubs
En los ejemplos siguientes se muestra el plan de tarifa del plan de hospedaje y las opciones de configuración de una tarea de replicación entre dos espacios de nombres de Event Hubs en la misma región. Presenta información basada en el número de particiones, el número de eventos por segundo y otros valores de configuración.
| Plan de tarifa | Recuento de particiones | Eventos por segundo | Ráfagas máximas* | Instancias siempre preparadas* | Recuento de capturas previas* | Tamaño máximo del lote de eventos* |
|---|---|---|---|---|---|---|
| WS1 | 1 | 1,000 | 1 | 1 | 800 | 800 |
| WS1 | 2 | 2,000 | 1 | 1 | 800 | 800 |
| WS2 | 4 | 4,000 | 2 | 1 | 800 | 800 |
| WS2 | 8 | 8,000 | 2 | 1 | 800 | 800 |
| WS3 | 16 | 16 000 | 2 | 1 | 800 | 800 |
| WS3 | 32 | 32 000 | 3 | 1 | 800 | 800 |
* Para obtener más información sobre los valores que puede cambiar para cada plan de tarifa, consulte la tabla siguiente:
| Value | Descripción |
|---|---|
| Ráfagas máximas | Número máximo de trabajos elásticos que se escalan horizontalmente bajo carga. Si la aplicación subyacente necesita un número de instancias mayor al de las instancias siempre preparadas en la fila de la tabla siguiente, la aplicación se puede seguir escalando horizontalmente hasta que el número de instancias alcance el límite máximo de ráfagas. Para cambiar este valor, consulte Editar la configuración de escalabilidad horizontal del plan de hospedaje más adelante en este artículo. Nota: Las instancias que superen el tamaño del plan solo se facturarán por segundo cuando estén en ejecución y las tenga asignadas. La plataforma hace todo lo posible para escalar horizontalmente la aplicación al límite máximo definido. Sugerencia: Como recomendación, seleccione un valor máximo superior al que necesite para que la plataforma pueda escalar horizontalmente para controlar una carga mayor. Las instancias no utilizadas no se facturan. Para más información, consulte la siguiente documentación. El plan estándar de flujo de trabajo comparte algunos aspectos con el plan Premium de Azure Functions. - Configuración del plan Premium - ¿Qué es la ampliación en la nube? |
| Instancias siempre preparadas | Número mínimo de instancias que siempre están listas y preparadas para hospedar la aplicación. El número mínimo siempre es 1. Para cambiar este valor, consulte Editar la configuración de escalabilidad horizontal del plan de hospedaje más adelante en este artículo. Nota: Cualquier instancia que supere el tamaño de su plan se facturará independientemente de si están en ejecución o no cuando se le asignen. Para más información, consulte la siguiente documentación. El plan estándar de flujo de trabajo comparte algunos aspectos con el plan Premium de Azure Functions: instancias siempre preparadas. |
| Recuento de capturas previas | Valor predeterminado para la configuración de la aplicación AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount en el recurso de aplicación lógica que determina el recuento de capturas previas usado por la clase EventProcessorHost subyacente. Para agregar o especificar un valor diferente para esta configuración de aplicación, consulte Administrar la configuración de la aplicación: local.settings.json. Por ejemplo: - Nombre: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount - Valor: 800 (sin límite máximo) Para obtener más información sobre la prefetchCount propiedad, vea: - configuración de host.json de Azure Event Hubs - Propiedad EventProcessorOptions.PrefetchCount - Equilibrio de la carga de particiones entre varias instancias - Host del procesador de eventos - Clase EventProcessorHost |
| Tamaño máximo del lote de eventos | Valor predeterminado de la configuración de la aplicación AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize en el recurso de aplicación lógica que determina el número máximo de eventos recibidos por cada bucle de recepción. Para agregar o especificar un valor diferente para esta configuración de aplicación, consulte Administrar la configuración de la aplicación: local.settings.json. Por ejemplo: - Nombre: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize - Valor: 800 (sin límite máximo) Para obtener más información sobre la propiedad maxBatchSize, consulte: - Configuración host.json: desencadenador y enlaces de Azure Event Hubs para Azure Functions - Propiedad EventProcessorOptions.MaxBatchSize - Host del procesador de eventos |
Escalado horizontal de Service Bus
En los ejemplos siguientes se muestra la tarifa del plan de hospedaje y las opciones de configuración para una tarea de replicación entre dos espacios de nombres de Service Bus en la misma región. Muestran información basada en el número de mensajes por segundo y otros valores de configuración.
En los ejemplos de esta sección se usa 800 como valor predeterminado para el recuento de capturas previas y el recuento máximo de mensajes, suponiendo que el tamaño del mensaje es de 1 KB.
| Plan de tarifa | Mensajes por segundo | Ráfagas máximas* | Instancias siempre preparadas* | Recuento de capturas previas* | Recuento máximo de mensajes* |
|---|---|---|---|---|---|
| WS1 | 2,000 | 1 | 1 | 800 | 800 |
| WS2 | 2,500 | 1 | 1 | 800 | 800 |
| WS3 | 3500 | 1 | 1 | 800 | 800 |
* Para obtener más información sobre los valores que puede cambiar para cada plan de tarifa, consulte la tabla siguiente:
| Value | Descripción |
|---|---|
| Ráfagas máximas | Número máximo de trabajos elásticos que se escalan horizontalmente bajo carga. Si la aplicación subyacente requiere instancias más allá de las instancias siempre listas en la siguiente fila de la tabla, la aplicación puede seguir escalando horizontalmente hasta que el número de instancias alcance el límite máximo de expansión. Para cambiar este valor, consulte Edición de la configuración de escalado horizontal del plan de hospedaje más adelante en este artículo. Nota: Las instancias que superen el tamaño del plan solo se le facturan (por segundo) cuando estén en ejecución y las tenga asignadas. La plataforma hace todo lo posible para escalar horizontalmente la aplicación al límite máximo definido. Sugerencia: Seleccione un valor máximo superior al que necesite para que la plataforma pueda escalar horizontalmente para controlar una carga mayor. No se le cobran las instancias no utilizadas. El plan estándar de flujo de trabajo comparte algunos aspectos con el plan Premium de Azure Functions. Para obtener más información, consulte: - Configuración del plan Premium - ¿Qué es la expansión en la nube? |
| Instancias siempre preparadas | Número mínimo de instancias que siempre están listas y preparadas para hospedar la aplicación. El número mínimo siempre es 1. Para cambiar este valor, consulte Ajustar configuración de escalado del plan de alojamiento más adelante en este artículo. Nota: Las instancias que superen el tamaño del plan se facturan por segundo tanto si están en ejecución como si no cuando las tenga asignadas. El plan estándar de flujo de trabajo comparte algunos aspectos con el plan Premium de Azure Functions: instancias siempre preparadas. |
| Recuento de capturas previas | Valor predeterminado para la configuración de la aplicación AzureFunctionsJobHost__extensions__serviceBus__prefetchCount en el recurso de aplicación lógica que determina el recuento de capturas previas usado por la clase ServiceBusProcessor subyacente. Para agregar o especificar un valor diferente para esta configuración de aplicación, consulte Administrar la configuración de la aplicación: local.settings.json, por ejemplo: - Nombre: AzureFunctionsJobHost__extensions__serviceBus__prefetchCount - Valor: 800 (sin límite máximo) Para obtener más información sobre la propiedad prefetchCount, consulte: - Enlaces de Azure Service Bus para Azure Functions - Propiedad ServiceBusProcessor.PrefetchCount - Clase ServiceBusProcessor |
| Recuento máximo de mensajes | Valor predeterminado de la configuración de la aplicación AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount en el recurso de aplicación lógica que determina el número máximo de mensajes que se enviarán al desencadenarse. Para agregar o especificar un valor diferente para esta configuración de aplicación, consulte Administrar la configuración de la aplicación: local.settings.json, por ejemplo: - Nombre: AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount - Valor: 800 (sin límite máximo) Para más información sobre la propiedad maxMessageCount, consulte Enlaces de Azure Service Bus para Azure Functions. |