Este tópico de ajuda lista todas as classes e métodos no módulo do PortalPy que você pode utilizar para escrever scripts administrativos com Portal for ArcGIS.
Classe: Portal
Um objeto representando uma conexão de URL para um portal. Para instanciar um objeto do Portal, execute o código como este:
PortalPy.Portal(portalUrl, user, password)
Os métodos do Portal disponíveis são listados nas seções abaixo. Antes de trabalhar com os métodos, considere o seguinte:
- IDs do Grupo—Muitas das funções do grupo exigem um ID de Grupo. O ID é diferente do nome ou título do grupo. Para determinar o Group ID, utilize a função search_groups e especifique o título para obter o Group ID.
- Tempo—Muitos dos métodos retornam um campo de tempo. Todo o tempo retorna como milissegundos desde 1 de Janeiro de 1970. O Python espera o tempo em segundos desde 1 de Janeiro de 1970, portanto, divide os tempos do PortalPy por 1.000. O seguinte exemplo mostra a você como converter o tempo do PortalPy
para o tempo do Python.
group = portalAdmin.get_group('67e1761068b7453693a0c68c92a62e2e') pythontime = time.ctime(group['created']/1000)
Métodos do PortalPy
Os métodos do Portal disponíveis estão descritos abaixo.
_init_
O construtor do Portal. Isto exige a URL do portal e opcionalmente, um nome de usuário e senha.
_init_(self, url, username=None, password=None, key_file=None, cert_file=None, expiration=60, referer=None, proxy_host=None, proxy_port=None, connection=None, workdir=r'c:\users\davi3690\appdata\local\temp\2')
add_group_users
Adicione usuários no grupo especificado. Utilize este método somente se o usuário para o objeto do Portal for um administrador de todo o portal ou o proprietário explícito do grupo.
add_group_users(self, user_names, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
user_names | Usuários separados por vírgula, string exigida |
group_id | Especificando group ID, string exigida |
Retornar valor
Um dicionário com uma chave de not_added, que contém os usuários que não foram adicionados no grupo.
create_group
Cria um grupo e retorna um group ID se bem sucedido.
create_group(self, title, tags, description=None, snippet=None, access='public', thumbnail=None, is_invitation_only=False, sort_field='avgRating', sort_order='desc', is_view_only=False)
Parâmetros
Parâmetro | Descrição |
---|---|
título | Nome do grupo, string exigida |
tags | Lista de tags delimitada por vírgula, string exigida |
descrição | Descreve o grupo em detalhes, string opcional |
snippet | Menos que 250 caracteres resumem o grupo, string opcional |
acesso | Pode ser privado, público ou org, string opcional |
miniatura | URL para imagem do grupo, string opcional |
isInvitationOnly | Define se usuários podem participar por pedido, booleano opcional |
sort_field | Especifica como os itens compartilhados com o grupo são classificados, string opcional |
sort_order | Asc ou desc para crescente ou decrescente, string opcional |
is_view_only | Define se o grupo pode ser pesquisado, booleano opcional |
Retornar valor
Uma string que é o group ID.
create_group_from_dict
Cria um grupo e retorna um group ID se bem sucedido. Na maioria dos casos, é recomendado utilizar create_group, pois este método pode obter um dicionário do grupo retornado de outra solicitação do PortalPy e copiá-lo.
create_group_from_dict(self, group, thumbnail=None)
Parâmetros
Parâmetro | Descrição |
---|---|
grupo | objeto do dicionário |
miniatura | URL para imagem |
Exemplo
create_group({'title': 'Test', 'access':'public'})
delete_group
Exclui um grupo.
delete_group(self, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | String contendo o ID do grupo excluído. |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
delete_user
Exclui um usuário do portal, opcionalmente apagando ou reatribuindo grupos e itens. Você não pode excluir um usuário no portal se este usuário for proprietário de grupos ou itens. Se você escolher em cascata, então estes itens e grupos serão reatribuídos para o usuário identificado na opção reassign_to. Se você escolher não em cascata, a exclusão terá sucesso ou falhará dependendo se os itens do usuário e grupos foram transferidos anteriormente.
Quando em cascata, este método exclui até 10.000 itens. Se o usuário tiver mais de 10.000 itens, o método falhará.
delete_user(self, username, cascade=False, reassign_to=None)
Parâmetros
Parâmetro | Descrição |
---|---|
username | O nome de usuário, string exigida |
cascata | Verdadeiro significa reatribuir itens e grupos, booleano opcional |
reassign_to | Novo proprietário de itens e grupos, string opcional |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
generate_token
Gera e retorna um novo token, mas não faz login novamente. Este método não é necessário ao utilizar a classe do Portal para realizar chamadas no portal. É fornecido para o benefício de realizar chamadas no portal fora da classe do Portal.
O portal utiliza um mecanismo de autenticação baseada em token onde um usuário fornece suas credenciais e um token a curto prazo é utilizado para chamadas. A maioria das chamadas feitas no ArcGIS REST API exige um token e isto pode ser anexado nestes pedidos.
generate_token(self, username, password, expiration=60)
Parâmetros
Parâmetro | Descrição |
---|---|
username | O nome de usuário, string exigida |
senha | A senha do usuário, senha exigida |
vencimento | Número de minutos até o token expirar, inteiro opcional |
Retornar valor
Uma string com o token.
get_group
Retorna informações do grupo para o group_id especificado.
get_group(self, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | Indica o grupo, string exigida |
Retornar valor
Um objeto do dicionário com informações do grupo. As chaves no objeto do dicionário podem incluir:
Parâmetro | Descrição |
---|---|
título | O nome do grupo |
isInvitationOnly | Se configurado para verdadeiro, usuários não poderão se inscrever para participar do grupo |
proprietário | O nome de usuário do proprietário do grupo |
descrição | Explica o grupo |
snippet | Um pequeno resumo do grupo |
tags | Tags definidas pelo usuário que descrevem o grupo |
telepone | Informações de contato do grupo |
miniatura | Nome do arquivo relativo ao http://<community-url>/groups/<groupId>/info |
criado | Quando o grupo foi criado, milissegundos desde 1 de Janeiro de 1970 |
modificado | Última vez que o grupo foi modificado, milissegundos desde 1 de Janeiro de 1970 |
acesso | Pode ser privado, org ou público |
userMembership | Um dicionário com principais nome de usuário e memberType |
memberType | Fornece o acesso de usuário solicitado (proprietário, admin, membro, nenhum) |
get_group_members
Retorna membros de grupos especificados.
get_group_members(self, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | Indica o grupo, string exigida |
Retornar valor
Um dicionário com as chaves: proprietários, admins e usuários.
Parâmetro | Descrição |
---|---|
proprietário | O proprietário do grupo, valor da string |
admins | Lista de strings, normalmente é a mesma do proprietário |
usuários | Lista de strings, os membros do grupo |
Exemplo
Imprima os usuários em um grupo:
response = portal.get_group_members("67e1761068b7453693a0c68c92a62e2e")
for user in response['users'] :
print user
get_group_thumbnail
Retorna os bytes que compõem a miniatura para o group_id especificado.
get_group_thumbnail(self, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | Especifica a miniatura do grupo, string exigida |
Retornar valor
Bytes que representam a imagem.
Exemplo
response = portal.get_group_thumbnail("67e1761068b7453693a0c68c92a62e2e")
f = open(filename, 'wb')
f.write(response)
get_users
Retorna todos os usuários dentro da organização do portal.
get_users(self, max_users=1000)
Parâmetros
Parâmetro | Descrição |
---|---|
max_users | O número máximo de usuários para retornar, inteiro opcional |
Retornar valor
Uma lista de dicionários. Cada dicionário tem as seguintes chaves:
Chave | Valor |
---|---|
username | Texto |
storageUsage | Inteiro |
storageQuota | Inteiro |
descrição | Texto |
tags | Lista de strings |
região | Texto |
criado | Quando a conta foi criada, milissegundos desde 1 de Janeiro de 1970, inteiro |
modificado | Desde a última vez que a conta foi modificada, milissegundos desde 1 de Janeiro de 1970, inteiro |
Texto | |
culture | Texto |
orgId | Texto |
preferredView | Texto |
grupos | Lista de strings |
papel | String (user, publisher, admin, <custom_role_name> [onde <custom_role_name> é o nome do papel personalizado, por exemplo, hostedservicepublisher). Validado:Em versões do Portal for ArcGIS 10.3 e posterior, os valores aceitos para papéis não personalizados eram org_user, org_publisher e org_admin. No 10.3.1, estes valores foram rejeitados e substituídos pelos valores listados acima. Você pode continuar a utilizar os valores validados no 10.3.1, mas note que os valores podem não ser aceitos em versões futuras. |
fullName | Texto |
miniatura | Texto |
idpUsername | Texto |
Exemplo
Imprime todos os nomes de usuário no portal:
resp = portalAdmin.get_users() for user in resp:
print user['username']
get_properties
Retorna as propriedades do portal, utilizando cache a menos que force=True.
get_properties(self, force=False)
get_user
Retorna as informações de usuário para o nome de usuário especificado.
get_user(self, username)
Parâmetros
Parâmetro | Descrição |
---|---|
username | O nome de usuário cujas informações você deseja, string exigida |
Retornar valor
Se o usuário for encontrado, retorna um objeto do dicionário com as seguintes chaves. Se nenhum usuário for localizado, nada é retornado.
Chave | Valor |
---|---|
acesso | Texto |
criado | Quando a conta foi criada, milissegundos desde 1 de Janeiro de 1970, inteiro |
culture | String, código de idioma de duas letras (en) |
descrição | Texto |
Texto | |
fullName | Texto |
idpUsername | String, nome de usuário no sistema enterprise |
grupos | Lista de dicionários. Para uma lista de chaves do dicionário, consulte get_group. |
modificado | Desde a última vez que a conta foi modificada, milissegundos desde 1 de Janeiro de 1970, inteiro |
orgId | String, o ID da organização |
preferredView | String, o valor é Web, GIS ou nulo |
região | String, nenhum ou código de duas letras do país |
papel | String (user, publisher, admin, <custom_role_name> [onde <custom_role_name> é o nome do papel personalizado, por exemplo, hostedservicepublisher). Validado:Em versões do Portal for ArcGIS 10.3 e posterior, os valores aceitos para papéis não personalizados eram org_user, org_publisher e org_admin. No 10.3.1, estes valores foram rejeitados e substituídos pelos valores listados acima. Você pode continuar a utilizar os valores validados no 10.3.1, mas note que os valores podem não ser aceitos em versões futuras. |
storageUsage | Inteiro |
storageQuota | Inteiro |
tags | Lista de strings |
miniatura | Texto |
username | Texto |
get_version
Retorna o número da versão do software, utilizando cache a menos que force=True. As informações da versão são recuperadas quando você cria o objeto do portal e então armazena para pedidos futuros. Se você deseja realizar um pedido no portal e não contar com o cache, configure o parâmetro de forçar para Verdadeiro.
get_version(self, force=False)
Parâmetros
Parâmetro | Descrição |
---|---|
forçar | Booleano, true=fazer uma solicitação, false=utilizar o cache |
Retornar valor
Uma string com a versão. A versão é um número interno que pode não combinar com a versão do produto instalada.
invite_group_users
Convide usuários para um grupo. Um usuário que é convidado para um grupo visualizará uma lista de convites na guia Grupos do portal. O usuário pode aceitar ou rejeitar o convite. O usuário executando o comando deve ser o proprietário do grupo.
invite_group_users(self, user_names, group_id, role='group_member', expiration=10080)
Parâmetros
Parâmetro | Descrição |
---|---|
user_names | Lista de usuários para convidar separados por vírgula, string exigida |
group_id | Especifica ID do grupo que você está convidando os usuários, string exigida |
papel | Uma string opcional, group_member ou group_admin |
vencimento | Um inteiro opcional, especifica por quanto tempo o convite é válido (em minutos) |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
is_all_ssl
Retorna verdadeiro se o portal exigir HTTPS.
is_all_ssl(self)
is_logged_in
Retorna verdadeiro se o usuário estiver registrado no portal.
is_logged_in(self)
is_org
Retorna verdadeiro se o portal for uma organização.
is_org(self)
leave_group
Remova o usuário registrado do grupo especificado. O usuário deve estar registrado para utilizar este método.
leave_group(self, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | Especificando group ID, string exigida |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
logged_in_user
Retorna informações sobre o usuário registrado.
logged_in_user(self)
Retornar valor
Um dicionário com as seguintes chaves:
Chave | Valor |
---|---|
username | Texto |
storageUsage | Inteiro |
descrição | Texto |
tags | String separada por vírgula |
criado | Quando a conta foi criada, milissegundos desde 1 de Janeiro de 1970, inteiro |
modificado | Desde a última vez que a conta foi modificada, milissegundos desde 1 de Janeiro de 1970, inteiro |
fullName | Texto |
Texto | |
idpUsername | String, nome de usuário no sistema enterprise |
login
Entra no portal utilizando um nome de usuário e senha. Você pode entrar no portal ao construir um objeto do portal ou entrar posteriormente. Esta função é para entrar posteriormente.
login(self, username, password, expiration=60)
Parâmetros
Parâmetro | Descrição |
---|---|
username | String exigida |
senha | String exigida |
vencimento | Inteiro opcional, quanto tempo irá durar o token gerado |
Retornar valor
Uma string incluindo o token.
sair
Sai do portal. O portal esquece quaisquer tokens existentes que estava utilizando, e todas as chamadas subsequentes do portal serão anônimas até que ocorra outro chamada do login.
logout(self)
Retornar valor
Nenhum valor de retorno.
reassign_group
Reatribui um grupo para outro proprietário.
reassign_group(self, group_id, target_owner)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | String exigida, único identificador para o grupo |
target_owner | String exigida, nome de usuário do novo proprietário do grupo |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
remove_group_users
Remove usuários de um grupo.
remove_group_users(self, user_names, group_id)
Parâmetros
Parâmetro | Descrição |
---|---|
user_names | Lista de usuários separados por vírgula, string exigida |
group_id | String exigida, único identificador para o grupo |
Retornar valor
Um dicionário com uma chave notRemoved, indicando a lista de usuários não removidos.
reset_user
Redefine uma senha do usuário, pergunta de segurança e resposta de segurança. Esta função não se aplica aos portais configurados com contas que vêm de um armazenamento de identidade enterprise como ActiveDirectory ou LDAP. Se aplica somente aos usuários do portal embutidos. Se uma nova pergunta de segurança for especificada, uma nova resposta de segurança é fornecida.
reset_user(self, username, password, new_password=None, new_security_question=None, new_security_answer=None)
Parâmetros
Parâmetro | Descrição |
---|---|
username | String exigida, conta sendo redefinida |
senha | String exigida, senha atual |
new_password | String opcional, nova senha se redefinir senha |
new_security_question | Inteiro opcional, nova pergunta de segurança se desejado |
new_security_answer | String opcional, nova pergunta de segurança se desejado |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
pesquisar
search(self, q, bbox=None, sort_field='title', sort_order='asc', max_results=1000, add_org=True)
search_groups
Procura por grupos do portal. Considere o seguinte ao utilizar este método:
- A sintaxe de consulta tem muitas feições que não estão descritas aqui. Para revisar todas as feições, consulte Referência de pesquisa do ArcGIS REST API.
- Ao pesquisar grupos, você comumente pesquisará dentro da sua organização. Como uma conveniência, o método automaticamente acrescenta o ID da sua organização por padrão. Se você não desejar que o API seja anexado na sua consulta, configure add_org para falso.
search_groups(self, q, sort_field='title', sort_order='asc', max_groups=1000, add_org=True)
Parâmetros
Parâmetro | Descrição |
---|---|
q | String exigida, string da consulta. |
sort_field | String opcional, valores válidos podem ser título, proprietário ou criado |
sort_order | String opcional, valores válidos são asc ou desc |
max_groups | Int opcional, número máximo de grupos retornados |
add_org | Booleano opcional, controla se pesquisar dentro da sua org |
Retornar valor
Uma lista de dicionários. Cada dicionário tem as seguintes chaves:
Chave | Valor |
---|---|
acesso | String, valores são privados, org ou público |
criado | Quando a conta foi criada, milissegundos desde 1 de Janeiro de 1970, inteiro |
descrição | Texto |
id | String, id único para o grupo |
isInvitationOnly | Booleano |
isViewOnly | Booleano |
modificado | Desde a última vez que a conta foi modificada, milissegundos desde 1 de Janeiro de 1970, inteiro |
proprietário | String, nome de usuário do proprietário |
telepone | Texto |
snippet | String, pequeno resumo do grupo |
sortField | String, como os itens compartilhados são classificados |
sortOrder | String, crescente ou decrescente |
tags | Lista de strings, o usuário que forneceu tags para pesquisar |
miniatura | String, nome do arquivo. Anexar em http://<community url>/groups/<group id>/info/ |
título | String, nome do grupo como mostrado para usuários |
search_users
Procura por usuários do portal. Considere o seguinte ao utilizar este método:
- A sintaxe de consulta tem muitas feições que não estão descritas aqui. Para revisar todas os recursos, consulte Search reference no ArcGIS REST API.
- Ao pesquisar usuários, você comumente pesquisará dentro da sua organização. Como uma conveniência, o método automaticamente acrescenta o ID da sua organização por padrão. Se você não desejar que o API seja anexado na sua consulta, configure add_org para falso.
search_users(self, q, sort_field='username', sort_order='asc', max_users=1000, add_org=True)
Parâmetros
Parâmetro | Descrição |
---|---|
q | String exigida, string da consulta. |
sort_field | String opcional, valores válidos podem ser título, proprietário ou criado |
sort_order | String opcional, valores válidos são asc ou desc |
max_users | Int opcional, número máximo de usuários retornados |
add_org | Booleano opcional, controla se pesquisar dentro da sua org |
Retornar valor
Uma lista de dicionários. Cada dicionário tem as seguintes chaves:
Chave | Valor |
---|---|
criado | Quando a conta foi criada, milissegundos desde 1 de Janeiro de 1970, inteiro |
culture | String, código de idioma de duas letras |
descrição | Texto |
fullName | String, nome do usuário |
modificado | Desde a última vez que a conta foi modificada, milissegundos desde 1 de Janeiro de 1970, inteiro |
região | String, pode ser nenhum |
tags | Lista de strings, o usuário que forneceu tags para pesquisar |
miniatura | String, nome do arquivo. Anexar ao http://<community url>/groups/<group id>/info/. |
username | String, nome do usuário |
signup
Registra usuários no Portal for ArcGIS. Este método se aplica somente ao Portal for ArcGIS e pode ser anonimamente solicitado. Porém, o próprio registro também pode ser desativado no portal. Ele também cria somente contas embutidas; não trabalha com contas enterprise que vêm de um armazenamento de identidade enterprise.
Há outro método denominado createUser que pode ser utilizado sempre no Portal for ArcGIS 10.2.1 ou posterior. O método exige acesso de administrador e pode ser utilizado para criar usuários embutidos ou adicionar contas enterprise no portal.
signup(self, username, password, fullname, email)
Parâmetros
Parâmetro | Descrição |
---|---|
username | String exigida, deve ser única no portal, maior que 4 caracteres |
senha | String exigida, deve ser maior ou igual a 8 caracteres |
fullname | String exigida, nome de usuário |
String exigida, deve ser um endereço de e-mail válido |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
update_group
Atualiza um grupo. Você precisa fornecer somente valores para os parâmetros que deseja atualizar.
update_group(self, group_id, title=None, tags=None, description=None, snippet=None, access=None, is_invitation_only=None, sort_field=None, sort_order=None, is_view_only=None, thumbnail=None)
Parâmetros
Parâmetro | Descrição |
---|---|
group_id | String exigida, o group ID para modificar |
título | Nome do grupo para modificar, string exigida |
tags | Lista de tags delimitada por vírgula, string exigida |
descrição | Descreve o grupo em detalhes, string opcional |
snippet | Menos que 250 caracteres resumem o grupo, string opcional |
acesso | Pode ser privado, público ou org, string opcional |
miniatura | URL para imagem do grupo, string opcional |
isInvitationOnly | Define se usuários podem participar por pedido, booleano opcional |
sort_field | Especifica como os itens compartilhados com o grupo são classificados, string opcional |
sort_order | Asc ou desc para crescente ou decrescente, string opcional |
is_view_only | Define se o grupo pode ser pesquisado, booleano opcional |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
update_user
Atualiza as propriedades de um usuário. Somente fornecer valores para os parâmetros que deseja atualizar.
update_user(self, username, access=None, preferred_view=None, description=None, tags=None, thumbnail=None, fullname=None, email=None, culture=None, region=None)
Parâmetros
Chave | Valor |
---|---|
username | String exigida, atualização do nome de usuário |
acesso | String opcional, valores: privado, org, público |
preferred_view | String opcional, valores: Web, GIS, nulo |
descrição | String opcional, uma descrição do usuário |
tags | String opcional, tags separadas por vírgula para pesquisar |
miniatura | String opcional, caminho ou url para um arquivo. Pode ser PNG, GIF ou JPEG. O tamanho de máximo é 1 MB. |
fullName | String opcional, nome de usuário, somente para usuários embutidos |
String opcional, endereço de e-mail, somente para usuários embutidos | |
culture | String opcional, código de idioma de duas letras, por exemplo "fr". |
região | String opcional, código de idioma de duas letras, por exemplo FR |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.
update_user_role
Atualiza um papel do usuário.
update_user_role(self, username, role)
Parâmetros
Chave | Valor |
---|---|
username | String exigida, o nome de usuário cujo papel alterar |
papel | String exigida, usuário, publicador, admin, <custom_role_ID> (onde <custom_role_ID> é o ID do papel personalizado, por exemplo 1eo7LSAhbNiG1q9t, que pode ser encontrado em papéis no local de compartilhamento do ArcGIS Portal Directory. A URL está no formato https://webadaptorhost.domain.com/<webadaptorname>/sharing/portals/0123456789ABCDEF/roles). Validado:Em versões do Portal for ArcGIS 10.3 e posterior, os valores aceitos para papéis não personalizados eram org_user, org_publisher e org_admin. No 10.3.1, estes valores foram rejeitados e substituídos pelos valores listados acima. Você pode continuar a utilizar os valores validados no 10.3.1, mas note que os valores podem não ser aceitos em versões futuras. |
Retornar valor
Um booleano indicando se a operação foi bem sucedida ou falhou.