Skip To Content

Módulo do PortalPy

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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescrição

group_id

Indica o grupo, string exigida

Retornar valor

Um dicionário com as chaves: proprietários, admins e usuários.

ParâmetroDescriçã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âmetroDescriçã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âmetroDescriçã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:

ChaveValor

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

e-mail

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âmetroDescriçã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.

ChaveValor

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

e-mail

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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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:

ChaveValor

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

e-mail

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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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âmetroDescriçã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:

ChaveValor

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âmetroDescriçã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:

ChaveValor

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âmetroDescriçã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

e-mail

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âmetroDescriçã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

ChaveValor

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

e-mail

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

ChaveValor

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.