小编典典

AWS SSM参数存储未获取所有键/值

java

有人可以让我知道为什么下面的代码仅从参数存储中获取一些条目吗?

   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());
    });

阅读 225

收藏
2020-11-26

共1个答案

小编典典

GetParametersByPath是一个分页的操作。每次调用后,您必须NextToken从结果对象中检索,如果它不是null也不为空,则必须进行另一个调用,并将其添加到请求中。

这是一个使用的示例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());
2020-11-26