AWS CLI 페이지 매김 옵션 사용 - AWS Command Line Interface

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CLI 페이지 매김 옵션 사용

이 주제에서는 AWS CLI의 출력에 페이지 번호를 매기는 다양한 방법에 대해 설명합니다.

AWS CLI에서 페이지 매김을 제어하는 방법이 크게 두 가지 있습니다.

서버 측 페이지 매김 파라미터가 먼저 처리되고 모든 출력은 클라이언트 측 페이지 매김으로 전송됩니다.

서버 측 페이지 매김

많은 항목 목록을 반환할 수 있는 명령의 경우, AWS Command Line Interface(AWS CLI)에는 AWS CLI에서 서비스의 API를 호출하여 목록을 채울 때 출력에 포함되는 항목의 수를 제어할 수 있는 여러 옵션이 있습니다.

옵션에는 다음 사항이 포함됩니다.

기본적으로 AWS CLI는 개별 서비스에 의해 결정된 페이지 크기를 사용하고 사용 가능한 모든 항목을 검색합니다. 예를 들어 Amazon S3의 기본 페이지 크기는 1,000입니다. 3,500개 객체를 포함하는 Amazon S3 버킷에서 aws s3api list-objects를 실행할 경우 AWS CLI는 백그라운드에서 서비스별 페이지 매김 로직을 처리하고 최종 출력에 3,500개 객체를 모두 반환하면서 Amazon S3에 대한 4개 호출을 자동으로 작성합니다.

--no-paginate 파라미터를 사용하는 방법

--no-paginate 옵션은 클라이언트 측에서 다음 페이지 매김 토큰을 사용 중지합니다. 명령을 사용할 때 기본적으로 AWS CLI는 자동으로 여러 번 호출하여 가능한 모든 결과를 반환해서 페이지 매김을 생성합니다. 각 페이지에 대해 한 번 호출합니다. 페이지 매김을 비활성화하면 AWS CLI가 명령 결과의 첫 페이지에 대해 한 번만 호출합니다.

예를 들어 3,500개의 객체가 포함된 Amazon S3 버킷에서 aws s3api list-objects를 실행하는 경우 AWS CLI는 Amazon S3에 대한 첫 번째 호출만 실행하여 최종 출력에서 처음 1,000개의 객체만 반환합니다.

$ aws s3api list-objects \ --bucket my-bucket \ --no-paginate { "Contents": [ ...

--page-size 파라미터를 사용하는 방법

많은 리소스에서 list 명령을 실행할 때 문제가 발생할 경우, 기본값 페이지 크기가 너무 크기 때문일 수 있습니다. 이 경우 AWS 서비스에 최대 허용 시간을 초과하는 호출이 이루어지고 "시간 초과" 오류가 발생할 수 있습니다. --page-size 옵션을 사용하면 AWS CLI가 각 AWS 서비스 호출로부터 더 적은 수의 항목을 요청하도록 지정할 수 있습니다. AWS CLI는 계속 전체 목록을 검색하지만, 백그라운드에서 더 많은 수의 서비스 API 호출을 수행하고 각 호출마다 더 적은 수의 항목을 검색합니다. 그러면 각각의 호출이 시간 초과 없이 성공할 확률이 높아집니다. 페이지 크기를 변경해도 출력에 영향을 주지 않습니다. 출력을 생성하는 데 필요한 API 호출 수에만 영향을 미칩니다.

$ aws s3api list-objects \ --bucket my-bucket \ --page-size 100 { "Contents": [ ...

--max-items 파라미터를 사용하는 방법

AWS CLI 출력에 한 번에 더 적은 항목을 포함시키려면 --max-items 옵션을 사용합니다. AWS CLI는 이전에 설명한 대로 계속 서비스와 함께 페이지 매김을 처리하지만, 사용자가 지정한 항목 수만 한 번에 출력합니다.

$ aws s3api list-objects \ --bucket my-bucket \ --max-items 100 { "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [ ...

--starting-token 파라미터를 사용하는 방법

출력 항목 수(--max-items)가 기본 API 호출에서 반환하는 전체 항목 수보다 적을 경우 사용자가 다음 항목 세트를 검색하기 위해 후속 명령에 전달할 수 있도록 출력에 NextToken이 포함됩니다. 다음 예제를 통해 앞의 예제에서 반환된 NextToken 값을 사용하는 방법을 배우고, 두 번째 백 개 항목을 검색할 수 있습니다.

참고

--starting-token 파라미터는 null이거나 비어있을 수 없습니다. 이전 명령이 NextToken 값을 반환하지 않으면 반환할 더 이상의 항목이 없는 것이기 때문에 명령을 다시 호출할 필요가 없습니다.

$ aws s3api list-objects \ --bucket my-bucket \ --max-items 100 \ --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ== { "Contents": [ ...

지정된 AWS 서비스는 호출할 때마다 같은 순서로 항목이 반환되지는 않습니다. --page-size--max-items에 서로 다른 값을 지정하면 누락되거나 중복된 항목을 포함해 예상치 못한 결과가 발생할 수 있습니다. 이를 방지하려면 --page-size--max-items에 동일한 번호를 사용하여 AWS CLI의 페이지 매김을 기본 서비스의 페이지 매김과 동기화하십시오. 또한 전체 목록을 검색하고 필요한 구문 분석 작업을 로컬에서 수행할 수 있습니다.

클라이언트 측 페이저

AWS CLI 버전 2에서는 출력에 클라이언트 측 페이저 프로그램을 사용할 수 있습니다. 기본적으로 이 기능은 운영 체제의 기본 페이저 프로그램을 통해 모든 출력을 반환합니다.

우선 순위에 따라 다음과 같은 방법으로 출력 페이저를 지정할 수 있습니다.

  • default 또는 명명된 프로파일에서 config 파일의 cli_pager 설정 사용.

  • AWS_PAGER 환경 변수 사용.

  • PAGER 환경 변수 사용.

우선 순위에 따라 다음과 같은 방법으로 외부 페이징 프로그램의 모든 사용을 비활성화할 수 있습니다.

  • --no-cli-pager 명령줄 옵션을 사용하여 단일 명령 사용에 대해 페이저를 비활성화합니다.

  • cli_pager 설정 또는 AWS_PAGER 변수를 빈 문자열로 설정합니다.

클라이언트 측 페이저 주제:

cli_pager 설정을 사용하는 방법

AWS CLI에서 유지되는 파일에 자주 사용되는 구성 설정과 자격 증명을 저장할 수 있습니다. 이름 프로파일의 설정은 default 프로파일의 설정보다 우선합니다. 구성 설정에 대한 자세한 내용은 구성 및 자격 증명 파일 설정 섹션을 참조하세요.

다음 예제에서는 기본 출력 페이저를 less 프로그램으로 설정합니다.

[default] cli_pager=less

다음 예제에서는 기본값을 설정하여 페이저 사용을 비활성화합니다.

[default] cli_pager=

AWS_PAGER 환경 변수를 사용하는 방법

다음 예제에서는 기본 출력 페이저를 less 프로그램으로 설정합니다. 환경 변수에 대한 자세한 내용은 구성할 환경 변수 AWS CLI 섹션을 참조하세요.

Linux and macOS
$ export AWS_PAGER="less"
Windows
C:\> setx AWS_PAGER "less"

다음 예제에서는 페이저 사용을 비활성화합니다.

Linux and macOS
$ export AWS_PAGER=""
Windows
C:\> setx AWS_PAGER ""

--no-cli-pager 옵션을 사용하는 방법

단일 명령에서 페이저 사용을 비활성화하려면 --no-cli-pager 옵션을 사용합니다. 명령줄 옵션에 대한 자세한 내용은 명령줄 옵션 섹션을 참조하세요.

$ aws s3api list-objects \ --bucket my-bucket \ --no-cli-pager { "Contents": [ ...

페이저 플래그를 사용하는 방법

페이징 프로그램에서 자동으로 사용할 플래그를 지정할 수 있습니다. 플래그는 사용하는 페이징 프로그램에 따라 다릅니다. 아래의 예제는 일반적인 기본값인 lessmore에 대한 것입니다.

Linux and macOS

별도로 지정하지 않은 경우 AWS CLI 버전 2에는 기본적으로 less 페이저가 사용됩니다. LESS 환경 변수가 설정되어 있지 않은 경우 AWS CLI 버전 2는 FRX 플래그를 사용합니다. AWS CLI 페이저를 설정할 때 플래그를 지정하여 플래그를 결합할 수 있습니다.

다음 예제에서는 S 플래그를 사용합니다. 그런 다음 이 플래그는 기본 FRX 플래그와 결합하여 최종 FRXS 플래그를 생성합니다.

$ export AWS_PAGER="less -S"

FRX 플래그를 원하지 않으면 해당 플래그를 무효화할 수 있습니다. 다음 예제에서는 F 플래그를 무효화하여 최종 RX 플래그를 생성합니다.

$ export AWS_PAGER="less -+F"

less 플래그에 대한 자세한 내용은 manpages.org에서 less를 참조하세요.

Windows

별도로 지정하지 않은 경우 AWS CLI 버전 2에는 기본적으로 more가 추가 플래그 없이 사용됩니다.

다음 예제에서는 /c 파라미터를 사용합니다.

C:\> setx AWS_PAGER "more /c"

more 플래그에 대한 자세한 내용은 Microsoft Docs에서 more를 참조하세요.