As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Acessar objetos
Os objetos em um diretório podem ser acessados por caminho ou por objectIdentifier
.
Caminho— cada objeto em uma árvore do Cloud Directory pode ser identificado e localizado pelo nome do caminho que descreve como acessá-lo. O caminho começa no nó raiz do diretório (nó 000
na figura anterior). A notação do caminho começa com o link rotulado com uma barra (/) e segue os links filho separados pelo separador de caminho (também uma barra) até atingir a última parte do caminho. Por exemplo, o objeto 005
na figura anterior pode ser identificado usando o caminho /group/a/d
. Vários caminhos podem identificar um objeto, uma vez que os objetos que são nós folha podem ter vários pais. O caminho a seguir também pode ser usado para identificar o objeto 005
: /group/b/e
ObjectIdentifier— cada objeto no diretório tem um identificador exclusivo global, que é oObjectIdentifier
.ObjectIdentifier
O é retornado como parte doCreateObject
Chamada de API. Você também pode buscar o ObjectIdentifier
usando a chamada da API GetObjectInformation
. Por exemplo, para buscar o identificador do objeto 005
, você pode chamar GetObjectInformation
com a referência do objeto como o caminho que resulta no objeto, que é group/b/e ou group/a/d.
GetObjectInformationRequest request = new GetObjectInformationRequest() .withDirectoryArn(directoryArn) .withObjectReference("/group/b/e") .withConsistencyLevel(level) GetObjectInformationResult result = cdClient.getObjectInformation(request) String objectIdentifier = result.getObjectIdentifier()
Preencher objetos
As facetas novas podem ser adicionadas a um objeto usando a chamada da API AddFacetToObject
. O tipo do objeto é determinado com base nas facetas anexadas ao objeto. O anexo do objeto em um diretório funciona com base no tipo do objeto. Para anexar um objeto, lembre-se destas regras:
-
Um objeto de nó folha não pode ter filhos.
-
Um objeto de nó pode ter vários filhos.
-
Um objeto do tipo política não pode ter filhos e pode ter zero ou um pai.
Atualização de objetos
Você pode atualizar um objeto de várias maneiras:
-
Usar a operação
UpdateObjectAttributes
para atualizar atributos individuais de facetas em um objeto. -
Usar a operação
AddFacetToObject
para adicionar novas facetas a um objeto. -
Usar a operação
RemoveFacetFromObject
para excluir facetas existentes de um objeto.
Excluir objetos
Um objeto anexado deve atender a certas condições para que você possa excluí-lo de um diretório:
-
Você deve desanexar o objeto da árvore. Você pode desanexar um objeto somente quando ele não tiver nenhum filho. Se o objeto tiver filhos, você deve desanexar todos os filhos primeiro.
-
Você pode excluir um objeto desanexado somente se todos os atributos desse objeto estiverem excluídos. Você pode excluir atributos em um objeto excluindo cada faceta anexada a esse objeto. Você pode buscar uma lista de facetas anexadas a um objeto chamando
GetObjectInformation
. -
Um objeto também não deve ter nenhum pai, nenhum anexo de política e nenhum anexo de índice.
Como um objeto deve estar totalmente desanexado da árvore a ser excluída, você deve usar o identificador do objeto para excluí-lo.
Consultar objetos
Esta seção aborda os vários elementos relevantes para consultar objetos em um diretório.
Travessia do diretório
Como o Cloud Directory é uma árvore, você pode consultar objetos da parte superior para baixo usando oListObjectChildren
operação da API ou de baixo para cima usando oListObjectParents
Operação da API.
Pesquisa de política
Dada uma referência de objeto, a operação da API LookupPolicy
retorna todas as políticas que estão anexadas ao longo de seu caminho (ou caminhos) à raiz de uma maneira de cima para baixo. Todos os caminhos que não estiverem levando a raiz são ignorados. Todos os objetos de tipo de política são retornados.
Se o objeto for um nó folha, ele poderá ter vários caminhos até a raiz. Essa chamada retorna somente um caminho para cada chamada. Para buscar caminhos adicionais, use o token de paginação.
Consulta de índice
O Cloud Directory oferece suporte à funcionalidade sofisticada de consulta de índice com o uso dos seguintes intervalos:
-
FIRST - começa no primeiro valor do atributo indexado. O valor inicial do atributo é opcional.
-
LAST - retorna os valores do atributo até o final do índice, incluindo os valores ausentes. O valor final do atributo é opcional.
-
LAST_BEFORE_MISSING_VALUES - retorna os valores do atributo até o final do índice, excluindo os valores ausentes.
-
INCLUSIVE - inclui o valor do atributo que está sendo especificado.
-
EXCLUSIVE - exclui o valor do atributo que está sendo especificado.
Listagem de caminhos pai
Usando a chamada da API ListObjectParentPaths
, você pode recuperar todos caminhos pai disponíveis para qualquer tipo de objeto (nó, nó folha, nó de política, nó de índice). Essa operação da API pode ser útil quando você precisar avaliar todos os pais de um objeto. A chamada retorna todos os objetos da raiz do diretório até o objeto solicitado. Também retorna o número de caminhos com base no MaxResults
definido pelo usuário, no caso de vários caminhos até o pai. A ordem dos caminhos e dos nós retornados é consistente entre várias chamadas da API a menos que os objetos sejam excluídos ou movidos. Os caminhos que não levam para a raiz do diretório são ignorados do objeto de destino.
Para um exemplo de como isso funciona, digamos que um diretório tem uma hierarquia de objeto semelhante à ilustração mostrada a seguir.
As formas numeradas representam os diferentes objetos. O número de setas entre o objeto e a raiz do diretório (000
) representa o caminho completo e seria expresso na saída. As tabela a seguir mostra as solicitações e as respostas às consultas feitas a objetos de nós folha específicos na hierarquia.
Solicitação | Resposta |
---|---|
004, PageToken: null, MaxResults: 1 |
[{/group/a/c], [000, 001, 002, 004]}], PageToken:
null |
005, PageToken: null, MaxResults: 2 |
[{/group/a/d, [000, 001, 002, 005]}, { /group/b/e, [000, 001, 003,
005]}], PageToken: null notaNeste exemplo, o objeto |
005, PageToken: null, MaxResults: 1 |
[{/group/a/d, [000, 001, 002, 005]}], PageToken:
<encrypted_next_token> |
005, PageToken: <encrypted_next_token>, MaxResults:
1 |
[{/group/b/e, [000, 001, 003, 005]}], PageToken: null notaNeste exemplo, o objeto |
006, PageToken: null, MaxResults: 1 |
[{/group/b/f, [000, 001, 003, 006]}], PageToken:
null |
007, PageToken: null, MaxResults: 1 |
[{/group/a/index, [000, 001, 002, 007]}], PageToken:
null |