gpt4 book ai didi

php - Amazon SES 从实例配置文件元数据服务器检索凭证时出错。 (客户端错误 : 404)

转载 作者:行者123 更新时间:2023-12-04 16:48:29 24 4
gpt4 key购买 nike

在使 AWS SES 正常工作时遇到了一些问题;我想从我的网站向用户发送电子邮件。看起来凭证没有经过验证,但是我使用了从 IAM 生成的正确凭证(我也尝试了服务器根 key ,它给了我同样的错误)。我已经想不出如何进一步解决/调试的想法,因此非常感谢任何指导。

执行时收到错误:

从实例配置文件元数据服务器检索凭据时出错。 (客户端错误:404)

采取的步骤

  1. 我已经设置了 SES 并验证了电子邮件地址等

  2. 我创建了一个具有“对 SES 的完全访问权限”的 IAM 配置文件

  3. 我已经使用 phar 文件安装了适用于 php 的 AWS 开发工具包

  4. 我编写了下面的 php 代码,直接提供 SES 的正确安全访问代码

require 'aws/aws.phar';
use Aws\Ses\SesClient;

//More code here

$client = SesClient::factory(array(
'key' => 'xxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxx',
'region' => 'us-west-2',
'version' => '2010-12-01'
));

//code to build the $msg here as array

try{
$result = $client->sendEmail($msg);

//save the MessageId which can be used to track the request
$msg_id = $result->get('MessageId');
echo("MessageId: $msg_id");

//view sample output
print_r($result);
} catch (Exception $e) {
echo($e->getMessage());
}
//view the original message passed to the SDK
print_r($msg);

提前感谢您的帮助 - 这始终是一个很棒的社区!!如果我能提供其他任何东西,请告诉我

约翰

最佳答案

您可以使用多种方法向您的 SDK 提供凭据。请参阅文档: Providing Credentials to SDK

1) 使用您创建的 IAM 配置文件中的值设置环境变量:AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_DEFAULT_REGION。

2) 除了 1),您还可以创建 ~/.aws/credentials 文件。您可以在此处添加以下行:
[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
aws_default_region = 区域

1) 或 2) 肯定会起作用,而且很简单。

3) 您还可以创建实例配置文件。您需要创建 IAM 角色和实例配置文件。您的实例需要在创建时分配实例配置文件。请参阅第 183 页(如页面底部所示。主题名称为“使用 IAM 角色向应用程序授予权限在 Amazon EC2 实例上运行”):AWS IAM User Guide 以了解步骤和过程。在这里, key 和访问 key 会自动获取,您无需执行任何操作。您只需设置默认区域使用步骤 1)(即导出 AWS_DEFAULT_REGION=someregion)。

4) 您已经尝试过第 4 种方法,可能是您的设置存在一些我不知道的问题。

关于php - Amazon SES 从实例配置文件元数据服务器检索凭证时出错。 (客户端错误 : 404),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com