Example #1
0
 /**
  * Fetches the file data.
  *
  * @param string $filename
  * @return string
  */
 public function fetch($filename)
 {
     // return fopen($this->getUrl($filename), 'r');
     $this->_initApi();
     $obj = $this->_api->getObject($this->_config['bucket'] . $this->_getUri($filename));
     if ($this->_config['gzip'] && $this->_gzipIsAllowedForFilename($filename)) {
         $unzipper = new Garp_File_Unzipper($obj);
         $obj = $unzipper->getUnpacked();
     }
     return $obj;
 }
Example #2
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"));
 }
Example #3
0
 /**
  * Get an item from the storage service.
  *
  * @TODO Support streams
  *
  * @param  string $path
  * @param  array $options
  * @return string
  */
 public function fetchItem($path, $options = array())
 {
     $fullPath = $this->_getFullPath($path, $options);
     try {
         if (!empty($options[self::FETCH_STREAM])) {
             return $this->_s3->getObjectStream($fullPath, $options[self::FETCH_STREAM]);
         } else {
             return $this->_s3->getObject($fullPath);
         }
     } catch (Zend_Service_Amazon_S3_Exception $e) {
         throw new Zend_Cloud_StorageService_Exception('Error on fetch: ' . $e->getMessage(), $e->getCode(), $e);
     }
 }
Example #4
0
 /**
  * Returns the content of the file
  *
  * @param Storage_Model_DbRow_File $model The file for operation
  * @param array $params
  */
 public function read(Storage_Model_File $model)
 {
     $path = $this->_bucket . '/' . $model->storage_path;
     try {
         $response = $this->_internalService->getObject($path);
         if (!$response) {
             throw new Storage_Service_Exception('Unable to write file.');
         }
     } catch (Exception $e) {
         throw $e;
     }
     return $response;
 }
Example #5
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);
 }