Невозможно проанализировать тело ответа в XML: строка не может быть проанализирована как XML (представление:

0

Мне было поручено подключиться к ведерке s3 и использовать документацию:

<?php
define('AWS_KEY', 'key in here');
define('AWS_SECRET_KEY', 'key in here');
define('HOST', 'https://console.aws.amazon.com/s3/home?region=us-east-1#');




 use Aws\S3\S3Client;

// Establish connection with DreamObjects with an S3 client.
$client = S3Client::factory(array(
'base_url' => HOST,
'key'      => AWS_KEY,
'secret'   => AWS_SECRET_KEY
 ));

// list owned buckets


$blist = $client->listBuckets();
echo "   Buckets belonging to " . $blist['Owner']['ID'] . ":\n";
foreach ($blist['Buckets'] as $b) {
echo "{$b['Name']}\t{$b['CreationDate']}\n";
}

 // list Bucket contents


 $o_iter = $client->getIterator('ListObjects', array(
'Bucket' => $bucketname
 ));
 foreach ($o_iter as $o) {
  echo "{$o['Key']}\t{$o['Size']}\t{$o['LastModified']}\n";
 }

но я получаю ошибку в заголовке любых идей у меня есть ключи доступа, но я не понимаю, как исправить эту проблему?

Теги:
amazon-web-services
amazon-s3

1 ответ

1
Лучший ответ

Вероятно, это плохая идея для жесткого кодирования или использования переменной среды для передачи секретного ключа и ключа доступа.

Лучшим шаблоном проектирования будет использование роли EC2 или использование файла конфигурации SDK (подробнее см. Http://docs.aws.amazon.com/aws-sdk-php/guide/latest/credentials.html)

base_url аргумент base_url, это URL-адрес консоли, а не тот из службы. Вы можете просто игнорировать этот параметр (согласно http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html#client-configuration-options), SDK автоматически построит его для вас

Ещё вопросы

Сообщество Overcoder
Наверх
Меню