La mayoría del contenido (servicios de entidades, mapas) puede copiarse usando ArcGIS Online Assistant<\/A>. El método de Python descrito a continuación es necesario para contenido más complejo. Puedes usarlo para dashboards, aplicaciones web, encuestas y aplicaciones configurables. No funcionará para ArcGIS StoryMaps ni ArcGIS Experience Builder.<\/P><\/P>
<\/P>
username <SPAN class="operator token">=<\/SPAN> input<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"Enter username of origin organization: "<\/SPAN><SPAN class="punctuation token">)<\/SPAN> <SPAN class="keyword token">from<\/SPAN> arcgis<SPAN class="punctuation token">.<\/SPAN>gis <SPAN class="keyword token">import<\/SPAN> GIS gis1 <SPAN class="operator token">=<\/SPAN> GIS<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"https:\/\/arcgis.com"<\/SPAN><SPAN class="punctuation token">,<\/SPAN> username<SPAN class="punctuation token">)<\/SPAN><SPAN class="line-numbers-rows"><SPAN><\/SPAN><SPAN><\/SPAN><SPAN><\/SPAN><\/SPAN><\/CODE><\/PRE><P>10. Haz clic en <STRONG>Run<\/STRONG>.<\/P><P style="padding-left: 30px;"><IMG __jive_id="504108" alt="" class="jive-emoji jive-image image-2 j-img-original" src="https:\/\/us.v-cdn.net\/6038851\/uploads\/legacyfs\/online\/504108_two.png" \/><\/P><P>11. En el cuadro de texto que aparece, escribe tu nombre de usuario y presiona <STRONG><EM>Enter<\/EM><\/STRONG>.<\/P><P>12. En el cuadro de texto <STRONG>Enter password<\/STRONG>, escribe tu contraseña y presiona <STRONG><EM>Enter<\/EM><\/STRONG>.<\/P><P style="padding-left: 30px;">Luego, te conectarás a tu cuenta ArcGIS <EM>target<\/EM>, la cuenta a la que quieres mover tu contenido.<\/P><P>13. En la siguiente celda, pega el siguiente texto:<\/P><PRE class="lia-code-sample line-numbers language-none"><CODE>username_2 <SPAN class="operator token">=<\/SPAN> input<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"Enter username of target organization: "<\/SPAN><SPAN class="punctuation token">)<\/SPAN> gis2 <SPAN class="operator token">=<\/SPAN> GIS<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"https:\/\/arcgis.com"<\/SPAN><SPAN class="punctuation token">,<\/SPAN> username_2<SPAN class="punctuation token">)<\/SPAN><SPAN class="line-numbers-rows"><SPAN><\/SPAN><SPAN><\/SPAN><\/SPAN><\/CODE><\/PRE><P>14. Haz clic en <STRONG>Run<\/STRONG>.<\/P><P>15. Ingresa el nombre de usuario y contraseña de tu cuenta target.<\/P><P> <\/P><H6 id="toc-hId-250602362" id="toc-hId-250602362">Finalmente, identificarás el/los elemento(s) que deseas transferir y los copiarás a tu cuenta target.<\/H6><P>16. En la siguiente celda, escribe el siguiente texto, pero no ejecutes el código todavía.<\/P><PRE class="lia-code-sample line-numbers language-none"><CODE>items <SPAN class="operator token">=<\/SPAN> gis1<SPAN class="punctuation token">.<\/SPAN>content<SPAN class="punctuation token">.<\/SPAN>search<SPAN class="punctuation token">(<COPAN query=<COPAN "id:"<COPAN ) print(str(len(items)) + " item will be cloned:") items <span class=\"line-numbers-rows\"><span><<EMOJI_5>><span><<EMOJI_6>><span><<EMOJI_7>><span></span></span></span></span>
items =<\/SPAN> gis1.<\/SPAN>content.<\/SPAN>search(<\/SPAN>query=<\/SPAN>"owner: {}"<\/SPAN>.<\/SPAN>format(<\/SPAN>username)<\/SPAN>, max_items=<\/SPAN>num_items, sort_field=<\/SPAN>'id'<\/SPAN>, sort_order=<\/SPAN>'desc'<\/SPAN>)<\/SPAN>items<\/SPAN><\/SPAN><\/SPAN><\/CODE><\/PRE>2. Vuelve a ejecutar la celda. Te preguntará cuántos elementos quieres copiar.<\/P>3. Vuelve a ejecutar la última celda para copiar el contenido.<\/P><\/P>Puedes encontrar más formas de buscar elementos en el documento de Referencia de búsqueda<\/A>.<\/P> <\/P>
Thanks for this @HeatherSmith
I successfully cloned a couple of feature layers across from AGOL to our Enterprise system which definitely is a win for us. However, when I try to copy a complete Survey it gives me the following error:
Failed to update Form Death Animal Survey - Jordi: 'NoneType' object is not iterable"
It seems to be pointing at the form but I am not sure how to fix this? I have also tried to only clone the form part of the survey to see if that would work but unfortunately not. Thank you very much!
Hi - I used the code exactly as above to copy a dashboard from one AGOL to another, but it only copied the dashboard and not the associated web map and feature layers. The username owns all the items, any thoughts on way it only copied the dashboard?
def deep_copy_content(input_list):for item in input_list:try:print("Cloning " + item.title)copy_list = []copy_list.append(item)gis2.content.clone_items(copy_list, copy_data=True, search_existing_items=True)print("Successfully cloned " + item.title)except Exception as e:print(e)print("The function has completed")deep_copy_content(items)
Cheers
Chris
P.S if I just copy the web map then the associated data does get copied. But when using the dashboard ID just the dashboard copies over.
@HeatherSmith Thank you!
@Juan_Toro-Killion I am told that yes, you can use clone_items() to move content between any two organizational deployments.
Is it possible to use this workflow to copy from ArcGIS Online to Enterprise (Portal)? @HeatherSmith
Thanks,
@HeatherSmith and @cmlosaria_gis
To those of you who were getting the "list out of range" error, how did you resolve it? I have no issues cloning service definitions, file geodatabases and hosted feature layers with only one layer. I get the error anytime I try to clone a hosted feature layer that contains multiple layers and/or tables. These layers and tables are related to one another, if that makes a difference.
Teri
Cloning Plan Compare (latest) ('Failed to create Feature Service Thu Duc City Proposed Land Use Plan: list index out of range', <Item title:"Thu Duc City Proposed Land Use Plan" type:Feature Layer Collection owner:gisencityadmin>) The function has completed
Hi, I am also facing the same problem. I don't use any HTML tags on this application, What could be the problem?
HI guys,
im runnig the script in jupyter and im getting this error in several items, any idea??
('Failed to create Feature Service Departamentos: Your request has timed out.\n(Error Code: 504)', <Item title:"Departamentos" type:Feature Layer Collection owner:NicolasM>)
thanks!!!
Has anyone had the issue "failed to create feature service name of item : 'available', None
I am trying to transfer a web map
Update: I realized the issue was because I was trying to transfer a web map with a feature layer that was hosted on my original account. The account I was trying to transfer to is a public account and they can't host feature layers.
@NikolasHawley that issue is normally related to data not being able to be copied to/from a destination. If you have a `field` with HTML in it or generic text, make sure it's sanitized before the clone operation.
Here is a list of supported HTML tags:
https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm
Has someone made this into a notebook that can just be shared directly already as opposed to copying from here?
Also, I got this error trying to clone a hosted feature service with related tables... any insight?
Cloning xyz ('Failed to create Feature Service xyz: list index out of range', <Item title:"xyz" type:Feature Layer Collection owner:xyz>) The function has completed
Thank you @BernardRIXEN
The documentation for cloning content is here: https://developers.arcgis.com/python/guide/cloning-content/ which lists the items that are possible to clone. Future changes should be reflected there.There is also now an article which presents a workaround method for copying new StoryMap stories: https://developers.arcgis.com/python/sample-notebooks/clone-storymap-version2/
Hello @HeatherSmith,
great and well explained article. You mentioned "It will not work for ArcGIS StoryMaps or ArcGIS Experience Builder". Where in the Python API or REST API documentation are these limitations listed and updated ?
Regards, Bernard
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.