amazon-web-services - AWS 环境变量提供商不接受凭据

标签 amazon-web-services amazon-dynamodb dynamo-local

我正在使用以下代码在本地连接 dynamoDb

$dotenv = new Dotenv\Dotenv(dirname(__DIR__, 2));
    $dotenv->load();
    $this->key = getenv('aws_access_key_id');
    $this->secret = getenv('aws_secret_access_key');
    $this->dynamodb = new DynamoDbClient([
        'profile' => 'default',
        'region' => 'us-east-1',
        'version' => 'latest',
        'credentials' => [
            'key' => $this->key,
            'secret' => $this->secret,
        ]
    ]);

我的.env文件

aws_access_key_id = ....
aws_secret_access_key = ....

我遇到了这个错误

Type: Aws\Exception\CredentialsException
Message: Cannot read credentials from /Users/user/.aws/credentials
File: /path/to/project/vendor/aws/aws-sdk-php/src/Credentials/CredentialProvider.php
Line: 394

也尝试了 access keysecret key 的基本硬编码,但它似乎并没有工作,而是每次它从默认路径获取 ~/.aws/credentials

TIA

最佳答案

尝试不指定:

'profile' => 'default'

您想使用凭证文件中指定的默认配置文件。 SDK 可能会查看此行并尝试打开凭据文件并查找 default 配置文件。我没有安装 PHP SDK 来验证这一点..

关于amazon-web-services - AWS 环境变量提供商不接受凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46870133/

相关文章:

python-3.x - 如何从 DynamoDB 中获得干净的结果?

amazon-dynamodb - 在没有主键的情况下查询 DynamoDB

amazon - DynamoDB 是否仍然遵循 CAP 定理及其 "Strong Consistency" promise ?

node.js - 来自 Node-aws : all operations fail "Cannot do operations on a non-existent table" 的 Dynamo Local

amazon-web-services - AWS S3 节点 sdk copyObject NoSuchKey 错误

ruby-on-rails - AWS : S3 Bucket AWS You can't grant public access because Block public access settings are turned on for this account

sql - Athena/SQL 查询以获得所需结果

amazon-web-services - 使用月度许可在云 (AWS) 上许可产品

java - Dynamodb 无法创建表

python - 本地主机端点到 DynamoDB 本地与 Boto3