Exemple #1
0
 /**
  * Test creating object with https
  *
  * ZF-7029
  */
 public function testCreateObjectSSL()
 {
     $this->_amazon->setEndpoint('https://s3.amazonaws.com');
     $this->assertEquals('https://s3.amazonaws.com', $this->_amazon->getEndpoint()->getUri());
     $this->_amazon->createBucket($this->_bucket);
     $this->_amazon->putObject($this->_bucket . "/zftest", "testdata");
     $this->assertEquals("testdata", $this->_amazon->getObject($this->_bucket . "/zftest"));
 }
Exemple #2
0
 /**
  * Set options for the storage adapter.
  *
  * @param array $options
  */
 public function __construct(array $options = array())
 {
     $this->_options = $options;
     if (array_key_exists(self::AWS_KEY_OPTION, $options) && array_key_exists(self::AWS_SECRET_KEY_OPTION, $options)) {
         $awsKey = $options[self::AWS_KEY_OPTION];
         $awsSecretKey = $options[self::AWS_SECRET_KEY_OPTION];
     } else {
         throw new Omeka_Storage_Exception('You must specify your AWS access key and secret key to use the ZendS3 storage adapter.');
     }
     if (!array_key_exists(self::BUCKET_OPTION, $options)) {
         throw new Omeka_Storage_Exception('You must specify an S3 bucket name to use the ZendS3 storage adapter.');
     }
     // Use Omeka_Http_Client to retry up to 3 times on timeouts
     $client = new Omeka_Http_Client();
     $client->setMaxRetries(3);
     Zend_Service_Amazon_S3::setHttpClient($client);
     $this->_s3 = new Zend_Service_Amazon_S3($awsKey, $awsSecretKey);
     if (!empty($options[self::ENDPOINT_OPTION])) {
         $this->_s3->setEndpoint($options[self::ENDPOINT_OPTION]);
     }
 }
Exemple #3
0
 /**
  * Move the dump file to a Amazon S3 bucket
  *
  * @param string $filename
  * @return void
  */
 protected function moveDumpToS3($filename)
 {
     $s3Config = $this->config->s3;
     $this->validateS3Settings($s3Config);
     $s3File = $s3Config->aws_bucket . '/' . $filename;
     $this->writer->line('Copy ' . $filename . ' -> Amazon S3: ' . $s3File);
     $s3 = new Zend_Service_Amazon_S3($s3Config->aws_key, $s3Config->aws_secret_key);
     // use https for uploading
     $s3->setEndpoint('https://' . Zend_Service_Amazon_S3::S3_ENDPOINT);
     $s3->putObject($s3Config->aws_bucket . '/' . $filename, file_get_contents($filename));
     $s3->getObject($s3Config->aws_bucket . '/' . $filename);
 }