如何使用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
答案 0 :(得分:1)
您的连接字符串不正确。
DefaultEndpointsProtocol 的值应为https
或http
,而不是blob文件的网址。
对于 AccountName 和 AccountKey ,您可以从Azure portal复制这些值:
在Windows平台上,您需要将文件路径更改为:
$content = fopen("D:\\home\\site\\wwwroot\\blobfile.txt", "r");