■ はじめに
https://dk521123.hatenablog.com/entry/2019/12/14/010524
https://dk521123.hatenablog.com/entry/2019/12/16/231149
https://dk521123.hatenablog.com/entry/2019/11/10/205535
の続き。 今回は、ローカル環境にAWS環境を作成する LocalStack を扱ってきたが その環境で使用する awscli-local ってものがあるので、メモ。
目次
【1】awscli-local とは? 【2】環境設定 1)前提条件「AWS CLI」 2)awscli-localインストール 【3】使用例 1)S3バケットの確認 【4】トラブル 1)確認時に「awslocal: command not found」となった場合 2)例外「ModuleNotFoundError: No module named 'awscli'」が発生する場合
【1】awscli-local とは?
https://53ningen.com/dynamodb-localstack/
の説明が分かりやすかったので、抜粋。 ~~~~~~ aws --endpoint-url=http://localhost:XXXX と毎回入力するのは面倒なので、 そのあたりをラップしてくれる localstack/awscli-local コマンドがベンリ ~~~~~~
Github
https://github.com/localstack/awscli-local
【2】環境設定
1)前提条件「AWS CLI」
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
# unzip install if you don't install sudo apt install unzip # AWS CLI download and install curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
2)awscli-localインストール
# awscli-localをインストール pip3 install awscli-local # 確認(エラーが発生する場合は、後述「【4】トラブル」を参照) awslocal --version
【3】使用例
1)S3バケットの確認
awslocal s3 ls
【4】トラブル
1)確認時に「awslocal: command not found」となった場合
https://qiita.com/plum_shiga/items/5214510f9786898c987f
が勉強になった。
[1] pipでインストールされているか確認
pip3 list | grep aws awscli 1.18.195 awscli-local 0.9 << ★入っている★
[2] 実行モジュール本体がどこにあるか調査してみる
pip3 show awscli-local ~~~~~~ ・・・ Location: /home/<USER NAME>/.local/lib/python3.8/site-packages ・・・ ~~~~~~ pip3 show awscli-local -f | grep /bin ~~~~~~ ../../../bin/awslocal ../../../bin/awslocal.bat ~~~~~~ => 「cd /home/xxxxxxx/.local/bin」に移動し、「awslocal」を発見!
[3] 環境変数 PATH に追加および確認
vi ~/.bash_profile ~~~ export PATH=/home/xxxxxxx/.local/bin:$PATH ~~~ # 適用 source ~/.bash_profile # 確認 awslocal --version => 「aws-cli/1.18.195 Python/3.8.5 Linux/4.19.128-microsoft-standard botocore/1.19.35」が表示!
2)例外「ModuleNotFoundError: No module named 'awscli'」が発生する場合
エラー内容
$ awslocal --version Traceback (most recent call last): File "/home/xxxxxxx/.local/bin/awslocal", line 91, in main import awscli.clidriver # noqa: F401 ModuleNotFoundError: No module named 'awscli' During handling of the above exception, another exception occurred: Traceback (most recent call last): ・・・略・・・ File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'aws'
原因
* AWS CLI がないため => 導入には、上述『1)前提条件「AWS CLI」』を参照
参考文献
https://53ningen.com/dynamodb-localstack/
関連記事
LocalStack ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/14/010524
LocalStack ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2019/12/16/231149
LocalStack ~ awscli-local ~
https://dk521123.hatenablog.com/entry/2020/12/16/211127
AWS Glue ~ ローカル環境を作成する ~
https://dk521123.hatenablog.com/entry/2019/11/10/205535
Docker compose ~ LocalStack/Glue4.0 ~
https://dk521123.hatenablog.com/entry/2023/03/25/021432