Php Eclipse на Windows Azure с использованием облачного хранилища в локальном тестировании - PullRequest
0 голосов
/ 03 ноября 2010

Я пытался получить доступ к очереди в облаке, когда выполнял роль в dev fabric. Для этого я выполнил следующие действия:

Project-> Proprieties-> Windows Azure-> Хранилище данных, и я выбрал соответствующие поля и ввел свои учетные данные.

Затем я делаю следующее:

require_once 'Microsoft/WindowsAzure/Storage/Queue.php';

$storageClient = new Microsoft_WindowsAzure_Storage_Queue();
if( !($storageClient->queueExists('worktodo'))){
 $result=$storageClient->createQueue('worktodo');
 echo 'Created queue: ' . $result->Name."<br/>";
}else{
 echo 'worktodo queue exists'."<br/>";
}



$storageClient->putMessage('worktodo', $id.','.$name, 3600); // 3600 = time-to-live of the message, if omitted defaults to 7 days
echo($storageClient->getAccountName());

Короче говоря, очередь всегда создается в DevStorage .... Мои параметры конфигурации:

<ConfigurationSettings>
  <Setting name="StorageAccountName" value="myaccoutnt/>
  <Setting name="StorageAccountKey" value="mykey"/>
  <Setting name="SqlAzureHost" value=""/>
  <Setting name="SqlAzureUserName" value=""/>
  <Setting name="SqlAzurePassword" value=""/>
  <Setting name="SqlAzureDatabase" value=""/>
  <Setting name="UseDataStorage" value="true"/>
  <Setting name="UseDevelopmentStorage" value="false"/>
  <Setting name="UseCloudStorage" value="true"/>
  <Setting name="UseSqlAzure" value="false"/>
  <Setting name="LogLevel" value="Error"/>
  <Setting name="ScheduledTransferPeriodInSeconds" value="30"/>
  <Setting name="WindowsAzureStorageConnectionString" value="DefaultEndpointsProtocol=http;AccountName=myaccount;AccountKey=mykey"/>
  <Setting name="XDrives" value=""/>
  <Setting name="XDrivesLocalCache" value=""/>
</ConfigurationSettings>

Кто-нибудь делал это раньше? Правильны ли мои параметры конфигурации?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Попробуйте следующее:

require_once 'Microsoft/WindowsAzure/Storage/Queue.php'; 

$storageClient = new Microsoft_WindowsAzure_Storage_Queue();
if (azure_getconfig("UseDevelopmentStorage") != "true") {
  $storageClient = new Microsoft_WindowsAzure_Storage_Queue(
    'queue.core.windows.net',
    azure_getconfig("StorageAccountName"),
    azure_getconfig("StorageAccountKey")
  );
} 

if (!($storageClient->queueExists('worktodo'))) { 
  $result = $storageClient->createQueue('worktodo'); 
  echo 'Created queue: ' . $result->Name . "<br/>"; 
} else { 
  echo 'worktodo queue exists' . "<br/>"; 
} 


$storageClient->putMessage('worktodo', $id.','.$name, 3600); // 3600 = time-to-live of the message, if omitted defaults to 7 days 
echo($storageClient->getAccountName()); 

Короче говоря: при подключении к хранилищу Windows Azure вы всегда должны передавать фактические сведения о соединении.

0 голосов
/ 03 ноября 2010

Можете ли вы проверить значение в файле ServiceConfiguration.cscfg в проекте?Должно быть установлено значение «ложь»

...