Blob 存储 - 连接字符串不起作用 php

Posted

技术标签:

【中文标题】Blob 存储 - 连接字符串不起作用 php【英文标题】:Blob Storage - connection string not working php 【发布时间】:2013-02-24 02:21:08 【问题描述】:

这是我写的:

Creating a container in blob storage Azure - php

以下是我的连接sting格式:

是抱怨容器不存在,我的连接字符串如下:

$connectionString = 'DefaultEndpointsProtocol=http;AccountName=<name of container>;AccountKey=<primary access key>'; –

但是当我这样连接时,它一直抱怨找不到容器,并弹出 404 错误。当我将存储名称粘贴在容器名称中并将主键粘贴在 key 中时

知道为什么吗?

谢谢

这是我的代码:

<?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.

【问题讨论】:

请编辑您的问题以包含您为创建容器而执行的代码。在容器存在之前,您无法读取/写入容器。 我已经在上面添加了 你创建了你的容器了吗?如果您查看 Azure 门户,是否存在(在存储帐户中单击容器链接)?很抱歉问什么可能是一个愚蠢的问题,但在这个问题中你没有显示容器的创建,在你问的最后一个问题中,容器和存储帐户之间似乎有些混淆 我有点困惑,不会提供存储帐户和密钥来让您访问其容器? blob 存储在您引用的容器中 - 在本例中,容器名称为“mycontainer”。但是您从不显示创建此容器的部分,这就是我们试图确认该容器存在的原因。在 azure 门户中,您是否看到名为“mycontainer”的容器? 【参考方案1】:

在 Azure 中,存储帐户容器是有区别的。

存储帐户是容器的集合 - 理论上仅受 Azure 帐户内的存储限制。

在您的问题中,您似乎没有在您的存储帐户中创建容器“mycontainer”。这将解释“指定的容器不存在”异常 - 在您明确创建容器之前,它不存在。

您可以从 Azure 门户中检查您的容器是否存在 - 在存储帐户中,您将看到一个指向容器的链接 - 在该链接下方是该存储帐户的所有容器的列表。


如果容器丢失,您需要创建它 - 从您链接的教程中,这行代码需要至少执行一次:

$blobRestProxy->createContainer("mycontainer", $createContainerOptions);

【讨论】:

以上是关于Blob 存储 - 连接字符串不起作用 php的主要内容,如果未能解决你的问题,请参考以下文章

PHP中的Mongodb连接不起作用

与mysql服务器连接的php文件不起作用

如何使用 C# 连接到 Blob 存储容器

IIS 上的 MSSQL 和 PHP 5.3.5 之间的连接不起作用

Azure Blob 存储 SAS ExpireOn 不起作用

连接表SQL PHP中列的总和不起作用[重复]