GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

awslabs

aws-shell – AWS CLIを操作するための統合シェル

投稿日:

AWS CLIを操作するための統合シェル。

aws-shell – AWS CLIの対話型生産性向上ツール

インストール

aws-shellはpythonとpipをインストールする必要があります。 あなたはpipを使ってaws-shellをインストールすることができます:

$ pip install aws-shell

あなたがvirtualenvにインストールしていない場合は、以下を実行できます:

$ sudo pip install aws-shell

Mac OS X(10.11 El Capitan)をご使用の方 :Appleには既知の問題と、それに含まれるpythonパッケージの依存関係があります(詳細はhttps://github.com/pypa/pip/issues/3165を参照 )。 私たちはこの問題を解決する方法を調査していますが、その間にaws-shellをインストールするには、次のsudo pip install aws-shell --upgrade --ignore-installed sixを実行します: sudo pip install aws-shell --upgrade --ignore-installed six

aws-shellをインストールしたら、以下を実行できます:

$ aws-shell

シェルを終了するには、 Ctrl-D押します。

aws-shellをアップグレードする

aws-shellの最新バージョンにアップグレードする場合は、次のコマンドを実行できます。

$ pip install --upgrade aws-shell

新しいサービスとAPIアップデートを含む新しいバージョンのAWS CLIがリリースされるたびに、このアップグレードコマンドを使用することもできます。 これらの新しいサービスとAPIアップデートをaws-shellで使用することができます。

サポートされているPythonのバージョン

aws-shellはAWS CLIでサポートされているのと同じPythonバージョンで動作します:

  • 2.6.5以上
  • 2.7.x以上
  • 3.3.x以上
  • 3.4.x以上

構成

aws-shellは、AWS CLIと同じ設定を使用します。 これまでにAWS CLIを使用したことがない場合は、 configureコマンドを実行するのが最も簡単な方法です。

$ aws-shell
aws> configure
AWS Access Key ID [None]: your-access-key-id
AWS Secret Access Key [None]: your-secret-access-key
Default region name [None]: region-to-use (e.g us-west-2, us-west-1, etc).
Default output format [None]:
aws>

設定の詳細については、「 AWS CLI入門ガイド」を参照してください。

基本的な使用法

aws-shellはAWS CLIと同じコマンドを受け入れますが、 aws接頭辞を指定する必要はありません。 たとえば、次のコマンドを試してみてください。

$ aws-shell
aws> ec2 describe-regions
{
    "Regions": [
        {
            "Endpoint": "ec2.eu-west-1.amazonaws.com",
            "RegionName": "eu-west-1"
        },
        ...
aws> s3 ls
2015-12-07 15:03:34 bucket1
2015-12-07 15:03:34 bucket2
aws> dynamodb list-tables --output text
TABLENAMES     First
TABLENAMES     Second
TABLENAMES     Third

プロフィール

aws-shellはAWS CLIプロファイルをサポートしています。 プロファイルを使用するには2つのオプションがあります。 まず、aws-shellを起動するときにプロファイルを提供することができます:

$ aws-shell --profile prod
aws>

これを行うと、実行するCLIコマンドだけでなくサーバー側の完了もすべて自動的にprodプロファイルを使用します。

aws-shellの中で現在のプロファイルを変更することもできます:

$ aws-shell
aws> .profile demo
Current shell profile changed to: demo

また、aws-shellで設定したプロファイルを次のように確認することもできます。

aws> .profile
Current shell profile: demo

.profile dotコマンドを使用してプロファイルを変更すると、すべてのサーバー側の完了とCLIコマンドは、設定した新しいプロファイルを自動的に使用します。

特徴

コマンドとオプションの自動補完

aws-shellは入力時にコマンドとオプションの自動補完を行います。

省略形の自動補完

aws-shellは、さまざまなAWS CLIオプションに使用される簡略構文の例を記入することもできます。

サーバー側自動補完

aws-shellはまた、Amazon EC2インスタンスID、Amazon Dynamodbテーブル名、AWS IAMユーザ名、Amazon S3バケット名などのサーバ側のリソースを自動的に完成させるために、 boto3 (Python用AWS SDK)を活用しています。

この機能は現在開発中です。 サポートされているリソースのリストが増加し続けています。

ファジー検索

すべての自動完了値は、ファジー検索をサポートします。 これにより、より少ないタイピングで実行したいコマンド、オプション、および値を指定することができます。 次のように入力してみてください:

  • 各サブワードの最初の文字: ec2 describe-reserved-instances-offerings – > ec2 drio
  • 各単語の少し: ec2 describe-instances – > ec2 descinst
  • コマンドの任意の部分: dynamodb table – >サブシーケンスtableを含むすべてのコマンドを提供します。

インラインドキュメント

コマンドを入力すると、aws-shellは自動的にドキュメントをプルアップします。 CLIオプションのインラインドキュメントを表示します。 また、入力している現在のコマンドまたはオプションのドキュメントを表示する個別のドキュメントパネルもあります。 F9を押すとドキュメントパネルにフォーカスが切り替わり、選択したキーバインドを使用して移動できます。

フィッシュスタイルの自動提案

aws-shellはFishスタイルの自動提案をサポートしています。 右矢印キーを使用して提案を完了します。

コマンド履歴

aws-shellは、実行したコマンドを記録し、 ~/.aws/shell/history書き込みます。 上下の矢印キーを使用して履歴をスクロールできます。

ツールバーオプション

aws-shellにはいくつかのオプションを提供する下部ツールバーがあります:

  • F2 、ファジーと部分文字列の照合を切り替える
  • F3 、VIとEmacsのキーバインディングを切り替えます。
  • F4 、単一および複数列の自動補完を切り替える
  • ヘルプドキュメントペインの表示と非表示を切り替える
  • F9キーとドキュメントペインの間のフォーカスを切り替える
  • F10またはCtrl-D押してaws-shellを終了する

ツールバーのオプションを切り替えると、環境設定は~/.aws/shell/awsshellrcファイルに保存され、次回aws-shellを実行すると環境設定が復元されます。

ドットコマンド

aws-shellは、aws-shellに特有の追加のコマンドを提供します。 コマンドには、を追加することで利用できます. コマンドの前に接頭辞を付けます。

シェルの終了

シェルを終了するには、 .exitまたは.quitコマンドを実行します。

.editでシェルスクリプトを作成する

aws-shellで実行した一連のコマンドをシェルスクリプトに組み込むことができます。 aws-shellは、履歴ファイルに保持されているコマンド履歴に加えて、aws-shellセッションを最初に起動してから実行したすべてのコマンドも追跡します。

.editコマンドを実行すると、これらのコマンドをすべてエディタで開くことができます。 aws-shellは、Windowsではnotepadに、他のプラットフォームではviにデフォルト設定される前にEDITOR環境変数を使用します。

aws> ec2 describe-instances
aws> dynamodb list-tables
aws> .edit

.profileでプロファイルを変更する

.profile dotコマンドを使用すると、aws-shellによって使用される現在のAWS CLIプロファイルを変更できます。 引数なしで.profileコマンドを実行すると、現在構成されているシェルプロファイルが出力されます。

aws> .profile demo
Current shell profile changed to: demo
aws> .profile
Current shell profile: demo

.cd

.cdコマンドを使用すると、aws-shellの現在の作業ディレクトリを変更できます。

aws> !pwd
/usr
aws> .cd /tmp
aws> !pwd
/tmp

シェルコマンドの実行

aws-shellはいくつかの方法で他のコマンドと統合されています。 まず、AWS CLIコマンドを他のプロセスにパイプし、出力をファイルにリダイレクトすることができます。

aws> dynamodb list-tables --output text | head -n 1
TABLENAMES     First
aws> dynamodb list-tables --output text > /tmp/foo.txt

第2に、AWS CLIコマンドではなくシェルコマンドを実行する場合は、 ! あなたのコマンドに接頭辞:

aws> !ls /tmp/
foo.txt                                    bar.txt

開発者のプレビューステータス

aws-shellは現在、開発者のプレビュー中です。 フィードバック、機能リクエスト、バグレポートを歓迎します。 AWSシェルで繰り返し処理を続けるうちに、お客様からのフィードバックに対応するために、互換性のない変更が行われている可能性があります。

詳しくは

詳細は以下を参照してください。







-awslabs
-, , ,

執筆者: