面对在Azure中创建blob的问题

时间:2018-01-09 12:07:21

标签: php azure cloud blob azure-storage-blobs

如何使用PHP在Microsoft Azure中的容器中创建blob。 按照this link

中的步骤操作

但仍面临一些问题。 PHP代码没有被执行。 如何将文件或目录推送到现有的blob?

<?php
require_once 'vendor/autoload.php';

use MicrosoftAzure\Storage\Common\ServicesBuilder;
use MicrosoftAzure\Storage\Common\ServiceException;

$connectionString = "DefaultEndpointsProtocol=https://sen123.blob.core.windows.net/srs123/sen123;AccountName=sen@gmail.com;AccountKey= ";

// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);

$content = fopen("D:\home\site\wwwroot\blobfile.txt", "r");
$blob_name = "sen123";

try    {
//Upload blob
$blobRestProxy->createBlockBlob("mycontainer", $blob_name, $content);
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/azure/dd179439.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}

?>

错误消息:此页面无效 sen.azurewebsites.net目前无法处理此请求。 HTTP ERROR 500

1 个答案:

答案 0 :(得分:1)

  1. 您的连接字符串不正确。

    • DefaultEndpointsProtocol 的值应为httpshttp,而不是blob文件的网址。

    • 对于 AccountName AccountKey ,您可以从Azure portal复制这些值:

    enter image description here

  2. 在Windows平台上,您需要将文件路径更改为:

    $content = fopen("D:\\home\\site\\wwwroot\\blobfile.txt", "r");