Boto3 не возвращает все API, доступные в моей консоли управления AWS APIGateway

#python #amazon-web-services #boto3

Вопрос:

Я пытаюсь вернуть идентификаторы API всех API, доступных в моей учетной записи в определенном регионе.

Но его возвращается очень мало, в то время как у меня есть еще много в консоли управления AWS APIGateway.

Мой Код

 client=boto3.client('apigateway','us-east-1')
data = client.get_apis()
results = data['Items']

while "NextToken" in data:
   data = self.client_conn.get_apis(NextToken=data['NextToken'])
   results.extend(data['Items'])
 

Комментарии:

1. self.client_conn не определено. Так что же это такое?

2. Я не нашел этот метод get_apis в документации Amazon по Boto3, он только APIGateway.Client.get_rest_apis(**kwargs) кажется близким к вашему вопросу. Что именно вы хотите получить?

3. Привет, Маркин, Пожалуйста, найдите мой обновленный код ниже, я пытался получить идентификаторы api всех API, доступных в моей учетной записи в регионе США-восток-1, но приведенный ниже код не возвращает все идентификаторы клиента=boto3.client(‘apigatewayv2′,’сша-восток-1’) данные = client.get_apis() результаты = данные[‘Элементы’] в то время как «nextToken» в данных: данные = клиент.get_apis(nextToken=данные[‘nextToken’]) результаты.расширить(данные [«Элементы»])

4. АПИГейтвей. Client.get_rest_apis(**kwargs) это возвращает только сведения об API-интерфейсах REST, а как насчет других API, таких как HTTP, Websocket?

5. @hc_dev get_apis() находится в APIGatewayV2 boto3.amazonaws.com/v1/documentation/api/latest/reference/…

Ответ №1:

измените эту строку:

 data = client.get_apis()
 

для:

 data = client.get_apis(limit=500)
 

максимальное число-500.

используйте тот, который вам нужен