确定aws-sdk是否configuration了全局凭据
从AWS SDKconfiguration指南中提供的信息中,有多种configurationSDK的方法:
- 从Amazon EC2的IAMangular色加载(如果在EC2上运行),
- 从共享凭证文件(〜/ .aws / credentials)加载,
- 从环境variables加载,
- 从磁盘上的JSON文件加载,
- 硬编码在您的应用程序中
有没有办法确定:
a)如果SDK具有全局configuration(证书)和b)如何加载/configuration这些证书/设置?
所以看起来你可以看看configuration的凭证提供者对象这是一个CredentialProviderChain 。 它的resolve()方法返回一个AWS.Credentials实例,该实例将标识哪个方法用于configuration凭证。
示例如下:
AWS.config.credentialProvider.resolve(function(err, credential) { if(credential !== null) { awsCredential = credential.constructor.name; }) console.log("AWS configured? ", awsCredential ? 'yes'.green : 'no'.red); if(awsCredential) { console.log(" Provided by: ", awsCredential); }
特别注意到返回的credential
通过credential.constructor.name
显示其类名。
编辑:我现在写这篇文章比较使用callback和承诺实现相同的目标,以防万一遇到同样的问题。