跳转到主要内容

LocalStack的"aws"命令行界面轻量级包装器

项目描述

LocalStack AWS CLI

PyPI version

本软件包提供了awslocal命令,该命令是用于LocalStackaws命令行界面的轻量级包装器。

安装

您可以通过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 (11.4 kB 查看哈希值)

上传时间 源代码

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面