/** * Creates a new Zend_Service_WindowsAzure_Storage_Table instance * * @param string $host Storage host name * @param string $accountName Account name for Windows Azure * @param string $accountKey Account key for Windows Azure * @param boolean $usePathStyleUri Use path-style URI's * @param Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy Retry policy to use when making requests */ public function __construct($host = Zend_Service_WindowsAzure_Storage::URL_DEV_TABLE, $accountName = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_ACCOUNT, $accountKey = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::DEVSTORE_KEY, $usePathStyleUri = false, Zend_Service_WindowsAzure_RetryPolicy_RetryPolicyAbstract $retryPolicy = null) { parent::__construct($host, $accountName, $accountKey, $usePathStyleUri, $retryPolicy); // Always use SharedKeyLite authentication $this->_credentials = new Zend_Service_WindowsAzure_Credentials_SharedKeyLite($accountName, $accountKey, $this->_usePathStyleUri); // API version $this->_apiVersion = '2009-04-14'; }
/** * Commit current batch * * @return Zend_Http_Response * @throws Zend_Service_WindowsAzure_Exception */ public function commit() { // Perform batch $response = $this->_storageClient->performBatch($this->_operations, $this->_forTableStorage, $this->_isSingleSelect); // Dispose $this->_clean(); // Parse response $errors = null; preg_match_all('/<message (.*)>(.*)<\\/message>/', $response->getBody(), $errors); // Error? if (count($errors[2]) > 0) { throw new Zend_Service_WindowsAzure_Exception('An error has occured while committing a batch: ' . $errors[2][0]); } // Return return $response; }
/** * Perform request using Zend_Http_Client channel * * @param string $path Path * @param string $queryString Query string * @param string $httpVerb HTTP verb the request will use * @param array $headers x-ms headers to add * @param boolean $forTableStorage Is the request for table storage? * @param mixed $rawData Optional RAW HTTP data to be sent over the wire * @param string $resourceType Resource type * @param string $requiredPermission Required permission * @return Zend_Http_Response */ protected function _performRequest($path = '/', $queryString = '', $httpVerb = Zend_Http_Client::GET, $headers = array(), $forTableStorage = false, $rawData = null, $resourceType = Zend_Service_WindowsAzure_Storage::RESOURCE_UNKNOWN, $requiredPermission = Zend_Service_WindowsAzure_Credentials_CredentialsAbstract::PERMISSION_READ) { // Add headers $headers['DataServiceVersion'] = '1.0;NetFx'; $headers['MaxDataServiceVersion'] = '1.0;NetFx'; // Perform request return parent::_performRequest($path, $queryString, $httpVerb, $headers, $forTableStorage, $rawData, $resourceType, $requiredPermission); }