首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在GCP的python代码中使用pageSize或pageToken

如何在GCP的python代码中使用pageSize或pageToken
EN

Stack Overflow用户
提问于 2019-12-06 23:24:21
回答 2查看 437关注 0票数 1

这是我从github获得的python代码。运行它,我得到了300。但是当我使用gcloud获取角色号时,总共得到了479个角色。GCP支持告诉我,需要使用pageSize。在哪里可以找到如何和pageSize可以使用的文档?因此,在我下面的代码中,pageSize应该去哪里?或者可能需要使用pageToken?

(gcptest):$ gcloud角色列表\grep名称\wc -l 479

(gcptest):$ python quickstart.py 300

def quickstart():# START iam_quickstart导入os

代码语言:javascript
复制
from google.oauth2 import service_account
import googleapiclient.discovery
import pprint

# Get credentials
credentials = service_account.Credentials.from_service_account_file(
    filename=os.environ['GOOGLE_APPLICATION_CREDENTIALS'],
    scopes=['https://www.googleapis.com/auth/cloud-platform'])

# Create the Cloud IAM service object
service = googleapiclient.discovery.build(
    'iam', 'v1', credentials=credentials)

# Call the Cloud IAM Roles API
# If using pylint, disable weak-typing warnings
# pylint: disable=no-member
response = service.roles().list().execute()
roles = response['roles']

print(type(roles))
print(len(roles))

if 名称 == 'main':quickstart()

EN

回答 2

Stack Overflow用户

发布于 2019-12-07 00:53:45

您需要编写类似于此的代码:

代码语言:javascript
复制
roles = service.roles()
request = roles.list()

while request is not None:
    role_list = request.execute()

    #  process each role here
    for role in role_list:
        print(role)

    # Get next page of results
    request = roles.list_next(request, role_list)

list_next方法的文档化list_next

票数 1
EN

Stack Overflow用户

发布于 2019-12-07 19:23:03

除了@JohnHanley的解决方案之外,还可以在方法的参数中添加查询参数。像这样

代码语言:javascript
复制
# Page size of 10
response = service.roles().list(pageSize=10).execute()

这里 list方法的定义

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59221579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档