gpt4 book ai didi

php - 无法编写简单的php代码来调用aws sqs

转载 作者:行者123 更新时间:2023-12-01 19:52:32 24 4
gpt4 key购买 nike

我对 PHP 的经验很少,所以请耐心等待。我试图按照 AWS 文档示例来确认我可以使用 AWS PHP SDK 连接到 AWS SQS,但我陷入困境......而且我正在做的事情绝对是愚蠢的。这是我的 php 文件(称为 stuff.php):

<?php
header('Content-Type: text/plain; charset=utf-8');
require '/home/ubuntu/vendor/autoload.php';
// Create the queue using the AWS-PHP-SDK function, create_queue, and store it
// in the '$newqueue' variable.
$newqueue = $sqs->create_queue($queuename);
// Print the created queue results.
echo '<br></br><h2>CREATE QUEUE</h2>';
print '<pre>' . print_r($newqueue, true) . '<pre><br/><br/>';
?>

这基本上是从 AWS 文档中复制的,并更新了需求地址。我使用以下格式创建了 ~/.aws/credentials 文件:

[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY

但是当我在浏览器中加载该文件时,Apache2 error.log 向我发送以下内容:

[Mon Dec 15 20:46:26.460172 2014] [:error] [pid 2625] [client 10.0.3.1:48211] PHP Notice:  Undefined variable: sqs in /var/www/html/stuff.php on line 7
[Mon Dec 15 20:46:26.460203 2014] [:error] [pid 2625] [client 10.0.3.1:48211] PHP Fatal error: Call to a member function create_queue() on a non-object in /var/www/html/stuff.php on line 7

我假设 $sqs 会有一个从 SDK 分配的预设值,但也许我应该手动分配一些东西:我不知道那可能是什么。谢谢,

最佳答案

根据最新版本AWS PHP SDK documentation ,您需要使用提供的工厂方法创建一个 SqsClient 对象实例,然后您将能够创建 SQS 队列、从它们接收/向它们发送消息等等。

下载latest ZIP version of AWS PHP SDK ,将其解压缩到目录项目中并使用以下脚本,以便使用 SQS 客户端创建和发送消息。注意:请记住输入 aws-autoloader 文件的真实相对路径和正确的 AWS 凭证。

<?php
require './relative/path/to/aws-autoloader.php';
use Aws\Sqs\SqsClient;
use Aws\Common\Credentials\Credentials;

$credentials = new Credentials('YOUR_ACCESS_KEY', 'YOUR_SECRET_KEY');

// Instantiate the SQS client with your AWS credentials
$client = SqsClient::factory(array(
'credentials' => $credentials,
'region' => '<region name>'
));

$result = $client->createQueue(array('QueueName' => 'my-queue'));
$queueUrl = $result->get('QueueUrl');

echo "SQS queue url: $queueUrl";

$client->sendMessage(array(
'QueueUrl' => $queueUrl,
'MessageBody' => 'Hello World!',
));

关于php - 无法编写简单的php代码来调用aws sqs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507775/

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