AWS CLI v2 팁

3318 단어 aws-cliAWS
2020 년 2 월에 AWS CLI v2이 출시되었습니다

개인적으로는 지금까지 AWS CLI를 사용할 기회가 적었던 적도 있어, v1에서 업그레이드한 당초는 변화를 깨닫지 못했습니다만, 몇개월 사용해 보아 v1로부터 거동이 바뀐 점이나 진보를 느꼈다 점이 있었으므로 정리했습니다.

TL;DR


  • 모든 프로필에서 호출기를 사용하지 않으려면 환경 변수 AWS_PAGER에 빈 문자를 설정하십시오
  • Lambda 실행 페이로드에 일반 문자열을 전달하여 오류가 발생하면 cli_binary_format=raw-in-base64-out를 설정하십시오.
  • AWS CLI v2에서 AWS 측 리소스 이름을 입력 할 때 탭 완성이 작동합니다.

    모든 프로필에서 페이저 사용 안함



    AWS CLI v2에서는 출력이 길면 클라이언트 측에서 지정한 호출기를 출력에 사용할 수있게되었습니다. 그렇습니다.

    기본적으로 OS의 기본 페이저를 사용한다는 것입니다만, 개인적으로는 페이저보다 터미널의 스크롤로 보는 것을 좋아하므로 페이저를 무효로 합니다.

    페이저를 사용하지 않으려면 다음 어딘가에서 페이저에 빈 문자열을 지정하면 괜찮습니다.

    다음 방법을 우선순위로 사용하여 출력 호출기를 지정할 수 있습니다.
    - 명명 된 프로파일에서 config 파일의 cli_pager 설정을 사용합니다.
    - AWS_PAGER 환경 변수를 사용합니다.
    - default 프로파일에서 config 파일의 cli_pager 설정을 사용합니다.
    - PAGER 환경 변수를 사용합니다.

    단, 많은 AWS 프로파일을 전환하고 작업하는 경우가 많으면 개별 명명된 프로파일에 일일이 cli_pager=를 설정하는 것은 번거롭습니다. 이 경우 환경 변수 AWS_PAGER에 빈 문자를 설정하여 모든 프로필에서 호출기를 비활성화 할 수있었습니다.

    처음에 default 프로필에 cli_pager= 때는 default 프로파일의 설정은 모두 무시되는 사양과 같습니다.

    바이너리 매개 변수를 v1과 같이 문자열로 전달



    AWS CLI v2에서 v1 때처럼 aws lambda invoke 페이로드에 JSON 문자열을 전달하면 오류가 발생합니다. (참고. AWS CLI v2에서 lambda invoke가 이끼 - Qiita )

    이것은 문서 에 기재되어 있는 대로, 바이너리를 받는 파라미터는 디폴트로 모두 base64 encode 된 캐릭터 라인을 받는 스펙으로 변경되었기 때문입니다.

    v1에서는 커멘드에 의해 받는 형식이 제각각이었기 때문에 통일되었다고 하는 것이었습니다만, 쉘로부터 대화적으로 실행할 때 base64로의 입력이 필요하다고 취급하기 어렵지요. 이 동작은 프로필 설정에 cli_binary_format=raw-in-base64-out를 추가하여 v1과 유사한 동작으로 되돌릴 수 있습니다.

    위의 호출자와 같이 환경 변수에 지정할 수 없으므로 설정을 적용하려는 여러 프로필이있는 경우 모든 프로필에 동일한 설정을 추가해야합니다.

    서버 측 리소스 이름이 완성되었습니다.



    v2 릴리스 블로그 기사 에 써 있는 내용 그대로입니다만, AWS측의 리소스명을 탭으로 보완할 수 있게 되어 있습니다.

    개인적으로 s3의 버킷 이름과 디렉토리 (접두사)를 보완하기 위해 엄청나게 썼습니다.

    참고 자료


  • 이제 AWS CLI v2를 사용할 수 있습니다. | Amazon Web Services 블로그
  • AWS CLI 페이지 분할 옵션 사용 - AWS Command Line Interface
  • AWS CLI v2에서 lambda invoke가 이끼 - Qiita
  • 좋은 웹페이지 즐겨찾기