Migrazione di app tra ambienti e tenant tramite la creazione di pacchettiEnvironment and tenant app migration through Packaging

Informazioni su come eseguire la migrazione di risorse da un ambiente a un altro tramite la creazione di pacchetti.Learn how to migrate resources from one environment to another with packaging. Questi ambienti possono trovarsi all'interno dello stesso tenant o su tenant diversi.These environments can be within the same tenant or across different tenants.

ScenarioThe scenario

Uno scenario comune in cui si potrebbe voler eseguire la migrazione delle risorse è quello in cui sono presenti un ambiente di testing o di sviluppo e un ambiente di produzione.One common scenario where you may want to migrate resources is where you have Test or Dev environments and a Production environment. Sviluppatori e tester hanno accesso alle app nei propri ambienti.Developers and testers have wide access to the apps in their environments. Ma quando è necessario eseguire la migrazione di una nuova app all'ambiente di produzione, quell'ambiente esercita un controllo rigoroso sulle autorizzazioni richieste prima di aggiornarlo e modificarlo.But when it comes time to migrate a new app to production, that environment has rigorous control over permissions to update and change it.

Un altro scenario è quello in cui ogni cliente ha il proprio ambiente e i propri dati.Another scenario is one where each customer has their own environment and data. Quando si aggiunge un nuovo cliente, viene creato un nuovo ambiente. In questo caso verrebbe eseguita la migrazione delle app in tale ambiente.When a new customer is added, a new environment is created for them, and you would migrate apps into their environment.

Risorse che possono essere sottoposte a migrazione tramite la creazione di pacchettiWhich resources can I migrate through packaging?

Quando si esporta un'app, anche le risorse dipendenti dell'app verranno esportate nel pacchetto.When you export an app, the dependent resources for your app will also get exported into the package. Come illustrato nella tabella seguente, verrà inizialmente supportato solo un sottoinsieme di tutti i tipi di risorse possibili.Initially only a subset of all possible resource types will be supported as outlined in the table below.

Tipo di risorsaResource type SupportatoSupported Opzioni di importazioneImport options
AppApp Yes Sono disponibili due opzioni per l'importazione di un'app in un ambiente:There are two options to import an app into an environment:
  1. Crea nuova: l'app verrà creata come nuova app nell'ambiente in cui è stato importato il pacchetto.Create new – The app will be created as a new app in the environment where the package is imported.
  2. Aggiorna: l'app esiste già nell'ambiente e verrà aggiornata quando viene importato questo pacchetto.Update - the app already exists in the environment and will be updated when this package is imported.
FlussoFlow Yes Sono disponibili due opzioni per l'importazione di un flusso in un ambiente:There are two options to import a flow into an environment:
  1. Crea nuovo: il flusso verrà creato come nuovo flusso nell'ambiente in cui è stato importato il pacchetto.Create new – The flow will be created as a new flow in the environment where the package is imported.
  2. Aggiorna - il flusso esiste già nell'ambiente e verrà aggiornato quando viene importato questo pacchetto.Update - The flow already exists in the environment and will be updated when this package is imported.
Nota: anche tutte le risorse da cui dipende il flusso verranno incluse nel pacchetto dell'app che viene esportato e dovranno essere configurate quando il pacchetto viene importato.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.
Elenchi a discesa e personalizzazioni delle entità CDSCDS Entity Customizations and Picklists Yes Sono disponibili due opzioni per l'importazione di entità o elenchi a discesa CDS in un ambiente:There are two options to import CDS Entities or Picklists in an environment:
  1. Sovrascrivi: se è presente una risorsa con lo stesso nome, l'operazione di importazione la sostituirà.Overwrite - If there's a resource with the same name, this import will replace it. Se non è presente alcuna risorsa corrispondente, verrà creata una nuova risorsa.If there isn’t a matching resource, a new resource will be created.
  2. Merge: se è presente un'entità o un elenco a discesa con lo stesso nome, eventuali nuovi campi o voci verranno aggiunti, ma le voci o i campi mancanti non verranno rimossi.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.
Connettori personalizzatiCustom Connectors NoNo Se un'app dipende da un connettore personalizzato, non è attualmente supportata l'esportazione del connettore come parte del pacchetto.If an app depends on a custom connector we do not currently support exporting the connector as a part of the package.

Se è presente un'app che si basa su un connettore personalizzato, l'unica opzione attualmente disponibile consiste nel ricreare o aggiornare manualmente il connettore nell'ambiente di destinazione e quindi selezionare il connettore quando si importa il pacchetto.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.

ConnessioniConnections NoNo Se un'app dipende da una connessione, ad esempio una connessione SQL con credenziali, non è attualmente supportata l'esportazione della connessione o delle credenziali come parte del pacchetto.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.

Se è presente un'app che si basa su una connessione condivisa, ad esempio SQL, l'unica opzione attualmente disponibile consiste nel ricreare manualmente la connessione con le credenziali appropriate nell'ambiente di destinazione e quindi selezionare tale connessione quando si importa il pacchetto.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.

Ruoli e set di autorizzazioni CDS personalizzatiCDS Custom Roles and Permission Sets NoNo L'esportazione di ruoli e/o set di autorizzazioni CDS personalizzati non è attualmente supportata, quindi l'unica opzione attualmente disponibile consiste nel ricreare manualmente queste entità nell'ambiente di destinazione.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.
GatewayGateways NoNo I gateway sono supportati solo negli ambienti predefiniti e in {nome tenant} (da anteprima). L'esportazione/migrazione non è pertanto supportata.Gateways are only supported in the default (and {tenant name} (from preview) ) environments, so export/migration is not supported.
Righe di dati CDSCDS data rows NoNo L'esportazione di righe da entità CDS non è attualmente supportata, quindi l'unica opzione attualmente disponibile consiste nell'esportare e importare manualmente i dati dopo l'applicazione delle modifiche dello schema CDS al nuovo ambiente.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.

Modalità di accesso ai pacchetti per l'appHow do I get access to packaging for my app?

La possibilità di esportare un'app è disponibile per tutti gli utenti con autorizzazione "Può modificare" per l'app.The ability to export an app is available to any user with "Can edit" permission to the app.

La possibilità di importare un'app è disponibile per tutti gli utenti con autorizzazione "Autore dell'ambiente" nell'ambiente di destinazione.The ability to import an app is available to any user with "Environment Maker" permission in the destination environment.

Per esportare o importare un'app, è necessario che un utente abbia una licenza di tipo PowerApps Piano 2 o una licenza per la versione di valutazione gratuita di tipo PowerApps Piano 2.A user must have a PowerApps Plan 2 or PowerApps Plan 2 trial license in order to export or import any app.

Nota

Durante la fase di anteprima per la creazione di pacchetti, tutti gli utenti con una licenza di PowerApps valida potranno provare la creazione di pacchetti per le app e gli ambienti.While packaging is in preview, any user with a valid PowerApps license will be able to try out packaging for their apps and environments.

Esportazione di un'appExporting an app

  1. In http://web.powerapps.com toccare o fare clic su App, selezionare i puntini di sospensione per l'app da sottoporre a migrazione e in fine selezionare Esporta (anteprima).In http://web.powerapps.com, click or tap Apps, select the ellipses for the app you want to migrate, and then select Export (preview).

    Selezionare Esporta

  2. Quando viene aperta la pagina del pacchetto di esportazione, immettere un nome e una descrizione per il pacchetto.When the export package page opens, enter a Name and Description for the package.

    Verificare i dettagli del pacchetto

  3. Nella sezione "Rivedi contenuto del pacchetto" è possibile aggiungere facoltativamente commenti o note oppure modificare l'impostazione relativa alla modalità di importazione di ogni singola risorsa nell'ambiente di destinazione durante l'importazione del pacchetto.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.

    Configurare il contenuto del pacchetto

  4. Al termine, selezionare Esporta e il download del file del pacchetto verrà avviato entro pochi secondi.When you are done select Export and the package file will begin downloading within a few seconds.

Importazione di un'appImporting an app

  1. In http://web.powerapps.com toccare o fare clic su App e quindi selezionare Importa pacchetto (anteprima).In http://web.powerapps.com, click or tap Apps, and then select Import package (preview).

    Selezionare importa

  2. Selezionare Carica e quindi selezionare il file del pacchetto dell'app da importare.Select Upload and select the app package file that you want to import.

    Selezionare il file del pacchetto

  3. Al termine del caricamento del pacchetto, sarà necessario verificare i contenuti del pacchetto e fornire input aggiuntivo per eventuali elementi contrassegnati con un'icona rossa, selezionando l'icona a forma di chiave inglese per ogni elemento e immettendo le informazioni necessarie.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.

    Verificare i contenuti del pacchetto

  4. Dopo avere fornito tutte le informazioni necessarie, selezionare Importa.Once you have provided all of the required information select Import.

    Contenuto del pacchetto aggiornato

  5. Al termine dell'importazione, verrà visualizzata automaticamente una pagina, simile alla seguente, che indica se l'operazione di importazione ha avuto esito positivo.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.

    Verificare i risultati dell'importazione

Nota

Se si importa un'app e si sceglie l'opzione Aggiorna per un'app esistente, le nuove modifiche verranno salvate come bozza delle applicazioni.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. Sarà necessario pubblicare tali modifiche per renderle disponibili a tutti gli altri utenti delle applicazioni.You will need to publish those changes in order for them to be available all other users of the applications.

Limitazioni noteKnown limitations

LimitazioneLimitation StatoStatus
È stato segnalato che il completamento dell'importazione di pacchetti di app che contengono più di ~3 risorse richiede alcuni minuti.Importing app packages that contains more than ~3 resources has been reported to take several minutes to complete. Questo è un problema noto e una correzione sarà disponibile a breve.This is a known issue and a fix will be rolled out soon.