创建和更新动态群组
本页面介绍如何创建和更新动态群组。
准备工作
在继续此页面的信息之前,请先执行以下任务:
阅读 Groups API 概览。
阅读动态群组概览。
(可选)编制和测试成员资格查询。
创建动态群组
以下是创建动态群组的示例:
REST
如需创建动态群组,请使用群组的实例调用 groups.create()
。群组的实例必须包含用于填充群组的查询的 dynamicGroupMetadata
。
Python
如需创建动态群组,请使用群组的实例调用 service.groups().create
方法。群组的实例必须包含用于填充群组的查询的 dynamicGroupMetadata
。以下示例展示了如何创建包含工程部门中现有的所有用户的动态群组:
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
更新动态群组
以下是更新动态群组的示例:
REST
如需更新动态群组,请使用群组的实例调用 groups.patch()
。群组的实例必须包含用于填充组的新查询的 dynamicGroupMetadata
。
Python
如需更新动态群组,请使用要更新的群组名称调用 service.groups().patch
方法,以及更新群组的实例。群组的实例必须包含用于填充群组的查询的 dynamicGroupMetadata
。以下示例显示如何将包含工程部门中所有用户的动态群组更新为包含工程部门或金融部门中所有用户的群组:
# 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
后续步骤
动态群组存在后,您可以检索它并列出其成员资格。如需了解详情,请参阅检索动态群组并列出成员。