2017-09-08 2 views
0

AWS의 모든 파이프 라인을 나열하려고하며 세션 토큰으로 nextToken을 전달하려고합니다. 그러나 이것은 어떤 생각으로도 작동하지 않는 것 같습니까?AWS boto3 목록 codepipelines

import boto3 


def list_pipelines(): 
    session = boto3.Session(
     aws_access_key_id="AKIAJMO63R4OAY6HMXUQ", 
     aws_secret_access_key="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" 
    ) 
    credentials = session.get_credentials() 
    print credentials 
    code_pipeline = boto3.client('codepipeline') 
    pipelines = code_pipeline.list_pipelines(nextToken=credentials.token) 
    for i in pipelines: 
     print i 


def main(): 
    list_pipelines() 

if __name__ == "__main__": 
    main() 

출력 :

botocore.exceptions.ParamValidationError: Parameter validation failed: 
Invalid type for parameter nextToken, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'> 

답변

0

당신은 nextToken의 의미를 잘못 해석. 페이지 매김에 사용됩니다. 처음에는 nextToken 매개 변수없이 호출합니다. 응답 hasMoreResultsTrue으로 설정된 경우 다음 호출에서 이전 호출에 대한 응답으로 반환 된 을 사용합니다.

while pipelines['hasMoreResults']: 
    pipelines = code_pipeline.list_pipelines(nextToken=pipelines['marker']) 

List Pipelines

요청 구문

response = client.list_pipelines(
    marker='string' 
) 

매개 변수

마커 (문자열) - 결과의 출발점은 반환한다. 첫 번째 호출의 경우이 값은 비어 있어야합니다. 이상의 결과가있는 한 이전 호출에서 마커 값 으로 ListPipeline을 계속 호출하여 다음 결과 집합을 검색합니다.

응답 구문

{ 
    'pipelineIdList': [ 
     { 
      'id': 'string', 
      'name': 'string' 
     }, 
    ], 
    'marker': 'string', 
    'hasMoreResults': True|False 
} 

마커 (문자열)

결과의 다음 페이지에 대한 출발점. 다음 페이지 결과를 보려면이 마커 값을 사용하여 ListPipelinesOutput을 다시 호출하십시오. 값이 null이면 더 이상 결과가 없습니다.

hasMoreResults (부울)

가 후속 호출함으로써 얻어 질 수 많은 결과가 있는지 여부를 나타낸다.

관련 문제