2017-09-08 4 views
0

ich heute Azure Client-Bibliotheken mit Richtung auf dieser Seite https://docs.microsoft.com/en-us/azure/storage/blobs/storage-php-how-to-use-blobs#create-a-php-applicationFehler, wenn der Behälter in Azure Schaffung

aber ich bin immer unten Fehler installiert haben.

400: ausfallen:

Code: 400

Wert: Der Wert für eine des HTTP-Header ist nicht im richtigen Format.

Details (falls vorhanden): InvalidHeaderValueDer Wert für einen der HTTP-Header hat nicht das richtige Format. RequestId: f0046f48-001e-0046-22ab-2823fb000000 Zeit: 2017-09-08T14: 06: 55.1682373Zx-ms-version2012-02-12.

ist mein Code wie folgt:

require_once 'vendor/autoload.php'; 

use WindowsAzure\Common\ServicesBuilder; 
use MicrosoftAzure\Storage\Blob\Models\CreateContainerOptions; 
use MicrosoftAzure\Storage\Blob\Models\PublicAccessType; 
use MicrosoftAzure\Storage\Common\ServiceException; 

$connectionString = "DefaultEndpointsProtocol=http;AccountName=MyAccountName;AccountKey=4cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="; 

$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString); 

//create container 
$createContainerOptions = new CreateContainerOptions(); 

// private to the account owner. 
$createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS); 

// Set container metadata. 
$createContainerOptions->addMetaData("category", "my first category data"); 

try { 
    // Create container. 
    $blobRestProxy->createContainer("test", $createContainerOptions); 
} 
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 "Erro in create container <br><br>"; 
    echo $code.": ".$error_message."<br />"; 
    //print_r($e); 
} 

in i obigen Code erhielt Fehler so aktualisierten Code wie unten "Klasse nicht gefunden":

use WindowsAzure\Common\ServicesBuilder; 
use WindowsAzure\Blob\Models\CreateContainerOptions; 
use WindowsAzure\Blob\Models\PublicAccessType; 
use WindowsAzure\Common\ServiceException; 

nach oben Änderung im Code, „Klasse nicht gefunden "Fehler behoben und auch ich habe überprüft, dass die Verbindungszeichenfolge funktioniert gut, aber Fehler bekommen, die in Start meiner Frage beschrieben.

Danke :)

+0

können Sie versuchen, diese beiden Codezeilen kommentiert: '$ createContainerOptions-> setPublicAccess (PublicAccessType :: CONTAINER_AND_BLOBS);' und '$ createContainerOptions-> addMetaData ("Kategorie", "meine erste Kategoriedaten") ; '? –

+0

Nein :(, es funktioniert nicht. Immer noch gleichen Fehler. –

+0

Was ist die Version von PHP SDK verwenden Sie? –

Antwort

0

Ihr Code sieht gut aus. Ich kann den Fehler mit Version v.0.4.2 von Azure SDK for PHP reproduzieren. Ich habe Problem gelöst, indem das SDK auf die neueste Version zu aktualisieren (v0.5.5)

{ 
    "require": { 
     "microsoft/windowsazure": "^0.5.5" 
    } 
} 
+0

Ich denke, Version 5.5 benötigt PHP> = 5.6. Ist das richtig? –

Verwandte Themen