我使用Amazon的示例代码连接到我的S3桶。我已经为S3中的桶更改了密钥和桶名。我已经尝试使用标准桶名和使用接入点,但我仍然得到以下错误。
Error CredentialsProviderError: Could not load credentials from any providers
我不确定这个错误到底是说我错过了什么,也不确定我需要什么凭据以及如何接收它们。
我对AWS比较陌生,所以任何帮助都将是非常感激的。
我正在运行我的代码来访问与桶相同VPC内的EC2实例上的桶,所以我假设我不需要额外的权限或凭据。
我对AWS比较陌生,所以任何帮助都将是非常感激的。
EC2实例使用instance profiles
(实际上是IAM Roles
)来确定它们的访问权限。
你需要做的:
- 转到
IAM
- 为EC2创建角色
- 为角色附加权限(创建一个新策略,或附加一些AWS管理的策略,如
AmazonS3FullAccess
或AmazonS3ReadOnlyAccess
,这取决于您是只想要读权限还是写权限) - 转到EC2
- 选择EC2实例
Actions -> Security - Modify IAM Role
您可以在AWS官方文档中阅读有关实例配置文件的更多信息
此错误消息意味着您的应用程序无法找到使用AWS SDK for JavaScript所需的凭据(访问密钥ID,秘密访问密钥)。当你使用JavaScript SDK时,你需要阅读JavaScript开发者指南:
https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/getting-your-credentials.html