0

Amazon S3 を使用して画像を保存しようとしています。これまでに行ったことは、PEAR 経由で AWS SDK をインストールすることです (リンク: http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/installation.html )

次に、クライアントを作成する 2 番目のステップに進みました。

<?php

// Include the SDK using the Composer autoloader
require 'vendor/autoload.php';

use Aws\S3\S3Client;

// Instantiate the S3 client with your AWS credentials and desired AWS region
$client = S3Client::factory(array(
    'key'    => 'your-aws-access-key-id',
    'secret' => 'your-aws-secret-access-key',
));

キーは正しく設定されています ... .

次に、次のようなバケットを作成して、これらすべてをテストしたいと思います。

$bucket = 'my-bucket';
try{
    $result = $client->createBucket(array(
        'Bucket' => $bucket
    ));

    // Wait until the bucket is created
    $client->waitUntil('BucketExists', array('Bucket' => $bucket));
}
catch(Exception $e){
    var_dump($e->getMessage());
}

しかし、私はいつもこのエラーを受け取ります:

リクエストされたバケット名は利用できません。バケットの名前空間は、システムのすべてのユーザーによって共有されます。別の名前を選択して、もう一度お試しください。

SDK が正しくインストールされていないと思います...誰か助けてくれませんか? 私は vagrant を使用しているので、次のコマンドを使用してルート フォルダーに AWS SDK をインストールしました。

sudo pear -D auto_discover=1 install pear.amazonwebservices.com/sdk

正常にインストールされましたというメッセージが表示されました。

$client の var_dump も実行しました。私の応答へのリンク: http://pastebin.com/KqkEiKGs
もしあなたがそれで何かをしているなら、今はしないでください... (私の鍵は隠されています)

4

1 に答える 1