【问题标题】:How to solve 'NoCredentialsError' while deploying AWS Chalice via Python?通过 Python 部署 AWS Chalice 时如何解决“NoCredentialsError”?
【发布时间】:2020-12-30 00:01:05
【问题描述】:

我对 AWS 很陌生,对它的工作原理了解不多。我已经设置了一个 AWS 账户并生成了访问密钥。在我的本地机器上,我创建了一个虚拟 AWS Chalice 实例来部署我的项目。我在工作目录内的本地计算机上完成了整个设置,并尝试通过 Anaconda Prompt 进行部署。

我的工作目录中设置了以下目录:.aws 文件夹、.chalice 文件夹、chalicelib 文件夹、app .pyrequirements.txt

.aws 文件夹中,我有一个 config.txt 文件,其中包含以下内容:

    [default]
    aws_access_key_id=my_key_id
    aws_secret_access_key=my_secret_key
    region=global

请注意,my_key_idmy_secret_key 在这里只是通用术语,但实际上我已将密钥硬编码到该 .txt 文件中。

在没有运气的情况下花了大约一整天的时间搜索后,我仍然在尝试使用 Anaconda Prompt 中的 chalice deploy 命令部署 Chalice 时遇到 NoCredentialsError

任何帮助将不胜感激。

【问题讨论】:

  • 您的本地机器上是否安装了 AWS cli?如果是,则通过运行以下命令来测试云:aws ec2 describe-regions
  • @AsriBadlah 我没有安装 AWS CLI。这是能够部署圣杯的要求吗?

标签: python amazon-web-services amazon-ec2 anaconda


【解决方案1】:

要使用 AWS Chalice,您需要 AWS 凭证。检查这一点的简单方法是检查您的计算机上是否有 ~/.aws/credentials 或 ~/.aws/config 文件。 要在您的开发环境中实际设置 AWS 凭证,请使用 AWS CLI。要检查您是否安装了 AWS CLI,请运行:

aws --version

如果它打印出一个版本,则表示您已在开发环境中安装了 AWS CLI。如果您没有安装 AWS CLI v2, 您可以按照https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html中的说明进行安装

安装 AWS CLI 后,运行 aws configure 以通过提示配置 AWS 凭证的开发环境:

aws configure
AWS Access Key ID [None]: ****************ABCD
AWS Secret Access Key [None]: ****************abCd
Default region name [None]: us-west-2
Default output format [None]:

【讨论】:

  • AWS CLI 是否必须安装在本地计算机上,还是我可以在服务器上使用它并按照您在此处显示的方式进行配置?
  • 在你要运行 chalice deploy 命令的机器上
【解决方案2】:

Chalice 是一个用 python 编写无服务器应用程序的框架。它允许您快速创建和部署使用 AWS Lambda 的应用程序。

AWS Lambda 的工作方式是使用执行角色。 Lambda 函数的执行角色是一个 AWS Identity and Access Management (IAM) 角色,它授予函数访问 AWS 服务和资源的权限。

要在 IAM 中创建 Lambda 执行角色,您可以关注this documentation

【讨论】:

  • 感谢您的评论。您对我的问题有什么具体建议吗?我正在部署,但它一直说找不到我的凭据。
猜你喜欢
  • 2021-06-10
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多