首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS v3无法从配置文件中获取区域

AWS v3无法从配置文件中获取区域
EN

Stack Overflow用户
提问于 2022-05-31 08:56:53
回答 2查看 694关注 0票数 2

我正在使用来自共享ini文件中的配置文件的凭据初始化一个s3客户端。我想使用相同的设置默认区域。

~\.aws\credentials

代码语言:javascript
复制
[myprofile]
aws_access_key_id = ...
aws_secret_access_key = ...

~\.aws\config

代码语言:javascript
复制
[profile myprofile]
region = eu-west-1

我的代码

代码语言:javascript
复制
import {S3} from '@aws-sdk/client-s3';
import {fromIni} from '@aws-sdk/credential-providers';

const s3Client = new S3({
   credentials: fromIni({
        profile: 'myprofile',
   }),
});
await s3Client.listBuckets({});

我得到的错误是Error: Region is missing,调用fromIni的输出是

代码语言:javascript
复制
{
  accessKeyId: '...',
  secretAccessKey: '...',
  sessionToken: undefined
}

为什么没有从共享配置文件中加载区域?

更新

fromIni文档注意到

两个文件中出现的配置文件都不会合并,而凭据文件中出现的版本将优先于配置文件中的配置文件。

除了与通常的配置标准明显不同之外,将regionconfig移动到credentials也会产生相同的错误。

~\.aws\credentials

代码语言:javascript
复制
[myprofile]
aws_access_key_id = ...
aws_secret_access_key = ...
region = eu-west-1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-31 10:00:22

loadSharedConfigFiles助手可以从本地配置文件中读取配置文件的默认区域,然后将其传递给客户端构造函数:

代码语言:javascript
复制
import { fromIni } from '@aws-sdk/credential-providers';
import { loadSharedConfigFiles } from '@aws-sdk/shared-ini-file-loader';

const profile = 'myprofile';

const s3Client = new S3Client({
  credentials: fromIni({ profile }),
  region: (await loadSharedConfigFiles()).configFile?.[profile]?.region,
});

configFile属性加载~/aws/configcredentialsFile加载~/.aws/credentials

票数 1
EN

Stack Overflow用户

发布于 2022-05-31 09:14:28

S3构造器将配置对象级别上的region属性作为credentials使用,因此您应该使用以下内容:

代码语言:javascript
复制
const s3Client = new S3({
   credentials: fromIni({
        profile: 'myprofile',
   }),
   region: 'eu-west-1'
});

fromIni文档不讨论区域,我想它不是用于此目的的。

关于加载配置文件,我认为您正在寻找环境变量AWS_SHARED_CREDENTIALS_FILE请看这里 (虽然没有测试它)。但是,正如@CherryDT所评论的,您可能希望显式声明它,它可能会根据情况而改变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72444880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档