Corpus Permissions

方法:corpora.permissions.create

创建对特定资源的权限。

端点

POST https://generativelanguage.googleapis.com/v1beta/{parent=corpora/*}/permissions

路径参数

parent string

必需。Permission 的父级资源。格式:tunedModels/{tunedModel} corpora/{corpus} 其格式为 corpora/{corpora}

请求正文

请求正文包含一个 Permission 实例。

字段
granteeType enum (GranteeType)

可选。不可变。受让人的类型。

emailAddress string

可选。不可变。此权限所引用的用户或群组的电子邮件地址。当权限的被授予方类型为 EVERYONE 时,未设置此字段。

role enum (Role)

必需。此权限授予的角色。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")
# ...

public_permission = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)

group_permission = model_info.permissions.create(
    role="READER",
    # Use "user" for an individual email address.
    grantee_type="group",
    email_address="genai-samples-test-group@googlegroups.com",
)

响应正文

如果成功,响应正文将包含一个新创建的 Permission 实例。

方法:corpora.permissions.list

列出特定资源的权限。

端点

获取 https://generativelanguage.googleapis.com/v1beta/{parent=corpora/*}/permissions

路径参数

parent string

必需。权限的父级资源。格式:tunedModels/{tunedModel} corpora/{corpus} 其格式为 corpora/{corpora}

查询参数

pageSize integer

可选。每页返回的 Permission 数量上限。服务返回的权限可能更少。

如果未指定,则最多返回 10 项权限。此方法每页最多返回 1,000 项权限,即使您传递较大的 pageSize 也是如此。

pageToken string

可选。从之前的 permissions.list 调用接收的页面令牌。

将一个请求返回的 pageToken 作为参数提供给下一个请求,以检索下一页。

进行分页时,提供给 permissions.list 的所有其他参数必须与提供页面令牌的调用匹配。

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")

# ...

for p in model_info.permissions.list():
    print(p)

响应正文

如果成功,则响应正文包含一个 ListPermissionsResponse 实例。

方法:corpora.permissions.get

获取有关特定权限的信息。

端点

获取 https://generativelanguage.googleapis.com/v1beta/{name=corpora/*/permissions/*}

路径参数

name string

必需。权限的资源名称。

格式:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 其格式为 corpora/{corpora}/permissions/{permission}

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")

# ...

public = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)
print(public)
name = public.name
print(name)  # tunedModels/{tunedModel}/permissions/{permission}

from_name = genai.types.Permissions.get(name)
print(from_name)

响应正文

如果成功,则响应正文包含一个 Permission 实例。

方法:corpora.permissions.patch

更新权限。

端点

<ph type="x-smartling-placeholder"></ph> 补丁 https://generativelanguage.googleapis.com/v1beta/{permission.name=corpora/*/permissions/*}

PATCH https://generativelanguage.googleapis.com/v1beta/{permission.name=corpora/*/permissions/*}

路径参数

permission.name string

仅限输出。标识符。权限名称。创建时,系统会生成一个唯一名称。示例:tuneModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 输出。其格式为 corpora/{corpora}/permissions/{permission}

查询参数

updateMask string (FieldMask format)

必需。要更新的字段列表。已接受的建议:- 角色(Permission.role 个字段)

这是完全限定字段名称的逗号分隔列表。示例:"user.displayName,photo"

请求正文

请求正文包含一个 Permission 实例。

字段
role enum (Role)

必需。此权限所授予的角色。

示例请求

Python

        import google.generativeai as genai

        model_info = genai.get_model("tunedModels/my-increment-model")

        # ...

        test_group = model_info.permissions.create(
            role="writer",
            grantee_type="group",
            email_address="genai-samples-test-group@googlegroups.com",
        )

        test_group.update({"role": "READER"})

    def test_tuned_models_permission_delete(self):
        import google.generativeai as genai

        model_info = genai.get_model("tunedModels/my-increment-model")
        # ...

        public_permission = model_info.permissions.create(
            role="READER",
            grantee_type="EVERYONE",
        )

        public_permission.delete()


if __name__ == "__main__":
    absltest.main()

响应正文

如果成功,则响应正文包含一个 Permission 实例。

方法:corpora.permissions.delete

删除权限。

端点

<ph type="x-smartling-placeholder"></ph> 删除 https://generativelanguage.googleapis.com/v1beta/{name=corpora/*/permissions/*}

路径参数

name string

必需。权限的资源名称。格式:tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 其格式为 corpora/{corpora}/permissions/{permission}

请求正文

请求正文必须为空。

示例请求

Python

import google.generativeai as genai

model_info = genai.get_model("tunedModels/my-increment-model")
# ...

public_permission = model_info.permissions.create(
    role="READER",
    grantee_type="EVERYONE",
)

public_permission.delete()

响应正文

如果成功,则响应正文为空。

REST 资源:corpora.permissions

资源:权限

权限资源可向用户、群组或所有人授予对 PaLM API 资源(例如经调参的模型、语料库)的访问权限。

角色是一组允许的操作,可让用户对 PaLM API 资源执行特定操作。如需向用户、群组或服务账号提供这些权限,您可以分配角色。分配角色就是授予该角色包含的权限。

有三个同心角色。每个角色都是前一个角色所允许操作的超集:

  • 读者可以使用相应资源(例如经调参的模型、语料库)进行推理
  • 写入者拥有读者权限,还可以编辑和分享
  • 所有者拥有写入者的权限,还可以删除
字段
name string

仅限输出。标识符。权限名称。系统会在创建时生成一个唯一的名称。示例:tuneModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} 输出。

granteeType enum (GranteeType)

可选。不可变。受让人的类型。

emailAddress string

可选。不可变。此权限所引用的用户或群组的电子邮件地址。当权限的被授予方类型为 EVERYONE 时,未设置此字段。

role enum (Role)

必需。此权限所授予的角色。

JSON 表示法
{
  "name": string,
  "granteeType": enum (GranteeType),
  "emailAddress": string,
  "role": enum (Role)
}

GranteeType

定义此权限的授权对象类型。

枚举
GRANTEE_TYPE_UNSPECIFIED 默认值。此值未使用。
USER 表示用户。设置后,您必须为用户提供 emailAddress。
GROUP 表示组。设置后,您必须为群组提供 emailAddress。
EVERYONE 代表对所有人的访问权限。无需提供额外信息。

角色

定义此权限所授予的角色。

枚举
ROLE_UNSPECIFIED 默认值。此值未使用。
OWNER 所有者可以使用、更新、共享和删除资源。
WRITER 作者可以使用、更新和分享资源。
READER 读取者可以使用该资源。

ListPermissionsResponse

来自 ListPermissions 的响应,其中包含分页的权限列表。

田野
permissions[] object (Permission)

返回的权限。

nextPageToken string

一个令牌,可作为 pageToken 发送以检索下一页。

如果省略此字段,则不存在其他页面。

JSON 表示法
{
  "permissions": [
    {
      object (Permission)
    }
  ],
  "nextPageToken": string
}