LocalStack的"aws"命令行界面轻量级包装器
项目描述
LocalStack AWS CLI
本软件包提供了awslocal
命令,该命令是用于LocalStack的aws
命令行界面的轻量级包装器。
安装
您可以通过pip
安装awslocal
命令。
pip install awscli-local[ver1]
请注意,上述命令还安装了底层 AWS CLI 版本 1(《awscli》)的最新版本。如果您想管理自己的 awscli
版本(例如,v1
/v2
)并且只安装包装脚本,请使用此命令。
pip install awscli-local
注意:目前尚不支持自动安装 AWS CLI 版本 2(在撰写本文时,没有官方的 pypi 包可用于 v2
),但技术上也支持与 AWS CLI v2 一起使用 awslocal
(有关更多详细信息,请参阅本节)。
用法
awslocal
命令与 aws
命令具有相同的用法。有关详细用法,请参阅 aws help
的手册页面。
示例
而不是以下命令...
aws --endpoint-url=http://localhost:4566 kinesis list-streams
...您可以简单地使用这个
awslocal kinesis list-streams
配置
您可以使用以下环境变量进行配置
AWS_ENDPOINT_URL
:连接到的端点 URL(优先于下面的USE_SSL
/LOCALSTACK_HOST
)。当 LocalStack 绑定到不同的主机时(例如,在 docker-compose 中)非常有用。LOCALSTACK_HOST
(已弃用):定义找到 LocalStack 的位置(默认:localhost:4566)。USE_SSL
(已弃用):是否在连接到 LocalStack 时使用 SSL(默认:False)。
完成
awscli
提供了一个整洁的命令完成功能,该功能与大多数现代 shell 兼容,也可以与 awslocal
一起使用。
使用说明
当使用完成键(通常是 Tab 键)时,命令完成会自动建议命令和参数。
$ awslocal dynamodb d<TAB>
delete-backup describe-global-table
delete-item describe-global-table-settings
delete-table describe-limits
describe-backup describe-table
describe-continuous-backups describe-table-replica-auto-scaling
describe-contributor-insights describe-time-to-live
describe-endpoints
配置
-
请遵循设置
aws
CLI 命令完成的官方指南:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html -
在启用您的 shell 的命令完成时,请确保也注册了
awslocal
的完成。例如,如果您正在使用
bash
,您需要将以下命令添加到您的~/.bashrc
complete -C '/usr/local/bin/aws_completer' aws complete -C '/usr/local/bin/aws_completer' awslocal
-
请根据您使用的 shell 的说明进行操作。对于某些 shell,您可能需要注册不同的命令或启用某些兼容性插件(如
zsh
)。
限制
-
请注意,使用 AWS CLI v2 的
cloudformation package ...
命令存在已知限制。目前无法指定 S3 端点 URL,并且此问题在 AWS 一侧尚未解决。问题是 AWS CLI v2 不是作为 pypi.org 上的包提供的,而是作为二进制包提供的,无法从awslocal
中轻松修补。为了解决此问题,您有两个选项- 降级到 v1 AWS CLI(这是推荐的方法)
- 有一种非官方方法可以从源代码安装 AWS CLI v2。我们不推荐这样做,但从技术上讲是可能的。此外,您应该在 Python 虚拟环境中安装这些库,以避免与系统上其他库的版本冲突
virtualenv .venv
. .venv/bin/activate
pip install https://github.com/boto/botocore/archive/v2.zip https://github.com/aws/aws-cli/archive/v2.zip
更改日志
- v0.22.0:使用回退以检测端点。应防止大多数
Unable to find LocalStack endpoint for service ...
的情况 - v0.21.1:引入语义版本化和没有端点的服务列表
- v0.21:仅在 Boto 无法找到时使用占位符凭据和区域,修复日志尾调用输出流
- v0.20:对 Python 2.x 向后兼容性进行的小修复
- v0.19:修补 botocore 以跳过在端点 URL 中添加
data-
主机前缀 - v0.18:将
SYSTEMROOT
环境变量传递到修复 Windows 上的 "_Py_HashRandomization_Init" 错误 - v0.17:删除过时的/错误的 FORCE_V2 标志
- v0.16:修复读取配置文件中的 addressing_style 的小错误
- v0.15:修复查找 v1/v2 AWS CLI 版本,仅对 v1 应用 --s3-endpoint-url
- v0.14:在 Windows 上引用文件名,以允许包含空格的文件夹名
- v0.13:修复针对较新 pip 版本的额外要求
- v0.12:支持底层
awscli
安装的 v1 和 v2 - v0.9: 默认添加
--s3-endpoint-url
以修复"cloudformation package"命令 - v0.9: 支持使用环境变量
DEFAULT_REGION
- v0.8: 默认切换到使用边缘端口的所有服务端点
- v0.7: 对aws-cli进行运行时修补,以启用
--s3-endpoint-url
CloudFormation参数 - v0.6: 在内存中启动
aws
CLI命令,而不是调用外部进程 - v0.5: 支持将二进制文件通过管道传输到stdout;为Windows添加.bat文件
- v0.4: 对Python 3兼容性进行小修复
- v0.3: 添加对其他服务端点的支持
- v0.2: 启用SSL连接;重构代码
- v0.1: 首次发布
替代方案
除了cloudformation package ...
命令(此命令需要额外的--s3-endpoint-url
参数)外,此软件包可以被单个bash别名替换
alias awslocal="AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_DEFAULT_REGION=${DEFAULT_REGION:-$AWS_DEFAULT_REGION} aws --endpoint-url=http://${LOCALSTACK_HOST:-localhost}:4566"
许可证
此软件库根据Apache License,版本2.0发布(参见LICENSE
)。
项目详情
awscli-local-0.22.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3807cf2ee4bbdd4df4dfc8bef027f25bde523dcaf8119720f677ed95ebba66a4 |
|
MD5 | ae2ef126b901f803ac06487a1b186abf |
|
BLAKE2b-256 | 25f9023c80ea27d67b0930f116597fd55a93f84de9b05d18b38c7d2d5d75c1c9 |