Instrução

Automatizar a reatribuição de propriedade de itens do ArcGIS Online compartilhados para grupos com o recurso Atualizar

Last Published: December 9, 2021

Resumo

Ao reatribuir propriedade de itens no ArcGIS Online, uma etapa de pré-requisito é cancelar o compartilhamento de itens de grupos especiais, como aqueles com o recurso Atualizar para todos os membros, antes de alterar ou reatribuir propriedade. Isso consome tempo ao reatribuir a propriedade de vários itens compartilhados para os grupos de atualização. Portanto, é útil automatizar o processo usando um script de Python.

Procedimento

Para automatizar o fluxo de trabalho, use o seguinte script de Python independnete:

  1. Abra um editor de texto, como o Bloco de Notas.
  2. No editor de texto, importe os módulos necessários e defina a URL e as credenciais para o portal selecionado.
from arcgis.gis import * gis = GIS("https://maps_sample.arcgis.com", "username", "password")
  1. Adicione os seguintes parâmetros para reatribuir a propriedade:
orig_userid = "First_User" new_userid = "Second_User" olduser = gis.users.get(orig_userid)
  1. Altere a propriedade dos grupos de usuários antigos para um novo usuário.
usergroups = olduser.groups for group in usergroups:   grp = gis.groups.get(group['id'])   if (grp.owner == orig_userid):     grp.reassign_to(new_userid)   else:     grp.add_users(new_userid)     grp.remove_users(orig_userid) print("Groups has been transferred!") #Transferring items in folders      folders = olduser.folders for folder in folders:   gis.content.create_folder(folder['title'], new_userid)   folderitems = olduser.items(folder=folder['title'])   for item in folderitems:     itemgroup=item.shared_with     item.unshare(groups=itemgroup['groups'])     item.reassign_to(new_userid, target_folder=folder['title'])     item.share(groups=itemgroup['groups'], allow_members_to_edit=True) print("Folder content has been transferred!") userrootcontent = olduser.items() rootfoldername=olduser.username+"_RootFolder" gis.content.create_folder(rootfoldername, new_userid)
  1. Cancele o compartilhamento de itens dos grupos, reatribua a propriedade e compartilhe novamente os itens com os grupos.
for item in userrootcontent:   itemgroup=item.shared_with   item.unshare(groups=itemgroup['groups'])   item.reassign_to(new_userid, target_folder=rootfoldername)   item.share(groups=itemgroup['groups'], allow_members_to_edit=True) print("Root folder content has been transferred!")
  1. Após o script ser concluído, salve o arquivo de texto como um arquivo .py.
  2. Clique duas vezes no arquivo .py para executar o script.

O seguinte demonstra o script completo.

from arcgis.gis import * gis = GIS("https://maps_sample.arcgis.com/", "username", "password") #Identifying users orig_userid = "User1" new_userid = "User2" olduser = gis.users.get(orig_userid) #Transferring the ownership of groups usergroups = olduser.groups for group in usergroups:   grp = gis.groups.get(group['id'])   if (grp.owner == orig_userid):     grp.reassign_to(new_userid)   else:     grp.add_users(new_userid)     grp.remove_users(orig_userid) print("Groups has been transferred!") #Transferring items in folders      folders = olduser.folders for folder in folders:   gis.content.create_folder(folder['title'], new_userid)   folderitems = olduser.items(folder=folder['title'])   for item in folderitems:     itemgroup=item.shared_with     item.unshare(groups=itemgroup['groups'])     item.reassign_to(new_userid, target_folder=folder['title'])     item.share(groups=itemgroup['groups'], allow_members_to_edit=True) print("Folder content has been transferred!") #Transferring items in the root folder    userrootcontent = olduser.items() rootfoldername=olduser.username+"_RootFolder" gis.content.create_folder(rootfoldername, new_userid) for item in userrootcontent:   itemgroup=item.shared_with   item.unshare(groups=itemgroup['groups'])   item.reassign_to(new_userid, target_folder=rootfoldername)   item.share(groups=itemgroup['groups'], allow_members_to_edit=True) print("Root folder content has been transferred!")

ID do Artigo:000021363

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema