帮助管理类似s3的服务中存储的配置文件的实用程序包。

s3conf的Python项目详细描述


#s3conf

[![生成状态](https://travis-ci.org/sbneto/s3conf.svg?branch=master)](https://travis-ci.org/sbneto/s3conf

帮助管理类似s3的服务中存储的配置文件的实用程序包。

#安装

Linux和Mac有二进制文件:

`bash sudo curl -L"https://github.com/sbneto/s3conf/releases/download/0.10.2/s3conf-$(uname-s)-$(uname-m)"-o /usr/local/bin/s3conf sudo chmod 755 /usr/local/bin/s3conf `

对于Alpine Linux,请使用

`bash sudo curl -L"https://github.com/sbneto/s3conf/releases/download/0.10.2/s3conf-$(uname-s)-$(uname-m)-alpine"-o /usr/local/bin/s3conf sudo chmod 755 /usr/local/bin/s3conf `

如果您的平台无法使用pip,您可以使用pip安装一个或两个附加组件(aws和gcp):

`python pip install s3conf[aws,gcp] `

#用法

##快速入门

###创建环境

在项目根目录下运行此命令:

`bash s3conf init dev s3://my-dev-bucket/dev-env/myfile.env `

这将创建文件 S3CONF.INI/cTIT>如果不存在,并添加以下行:

`ini [dev] S3CONF = s3://my-dev-bucket/dev-env/myfile.env `

###S3凭证

如果有aws cli工作,s3conf将使用您的默认凭据。这可以通过以下方法完成:

`bash aws configure `

类似地,s3conf查找默认的gcp凭据。

`bash gcloud auth application-default login `

####手动设置凭据

如果没有配置aws cli,客户端将在 访问远程存储的顺序:

`bash S3CONF_ACCESS_KEY_ID=***access_key***S3CONF_SECRET_ACCESS_KEY=***secret_access_key***S3CONF_S3_ENDPOINT_URL=***endpoint_url*** `

这些变量映射到用于常规BOTO3配置的对应项。 客户机还搜索常规的awscite>变量,但它们的s3conf版本优先。 当使用与s3兼容的非aws blob存储服务时,它们特别有用, 例如数字海洋空间,而不会弄乱你的aws证书。

###编辑您的环境

在项目的任何文件夹中运行此命令:

`bash s3conf env dev -e `

如果是新的bucket/文件,请使用-c标志来创建它:

`bash s3conf env dev -ec `

这将把环境文件从类似s3的存储器下载到一个临时文件中,打开 用于手动编辑的默认文件编辑器(类似于crontab-eworks)并将文件上载回 如果进行了任何编辑,则发送到远程存储服务。

###检索您的环境

在项目的任何文件夹中运行s3conf env dev将读取并输出到stdout内容 当日志发送到stderr时:

`bash $ s3conf env dev info: Loading configs from s3://my-dev-bucket/dev-env/myfile.env ENV_VAR_1=some_data_1 ENV_VAR_2=some_data_2 ENV_VAR_3=some_data_3 `

要将此环境应用于当前shell,可以执行以下操作:

`bash $ export $(s3conf env dev) info: Loading configs from s3://my-dev-bucket/dev-env/myfile.env `

###向环境中添加凭据文件

如果要在环境中保存某些文件或文件夹,可以添加映射:

`bash s3conf add dev ./some-credentials-file-or-folder `

###将凭据文件推送到远程存储中

`bash s3conf push dev `

###使用文件映射检索您的环境

使用-m标志下载到当前项目文件夹的文件映射:

`bash export $(s3conf env dev -m) `

##与Docker一起使用

将此客户机与Docker结合使用的最直接的方法是在您的图像中创建entrypoint.sh 设置环境变量并映射所有需要的文件:

`bash #!/usr/bin/env bash set -e export $(s3conf env dev -m) exec "$@" `

并在运行容器时使用它(假设入口点位于/app/entrypoint.sh中,*可执行*

`bash docker run --entrypoint `/app/entrypoint.sh` my_image my_command `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过编程为datasnapshot的每个子级创建一个按钮?   java用透明像素填充BuffereImage   过滤器如何在Java中对图像进行逐行扫描?   ssl在Java中,使用PEM文件创建SSLContext的最简单方法是什么?   java JApplet绘图时加载屏幕   java错误:不兼容类型:无法将上下文转换为HomeMenu   java通知演示者模型已更改   java如何使用object作为ArrayList类的变量?   使用mixin对Lombok@Builder类的java Jackson反序列化不起作用   java为什么我的库不能访问它的资源?   java无法使用GET方法   如何在Java中存储dowhile循环的每个实例上的数据?   java无法在64位系统上下载32位SWT   java按钮未在Jframe中显示   在Java中,当我只需要大于5的值时,如何返回数组   java有没有一种简单的方法可以在osgi环境中禁用日志记录?   java当我试图通过Hibernate添加到数据库时,我遗漏了什么?   为什么我不能在Java中向文件添加文本?   java ActiveMQ加载失败:类路径资源[ActiveMQ.xml]