Většinu obsahu (feature services, mapy) lze zkopírovat pomocí ArcGIS Online Assistant<\/A>. Níže popsaná metoda v Pythonu je nutná pro složitější obsah. Můžete ji použít pro dashboards, web apps, surveys a configurable apps. Nebude fungovat pro ArcGIS StoryMaps nebo ArcGIS Experience Builder.<\/P><\/P>
<\/P>
username <SPAN class="operator token">=<\/SPAN> input(<SPAN class="string token">"Zadejte uživatelské jméno původní organizace: "<\/SPAN>) from arcgis.gis import GIS gis1 = GIS("https:\/\/arcgis.com", username)<SPAN class="line-numbers-rows"><SPAN><<EMOJI_0>><\/SPAN><SPAN><<EMOJI_1>><\/SPAN><SPAN><<EMOJI_2>><\/SPAN><\/SPAN><\/CODE><\/PRE><P>10. Klikněte na <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. Do zobrazeného textového pole napište své uživatelské jméno a stiskněte <STRONG><EM>Enter<\/EM><\/STRONG>.<\/P><P>12. Do textového pole <STRONG>Zadejte heslo<\/STRONG>, napište své heslo a stiskněte <STRONG><EM>Enter<\/EM><\/STRONG>.<\/P><P style="padding-left: 30px;">Dále se připojíte k vašemu <EM>target<EM> ArcGIS účtu – tomu, do kterého chcete svůj obsah přesunout.<\/P><P>13. Do další buňky vložte následující text:<\/P><PRE class="lia-code-sample line-numbers language-none"><CODE>username_2 = input("Zadejte uživatelské jméno cílové organizace: ") gis2 = GIS("https:\/\/arcgis.com", username_2)<SPAN class="line-numbers-rows"><SPAN><<EMOJI_3>><\/SPAN><SPAN><<EMOJI_4>><\/SPAN><\/SPAN><\/CODE><\/PRE><P>14. Klikněte na <STRONG>Run<\/STRONG>.<\/P><P>15. Zadejte uživatelské jméno a heslo svého cílového účtu.<\/P><P> <\/P><H6 id="toc-hId-250602362" id="toc-hId-250602362">Nakonec identifikujete položku(y), které chcete přenést, a zkopírujete je do svého cílového účtu.<\/H6><P>16. Do další buňky napište následující text, ale zatím kód nespouštějte.<\/P><PRE class="lia-code-sample line-numbers language-none"><CODE>items = gis1.content.search(query = "id:") print(str(len(items)) + " položka bude klonována:") items <span class='line-numbers-rows'><span><<EMOJI_5>></span><span><<EMOJI_6>></span><span><<EMOJI_7>></span></span>
items = gis1.content.search(query = "id:(5f3b5c9325314fc3a11c1d649d37461e OR fc1b539234f44ee89845ea926e5e393f)")<span class='line-numbers-rows'><span><<EMOJI_8>></span></span>
items =<\/SPAN> gis1.<\/SPAN>content.<\/SPAN>search(<\/SPAN>query=<\/SPAN>"owner: {}"<\/SPAN>.<\/SPAN>format(<\/SPAN>username)<\/SPAN>, <\/SPAN>max_items=<\/SPAN>num_items, <\/SPAN>sort_field=<\/SPAN>'id'<\/SPAN>, <\/SPAN>sort_order=<\/SPAN>'desc'<\/SPAN>)<\/SPAN>items<\/SPAN><\/SPAN><\/SPAN><\/CODE><\/PRE>2. Znovu spusťte buňku. Zeptá se vás, kolik položek chcete zkopírovat.<\/P>3. Znovu spusťte poslední buňku pro zkopírování obsahu.<\/P><\/P>Můžete najít další způsoby vyhledávání položek v dokumentu Search reference<\/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
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.