🦁
PHPでAzure Storageにアップロード(Azure Blob Storage)
備忘のため書きます。
めっちゃめんどいので細かいとこは省略。
環境
- PHP 7.4.16
- composer 2.0.11
- azure-storage-php
- Azure ストレージアカウント
- サブスクリプション
- 無料使用版
- パフォーマンス/アクセス層
- Standard/ホット
- アカウントの種類
- StorageV2 (汎用 v2)
- サブスクリプション
手順
ストレージアカウントを作成してコンテナを作る
アクセスキーから接続文字列をメモる
azure-storage-phpライブラリをインストール
composer require "microsoft/azure-storage-blob"
コード書く
サンプル
[ディレクトリ構成]
.
├── composer.json
├── composer.lock
├── index.php
├── pose_pien_uruuru_woman.png
└── vendor
[コード]
<?php
require_once "vendor/autoload.php";
use MicrosoftAzure\Storage\Blob\BlobRestProxy;
use MicrosoftAzure\Storage\Common\ServiceException;
function upload(string $filePath)
{
try {
// Default から始まってるやつ
$connectionString = {接続文字列};
$container = 'test-container';
$content = fopen($filePath, "r");
$blobClient = BlobRestProxy::createBlobService($connectionString);
$blobClient->createBlockBlob($container, $filePath, $content);
if (is_resource($content)) {
fclose($content);
}
echo "upload done" . PHP_EOL;
} catch (ServiceException $e) {
$code = $e->getCode();
$errorMessage = $e->getMessage();
echo "{$code}: {$errorMessage}" . PHP_EOL;
}
}
upload('pose_pien_uruuru_woman.png');
実行してみる
$ php index.php
upload done
確認
OK!!!終わり!!!
Discussion