Migración de aplicaciones entre entornos e inquilinos mediante empaquetadoEnvironment and tenant app migration through Packaging

Obtenga información sobre cómo migrar recursos de un entorno a otro mediante empaquetado.Learn how to migrate resources from one environment to another with packaging. Estos entornos pueden estar en el mismo inquilino o en varios distintos.These environments can be within the same tenant or across different tenants.

El escenarioThe scenario

Uno de los escenarios habituales en los que puede que desee migrar recursos es en el que tiene entornos de prueba o desarrollo, y un entorno de producción.One common scenario where you may want to migrate resources is where you have Test or Dev environments and a Production environment. Los desarrolladores y evaluadores tienen un amplio acceso a las aplicaciones en sus entornos.Developers and testers have wide access to the apps in their environments. Pero cuando llega el momento de migrar una nueva aplicación a producción, dicho entorno tiene un riguroso control sobre los permisos para actualizarlo y cambiarlo.But when it comes time to migrate a new app to production, that environment has rigorous control over permissions to update and change it.

Otro escenario es en el que cada cliente tiene su propio entorno y datos.Another scenario is one where each customer has their own environment and data. Al agregar un nuevo cliente, se crearía un nuevo entorno para este y migraría las aplicaciones a dicho entorno.When a new customer is added, a new environment is created for them, and you would migrate apps into their environment.

¿Qué recursos puedo migrar mediante empaquetado?Which resources can I migrate through packaging?

Al exportar una aplicación, en el paquete también se exportan los recursos dependientes de la aplicación.When you export an app, the dependent resources for your app will also get exported into the package. Inicialmente solo se admitirá un subconjunto de todos los tipos de recursos posibles, tal y como se describe en la tabla siguiente.Initially only a subset of all possible resource types will be supported as outlined in the table below.

Tipo de recursoResource type AdmitidoSupported Opciones de importaciónImport options
AppApp Yes Hay dos opciones para importar una aplicación en un entorno:There are two options to import an app into an environment:
  1. Crear una nueva: la aplicación se creará como una nueva aplicación en el entorno donde se importe el paquete.Create new – The app will be created as a new app in the environment where the package is imported.
  2. Actualizar: la aplicación ya existe en el entorno y se actualizará al importar este paquete.Update - the app already exists in the environment and will be updated when this package is imported.
FlujoFlow Yes Hay dos opciones para importar un flujo en un entorno:There are two options to import a flow into an environment:
  1. Crear uno nuevo: el flujo se creará como un flujo nuevo en el entorno donde se importe el paquete.Create new – The flow will be created as a new flow in the environment where the package is imported.
  2. Actualizar: el flujo ya existe en el entorno y se actualizará al importar este paquete.Update - The flow already exists in the environment and will be updated when this package is imported.
Nota: Todos los recursos de los que el flujo depende también se incluirán en el paquete de aplicación que se exporte y deberán configurarse cuando se importe el paquete.Note: All resources that the flow depends on will also be included within the app package that is exported and will need to be configured with the package is imported.
Listas desplegables y personalizaciones de entidades CDSCDS Entity Customizations and Picklists Yes Hay dos opciones para importar listas desplegables o entidades CDS en un entorno:There are two options to import CDS Entities or Picklists in an environment:
  1. Sobrescribir: si hay un recurso con el mismo nombre, esta importación lo reemplazará.Overwrite - If there's a resource with the same name, this import will replace it. Si no existe ningún un recurso que coincida, se creará un nuevo recurso.If there isn’t a matching resource, a new resource will be created.
  2. Combinar: si hay una entidad o lista de selección con el mismo nombre, se agregarán los nuevos campos o entradas, pero no se quitarán los campos o las entradas que falten.Merge – If there's an entity or picklist with the same name, new fields or entries will be added, but missing fields or entries won’t be removed.
Conectores personalizadosCustom Connectors NoNo Si una aplicación depende de un conector personalizado, actualmente no se admite la exportación del conector como parte del paquete.If an app depends on a custom connector we do not currently support exporting the connector as a part of the package.

Si tiene una aplicación que depende de un conector personalizado, la única opción en este momento es volver a crear o actualizar manualmente el conector en el entorno de destino y seleccionar dicho conector al importar el paquete.If you have an app that relies on a custom connector, your only current option is to manually re-create or update the connector in your target environment and select that connector when you import the package.

ConexionesConnections NoNo Si una aplicación depende de una conexión (por ejemplo, una conexión SQL con credenciales), actualmente se admite la exportación de la conexión o las credenciales como parte del paquete.If an app depends on a connection (such as a SQL connection w/ credentials), we do not currently support exporting the connection or credentials as a part of the package.

Si tiene una aplicación que depende de una conexión compartida (como SQL), la única opción en este momento es volver a crear manualmente esa conexión en el entorno de destino con las credenciales apropiadas, y seleccionar dicha conexión al importar el paquete.If you have an app that relies on a shared connection (like SQL), your only current option is to manually re-create that connection with the appropriate credentials in your target environment and select that connection when you import the package.

Conjuntos de permisos y roles personalizados de CDSCDS Custom Roles and Permission Sets NoNo En este momento no se admite la exportación de conjuntos de permisos o roles personalizados de CDS; la única opción es volver a crear manualmente estas entidades en el entorno de destino.Exporting custom CDS roles and/or permission sets is not currently supported, so the only option today is to manually re-create these entities in your target environment.
Puertas de enlaceGateways NoNo Las puertas de enlace solo se admiten en los entornos predeterminados (y {nombre del inquilino} (en la versión preliminar)), por lo que no se pueden exportar o migrar.Gateways are only supported in the default (and {tenant name} (from preview) ) environments, so export/migration is not supported.
Filas de datos CDSCDS data rows NoNo En este momento no se admite la exportación de filas de entidades CDS; la única opción es exportar e importar manualmente los datos después de aplicar los cambios al esquema CDS en un entorno nuevo.Export rows from CDS entities is not current supported, so the only option today to manually export and import data after your CDS schema changes have been applied in a new environment.

¿Cómo se accede al empaquetado de una aplicación?How do I get access to packaging for my app?

La capacidad para exportar una aplicación está disponible para cualquier usuario con permiso para editar la aplicación.The ability to export an app is available to any user with "Can edit" permission to the app.

La capacidad para importar una aplicación está disponible para cualquier usuario con permiso de "creador de entorno" en el entorno de destino.The ability to import an app is available to any user with "Environment Maker" permission in the destination environment.

Un usuario debe tener un plan 2 de PowerApps o una licencia de evaluación gratuita del plan 2 de PowerApps para exportar o importar cualquier aplicación.A user must have a PowerApps Plan 2 or PowerApps Plan 2 trial license in order to export or import any app.

Nota

Mientras el empaquetado esté en versión preliminar, todos los usuarios con una licencia válida de PowerApps podrán probarlo en sus aplicaciones y entornos.While packaging is in preview, any user with a valid PowerApps license will be able to try out packaging for their apps and environments.

Exportación de una aplicaciónExporting an app

  1. En http://web.powerapps.com, pulse o haga clic en Aplicaciones, seleccione el botón de puntos suspensivos de la aplicación que desea migrar y, a continuación, seleccione Exportar (versión preliminar).In http://web.powerapps.com, click or tap Apps, select the ellipses for the app you want to migrate, and then select Export (preview).

    Seleccione Exportar

  2. Cuando se abra la página de exportación del paquete, escriba un nombre y una descripción para el paquete.When the export package page opens, enter a Name and Description for the package.

    Revisión de los detalles del paquete

  3. En la sección “Revisar el contenido del paquete”, puede agregar también comentarios o notas, o cambiar la configuración de cómo se importará cada recurso individual en el entorno de destino durante la importación del paquete.Within the ‘Review Package Content’ section you can optionally add comments or notes or change the setting for how each individual resource will be imported into the target environment during package import.

    Configuración del contenido del paquete

  4. Cuando termine, seleccione Exportar y el archivo de paquete comienzará a descargarse en cuestión de segundos.When you are done select Export and the package file will begin downloading within a few seconds.

Importación de una aplicaciónImporting an app

  1. En http://web.powerapps.com, haga clic o pulse Aplicaciones y seleccione Importar paquete (versión preliminar).In http://web.powerapps.com, click or tap Apps, and then select Import package (preview).

    Seleccione Importar

  2. Seleccione Cargar y seleccione el archivo de paquete de aplicación que va a importar.Select Upload and select the app package file that you want to import.

    Selección del archivo de paquete

  3. Una vez cargado el paquete, debe revisar el contenido del mismo y debe proporcionar datos adicionales para los elementos marcados con un icono rojo; seleccione el icono de llave inglesa para cada elemento y especifique la información necesaria.Once the package has been uploaded you will need to review the package contents and will need to provide additional input for any item marked with a red icon by selecting the wrench icon for each item and entering the required information.

    Revisión del contenido del paquete

  4. Una vez que haya proporcionado toda la información necesaria, seleccione Importar.Once you have provided all of the required information select Import.

    Actualización del contenido del paquete

  5. Una vez finalizada la importación, se le redirigirá automáticamente a una página (similar a la siguiente) que describe si la operación de importación fue correcta o no.When import completes you will be automatically redirected to a page (similar to the one below) that outlines whether or not the import operation was successful.

    Revisión de los resultados de la importación

Nota

Si va a importar una aplicación y decidió actualizar una aplicación existente, los nuevos cambios se guardarán como borrador de las aplicaciones.If you are importing an app and chose to Update an existing app, the new changes will be saved as a draft of the applications. Deberá publicar los cambios en orden para que estén disponibles todos los demás usuarios de las aplicaciones.You will need to publish those changes in order for them to be available all other users of the applications.

Limitaciones conocidasKnown limitations

LimitaciónLimitation EstadoStatus
Se ha informado de que la importación de paquetes de aplicación que contienen más de 3 recursos puede tardar varios minutos en completarse.Importing app packages that contains more than ~3 resources has been reported to take several minutes to complete. Se trata de un problema conocido y pronto se publicará una corrección.This is a known issue and a fix will be rolled out soon.