我写了这个:
Creating a container in blob storage Azure - PHP
以下是我的连接sting格式:
抱怨容器不存在,我的连接字符串如下:
$connectionString = 'DefaultEndpointsProtocol=http;AccountName=<name of container>;AccountKey=<primary access key>'; –
然而,当我像这样连接时,它一直抱怨无法找到容器,并弹出404错误。当我将容器名称中的存储名称和密钥
中的主键粘贴时知道为什么吗?
由于
这是我的代码:
<?php
require_once 'vendor\autoload.php';
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;
$connectionString = 'DefaultEndpointsProtocol=http;AccountName=<name of container>;AccountKey=<primary access key>'; –`
// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
try {
// List blobs.
$blob_list = $blobRestProxy->listBlobs(<container>);
$blobs = $blob_list->getBlobs();
foreach($blobs as $blob)
{
echo $blob->getName().": ".$blob->getUrl()."<br />";
}
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/en-us/library/windowsazure/dd179439.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
?>
错误:
404:失败:代码:404值:指定的容器不存在。详细信息(如果有):ContainerNotFound指定的容器不存在。 RequestId:44efdbaf-0a20-4b35-96bf-9dcc486ab9a1时间:2013-03-08T15:00:36.7615754Z。
答案 0 :(得分:2)
在Azure中,存储帐户与容器之间存在差异。
存储帐户是容器的集合 - 理论上仅受Azure帐户中存储限制的限制。
在您的问题中,您似乎没有在存储帐户中创建容器“mycontainer”。这将解释“指定的容器不存在”异常 - 在您明确创建容器之前,它不存在。
您可以在Azure门户中检查您的容器是否存在 - 在存储帐户中您将看到指向容器的链接 - 在该链接下是该存储帐户的所有容器的列表。
如果缺少容器,则需要创建它 - 从您链接的教程中,这行代码至少需要执行一次:
$blobRestProxy->createContainer("mycontainer", $createContainerOptions);