在使用 AWS SDK 或 AWS CLI 连接到 AWS 服务时,可能会出现“AWS - NoCredentialsError: Unable to locate credentials”这个错误。这是因为没有提供 AWS 认证凭据或这些凭据不正确。要解决这个问题,可以采取以下措施之一:
1.在本地设置 AWS 认证凭据。创建一个 IAM 用户并为其分配适当的权限,然后将凭据保存在本地电脑上。例如,在 Mac 上,您可以使用以下命令设置环境变量:
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_DEFAULT_REGION=your_region
import os
os.environ['AWS_ACCESS_KEY_ID'] = 'your_access_key' os.environ['AWS_SECRET_ACCESS_KEY'] = 'your_secret_key' os.environ['AWS_DEFAULT_REGION'] = 'your_region'
3.使用 EC2 实例角色。如果您在 EC2 实例上运行应用程序,则可以使用实例角色为应用程序提供凭据。在 EC2 实例上,IAM 角色可以与 EC2 实例关联,允许 EC2 实例访问 AWS 服务。
AWS SDK 和 AWS CLI 会自动检测和使用这些凭据并提供访问 AWS 服务所需的访问权限。确保您在正确的区域中使用正确的凭据。