2016-08-31 3 views

答えて

1

SASトークンを持っていて、AzureストレージアカウントでBLOBへの書き込み権限がある場合は、SASトークンを活用してAzure Storage SDK for PHPなしで直接Azureストレージにファイルをアップロードできます。

私はあなたと似ている必要があり署名で正しいSASのクエリ文字列を、持っていることを前提としています ?sv=2015-04-05&ss=bt&srt=sco&sp=w&st=2016-09-01T01%3A54%3A00Z&se=2016-09-02T01%3A54%3A00Z&sig=AQ%2F1yL8bt0AQzoYwtQmTUR6UKkJPC4PXg%2BxysdlkMoE%3D

次に、あなたがあなたのファイルをアップロードするAzureストレージへのREST APIリクエストを作成するには、レバレッジcUrl

$sas= '?sv=2015-04-05&ss=bt&srt=sco&sp=rwl&st=2016-09-01T01%3A54%3A00Z&se=2016-09-02T01%3A54%3A00Z&sig=To%2BITizcZWTgr4I6o9BI%2Bdv34CBkuhV5%2BSEQXnaJr%2B0%3D'; 

$endpoint = 'https://<storage_account>.blob.core.windows.net'; 
$container = 'test'; 
$blob = 'test.png'; 
$url = $endpoint.'/'.$container.'/'.$blob.$sas; 

$uploadfile ="test.PNG"; 
$content = file_get_contents($uploadfile); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('x-ms-blob-type: BlockBlob','Content-Length: ' . strlen($content))); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$content); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
curl_close($ch); 

ブロブをAzure Storageに配置するためのREST APIの詳細については、https://msdn.microsoft.com/en-us/library/azure/dd179451.aspxを参照してください。

+0

ありがとうございます@Gary Liu - MSFT私はこの次回を探しています。 –

0

私たちのPHP tutorial for blobsは、接続文字列を作成し、blobをアップロードする方法を示しています。

接続文字列の資格情報としてSASを使用できます。接続文字列の形式は、(改行のみを読みやすくするために含まれています)です:

BlobEndpoint=myBlobEndpoint; 
QueueEndpoint=myQueueEndpoint; 
TableEndpoint=myTableEndpoint; 
FileEndpoint=myFileEndpoint; 
SharedAccessSignature=sasToken 

詳細と例についてはCreate a connection string using a shared access signatureを参照してください。

+0

具体的な構文を入力できますか? BlobEndpoint = [myendpoint]; SharedAccessSignature = [私のSASトークン]を実行し、エラーが発生しました "設定キー 'SharedAccessSignature'が予期された構成設定キーに見つかりません:UseDevelopmentStorage DevelopmentStorageProxyUri DefaultEndpointsProtocol AccountName AccountKey BlobEndpoint QueueEndpoint TableEndpoint in vendor/Microsoft/azure-storage/src/Common/Internal/ServiceSettings.php " –

関連する問題