Why does this project exist?
This repository is intended to make some of the more difficult DevOps tasks commonly required to maintain complex hosting infrastructure in AWS simple, quick and easy. This is my attempt to automate and expedite difficult, repetitive, tedious and time consuming processes into a simple shell script that gets the job done as cleanly as possible. These scripts were developed out of frustration in clicking around on the same things over and over again in the web console every day, week, month when they could easly be done in seconds in a script that uses the AWS CLI. I've tried to keep everything applicable to as many use cases across regions and across as many different AWS accounts as possible. I run many of these scripts myself, mostly on a Mac or in Linux and do periodic usability and bug checking, making updates for any changes to the CLI. I hope this collection of tools helps you too, and if you use these please hit the Star/Fork button and if you have any suggestions please open an Issue or PR!
The AWS CLI is an open source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services.
Installing the AWS Command Line Interface
Requirements:
If you already have pip and a supported version of Python, you can install the AWS CLI with the following command:
$ pip install awscli --upgrade --user
For general use, the aws configure command is the fastest way to set up your AWS CLI installation.
$ aws configure
The AWS CLI will prompt you for four pieces of information. AWS Access Key ID and AWS Secret Access Key are your account credentials.
The AWS CLI supports named profiles stored in the config and credentials files. You can configure additional profiles by using aws configure
with the --profile option
or by adding entries to the config and credentials files.
$ aws configure --profile example
jq is a lightweight and flexible command-line JSON processor.
OS X: Use Homebrew to install jq:
$ brew install jq
Linux: jq is in the official Amazon Linux AMI, Debian and Ubuntu repositories.
Amazon Linux AMI, RHEL, CentOS:
$ sudo yum install jq
Debian/Ubuntu:
$ sudo apt-get install jq
Have a bug or a feature request? The issue tracker is the preferred channel for bug reports, feature requests and submitting pull requests.If your problem or idea is not addressed yet, please open a new issue.
Shawn Woodford
Code and Documentation Copyright 2012-2018 Shawn Woodford. Code released under the Apache License 2.0.
问题内容: 我间歇性地收到此错误。 我有一个使用java aws sdk的程序,并将数十万个小文件加载到s3。我间歇性地看到此错误。 在互联网上快速搜索后找不到任何有用的答案。 请注意,调用程序是单线程的。底层的aws java sdk似乎使用了工作线程。 问题答案: 当我执行以下操作时,我得到了相同的错误消息: 创建了一个存储分区-默认情况下,它转到了美国地区(使用过的AWSCLI) 意识到,存
问题内容: 我正在用Java编写一个应用程序,它将文件上传到AWS S3。该文件将通过参数而不是硬编码形式提供给应用程序。我想编写测试以确保文件实际上传到S3。该测试将在TDD的代码之前编写。(我实际上已经编写了代码,但我想将TDD实践作为习惯养成我所有的习惯) 我将如何去做呢?我将使用JUnit,因为这是我最熟悉的。 在此先感谢您的帮助。 问题答案: 实际的上传和进行的测试是 集成测试的 一部分
问题内容: 我经历了题为“以编程方式将AWS区域设置为1”的问题,但它没有提供我需要的所有答案。 Q1:我得到一个。我究竟做错了什么?还是我错过了错别字。 } 问题2:如果要从中构建Lambda函数,需要进行哪些代码更改?我知道如何创建lambda函数及其所需的角色。只是需要知道我编写的代码是否需要更改。我应该如何实现LambdaFuctionHandler类,如下所示: 问题答案: 关于Q1,请
问题内容: 我需要列出S3存储桶中某个文件夹中包含的所有文件。 文件夹结构如下 我有与用户有关的文件和与某个用户的联系人有关的文件。我需要同时列出两者。 要列出文件,我使用以下代码: 要列出某个用户的文件,我使用以下前缀: 并且我正确地获得了除子目录之外的目录中的所有文件,例如: 要列出某个用户联系人的文件,我使用以下前缀: 但是在这种情况下,我还将目录本身作为返回的对象: 为什么我会得到这种行为
问题内容: 我正在尝试使用AWS开发工具包访问存储桶及其所有对象,但是在运行代码时,出现错误,线程“ main”中出现异常 请提出建议,尽管我已经对存储桶采取了以下所有许可,但我缺少的地方以及为什么发生拒绝访问错误: 代码如下: 问题答案: 现在问题已解决。代码存在以下问题: 终点不正确,应该有一个正确的终点。 没有足够的权限授予该存储桶。在AWS开发工具包中使用存储桶之前,应获取完整权限列表。
问题内容: 我已经编写了一个AWS Lambda函数,其目的是在调用时- 它读取文件x.db的内容,从中获取特定值并返回给调用者。但是这个x.db文件会不时更改。因此,我想将此x.db文件上传到S3并从AWS Lambda函数读取它,就像读取文件一样。 如何从用Java编写的AWS Lambda Function中读取此类x.db S3文件? 问题答案: 使用Java S3 SDK。如果您将一个名
问题内容: AWS在Lambda函数中引入了用于访问的环境变量。我找不到任何文档来说明如何使用Java从Lambda函数访问环境变量。谁能帮我? 问题答案: 您可以通过以下方式获得它们:
问题内容: 我试图从AWS s3读取文件到Java代码: 然后我得到一个错误: java.io.FileNotFoundException:s3n:/mybucket/myfile.txt(无此类文件或目录)位于java.io.FileInputStream.open(本地方法)处java.io.FileInputStream。(FileInputStream.java:146) 有没有办法从AW