customSchemas补丁的最大大小?

时间:2016-06-25 04:02:12

标签: google-admin-sdk google-directory-api

我遇到了SDK的问题。我跟着this guide来获得AWS的SSO。我可以使用我的代码添加4个角色,但之后我得到了413。

我的架构包含SSO角色阵列下的所有角色。因此,我制作的每个补丁都要求我根据the docs重新提交整个角色数组:

  

关于数组的注意事项:包含数组的修补程序请求会将现有数组替换为您提供的数组。您无法以零敲碎打的方式修改,添加或删除数组中的项目。

Python代码段

JSON

new_custom_schema是一个包含customSchema及其下所有节点的字典。

错误

service.users().patch(userKey=email, body=new_custom_schema).execute()

示例架构插入:

googleapiclient.errors.HttpError: <HttpError 413 when requesting https://www.googleapis.com/admin/directory/v1/users/user@domain.com?alt=json returned "Profile quota is exceeded.: Data is too large for">

示例用户补丁:

{
  "fields":
  [
    {
      "fieldName": "role",
      "fieldType": "STRING",
      "readAccessType": "ADMINS_AND_SELF",    
      "multiValued": true
    }
  ],
  "schemaName": "SSO"
}

在这个例子中,我能够提交前5个没有问题的

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我向Google提交了一张支持票,发现自定义架构中的多值字段有4KB(~1000个字符)限制。

所以,有几个选择:

  1. 选择其他SAML IdP
  2. 根据需要创建多个SAML应用程序以解决限制。
  3. <强> [更新]

    您不能拥有多个具有相同实体ID的SAML应用。

    [更新2]

    新限制似乎大约是旧限制的两倍。介于2087 - 2315个字符之间

    [更新3]

    看起来此限制已显着增加。我还没有用完空间。

答案 1 :(得分:0)

我能够获得关于请求大小的答案:

array_length * 100 + SUM(value_lengths) <= ~32000

示例:

[ "{500 bytes}", "{500 bytes}", "{500 bytes}" ]
array_length is 3
SUM(value_lengths) is 1500
3 * 100 + 1500 + 4 = 1804