Cómo crear y actualizar un grupo dinámico
En esta página, se explica cómo crear y actualizar un grupo dinámico.
Antes de comenzar
Realiza las siguientes tareas antes de continuar con la información de esta página:
Formula y prueba una consulta de membresía (opcional).
Crear un grupo dinámico
El siguiente es un ejemplo de cómo crear un grupo dinámico:
REST
Para crear un grupo dinámico, llama a groups.create()
con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata
con la consulta usada para propagar el grupo.
Python
Para crear un grupo dinámico, llama al método service.groups().create
con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata
con la consulta usada para propagar el grupo. En el siguiente ejemplo, se muestra cómo crear un grupo dinámico que contenga todos los usuarios existentes en el departamento de Ingeniería:
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
Actualización de un grupo dinámico
El siguiente es un ejemplo de cómo crear un grupo dinámico:
REST
Para actualizar un grupo dinámico, llama a groups.patch()
con una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata
con la nueva consulta usada para propagar el grupo.
Python
Para actualizar un grupo dinámico, llama al método service.groups().patch
con el nombre del grupo que se actualizará y una instancia del grupo. La instancia del grupo debe contener el dynamicGroupMetadata
con la consulta usada para propagar el grupo. En el siguiente ejemplo, se muestra cómo actualizar un grupo dinámico que contiene a todos los usuarios de ingeniería en un grupo que contiene a todos los usuarios de los departamentos de ingeniería o finanzas:
# 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
¿Qué sigue?
Una vez que exista el grupo dinámico, podrás recuperarlo y enumerar sus membresías. Para obtener más información, consulta Recupera un grupo dinámico y enumera miembros.