Хранилище параметров AWS SSM не получает все ключи / значения - PullRequest
0 голосов
/ 18 октября 2018

Может ли кто-нибудь сообщить мне, почему приведенный ниже код извлекает только несколько записей из хранилища параметров?

   GetParametersByPathRequest getParametersByPathRequest = new GetParametersByPathRequest();
      getParametersByPathRequest.withPath("/").setRecursive(true);
      getParametersByPathRequest.setWithDecryption(true);
   GetParametersByPathResult result = client.getParametersByPath(getParametersByPathRequest);

   result.getParameters().forEach(parameter -> {
        System.out.println(parameter.getName() + " - > " + parameter.getValue());
    });

1 Ответ

0 голосов
/ 18 октября 2018

GetParametersByPath - это постраничная операция.После каждого вызова вы должны извлекать NextToken из результирующего объекта, и если он не нулевой и не пустой, вы должны сделать еще один вызов, добавив его в запрос.

Вот пример использования DescribeParameters, который имееттакое же поведение:

DescribeParametersRequest request = new DescribeParametersRequest();
DescribeParametersResult response;
do
{
    response = client.describeParameters(request);
    for (ParameterMetadata param : response.getParameters())
    {
        // do something with metadata
    }
    request.setNextToken(response.getNextToken());
}
while ((response.getNextToken() != null) && ! respose.getNextToken.isEmpty());
...