【发布时间】:2017-09-14 16:48:10
【问题描述】:
我使用了azure-sdk-for-php 库,我收到了这个错误警告:require_once(WindowsAzure/Blob/Models/BlockList.php): failed to open stream: No such file or directory。
我的代码如下-
define("__BLOBNAME__", "BLOBNAME");
define("__CONTAINERNAME__", "CONTAINERNAME");
define("__BLOBKEY__", "BLOBKEY");
//require_once('WindowsAzure\WindowsAzure.php');
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;
use WindowsAzure\Common\CloudConfigurationManager;
use WindowsAzure\Blob\Models\Block;
use WindowsAzure\Blob\Models\CreateContainerOptions;
use WindowsAzure\Blob\Models\ListContainersOptions;
use WindowsAzure\Blob\Models\CreateBlobOptions;
use WindowsAzure\Blob\Models\CommitBlobBlocksOptions;
use WindowsAzure\Blob\Models\BlobProperties;
$connectionString = "DefaultEndpointsProtocol=http;AccountName=" . __BLOBNAME__ . ";AccountKey=" . __BLOBKEY__ . "";
if (null == $connectionString || "" == $connectionString) {
echo "Did not find a connection string whose name is 'StorageConnectionString'.";
exit();
}
// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
try {
// List blobs.
$blob_list = $blobRestProxy->listBlobs(__CONTAINERNAME__);
$blobs = $blob_list->getBlobs();
// iterate over blobs
foreach ($blobs as $blob) {
$options = new WindowsAzure\Blob\Models\CreateBlobOptions();
$options->setBlobCacheControl("public, max-age=604800");
echo 'setting ... ';
$blobRestProxy->setBlobProperties(__CONTAINERNAME__,$blob->getName(), $options);
}
} 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;
}
【问题讨论】: