Criar e atualizar um grupo dinâmico

Esta página explica como criar e atualizar um grupo dinâmico.

Antes de começar

Realize as seguintes tarefas antes de continuar com as informações nesta página:

Criar um grupo dinâmico

Segue-se um exemplo de criação de um grupo dinâmico:

REST

Para criar um grupo dinâmico, chame groups.create() com uma instância do grupo. A instância do grupo tem de conter o elemento dynamicGroupMetadata com a consulta usada para preencher o grupo.

Python

Para criar um grupo dinâmico, chame o método service.groups().create com uma instância do grupo. A instância do grupo tem de conter o elemento dynamicGroupMetadata com a consulta usada para preencher o grupo. O exemplo seguinte mostra como criar um grupo dinâmico que contenha todos os utilizadores existentes no departamento de engenharia:

def create_dynamic_group(customer_id, email, query):
  service = build_service()
  groupDef = {
      "parent": "customerId/{}".format(customer_id),
      "groupKey": {"id": email},
      "labels": {"cloudidentity.googleapis.com/groups.discussion_forum": ""},
      "dynamicGroupMetadata": {
          "queries": [
              {
                  "resourceType": "USER",
                  "query": "user.organizations.exists(org, org.department=='engineering')"
              }
          ]
      }
  }
  request = service.groups().create(body=groupDef)
  request.uri += "&initialGroupConfig=EMPTY"
  response = request.execute()
  return response

Atualizar um grupo dinâmico

Segue-se um exemplo de atualização de um grupo dinâmico:

REST

Para atualizar um grupo dinâmico, chame groups.patch() com uma instância do grupo. A instância do grupo tem de conter o elemento dynamicGroupMetadata com a nova consulta usada para preencher o grupo.

Python

Para atualizar um grupo dinâmico, chame o método service.groups().patch com o nome do grupo a atualizar e uma instância do grupo. A instância do grupo tem de conter o dynamicGroupMetadata com a consulta usada para preencher o grupo. O exemplo seguinte mostra como atualizar um grupo dinâmico que contém todos os utilizadores no departamento de engenharia para um grupo que contém todos os utilizadores nos departamentos de engenharia ou finanças:

# name (i.e. groups/01234abcdeef) uniquely identifies the group
def update_dynamic_group(name, query):
  service = build_service()
  groupDef = {
    "dynamicGroupMetadata": {
    "queries": [
        {
          "resourceType": "USER",
          "query": "user.organizations.exists(org, org.department=='engineering' || org.department=='finance')"
        }
      ]
    }
  }
  request = service.groups().patch(name=name, body=groupDef)
  request.uri += "&updateMask=dynamicGroupMetadata"
  response = request.execute()

  return response

O que se segue?

Depois de o grupo dinâmico existir, pode obtê-lo e listar as respetivas associações. Para mais informações, consulte o artigo Obter um grupo dinâmico e listar membros.