기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 페이지 매김 옵션 사용 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
에서 를 실행하는 경우 는 Amazon S3에 대한 첫 번째 호출 AWS CLI 만 수행하여 최종 출력에서 처음 1,000개 객체만 반환합니다.
$
aws s3api list-objects \ --bucket amzn-s3-demo-bucket \
--no-paginate
{ "Contents": [ ...
--page-size 파라미터를 사용하는 방법
많은 리소스에서 list 명령을 실행할 때 문제가 발생할 경우, 기본값 페이지 크기가 너무 크기 때문일 수 있습니다. 이로 인해 AWS 서비스에 대한 호출이 최대 허용 시간을 초과하고 “시간 초과” 오류가 발생할 수 있습니다. --page-size
옵션을 사용하여 AWS 서비스에 대한 각 호출에서 더 적은 수의 항목을 AWS CLI 요청하도록 지정할 수 있습니다. 는 AWS CLI 여전히 전체 목록을 검색하지만 백그라운드에서 더 많은 수의 서비스 API 호출을 수행하고 각 호출에서 더 적은 수의 항목을 검색합니다. 그러면 각각의 호출이 시간 초과 없이 성공할 확률이 높아집니다. 페이지 크기를 변경해도 출력에는 영향을 주지 않으며, 출력을 생성하기 위해 수행해야 하는 API 호출 수에만 영향을 미칩니다.
$
aws s3api list-objects \ --bucket amzn-s3-demo-bucket \
--page-size 100
{ "Contents": [ ...
--max-items 파라미터를 사용하는 방법
AWS CLI 출력에 한 번에 더 적은 항목을 포함하려면 --max-items
옵션을 사용합니다. 는 AWS CLI 여전히 앞서 설명한 대로 서비스 페이지 매김을 처리하지만 지정한 시간에 항목 수만 출력합니다.
$
aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --max-items 100
{ "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [ ...
--starting-token 파라미터를 사용하는 방법
출력 항목 수(--max-items
)가 기본 API 호출에서 반환한 총 항목 수보다 적으면 출력에는 다음 항목 세트를 검색하기 위해 후속 명령에 전달할 수 NextToken
있는 이 포함됩니다. 다음 예제를 통해 앞의 예제에서 반환된 NextToken
값을 사용하는 방법을 배우고, 두 번째 백 개 항목을 검색할 수 있습니다.
참고
--starting-token
파라미터는 null이거나 비어있을 수 없습니다. 이전 명령이 NextToken
값을 반환하지 않으면 반환할 더 이상의 항목이 없는 것이기 때문에 명령을 다시 호출할 필요가 없습니다.
$
aws s3api list-objects \ --bucket amzn-s3-demo-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
프로파일의 설정보다 우선합니다. 구성 설정에 대한 자세한 내용은 의 구성 및 보안 인증 파일 설정 AWS CLI 섹션을 참조하세요.
다음 예제에서는 기본 출력 페이저를 less
프로그램으로 설정합니다.
[default] cli_pager=less
다음 예제에서는 기본값을 설정하여 페이저 사용을 비활성화합니다.
[default] cli_pager=
AWS_PAGER 환경 변수를 설정하는 방법
다음 예제에서는 기본 출력 페이저를 less
프로그램으로 설정합니다. 환경 변수에 대한 자세한 내용은 에 대한 환경 변수 구성 AWS CLI 섹션을 참조하세요.
--no-cli-pager 옵션을 사용하는 방법
단일 명령에서 페이저 사용을 비활성화하려면 --no-cli-pager
옵션을 사용합니다. 명령줄 옵션에 대한 자세한 내용은 의 명령줄 옵션 AWS CLI 섹션을 참조하세요.
$
aws s3api list-objects \ --bucket amzn-s3-demo-bucket \
--no-cli-pager
{ "Contents": [ ...
페이저 플래그를 사용하는 방법
페이징 프로그램에서 자동으로 사용할 플래그를 지정할 수 있습니다. 플래그는 사용하는 페이징 프로그램에 따라 다릅니다. 아래의 예제는 일반적인 기본값인 less
및 more
에 대한 것입니다.