ホームページ  >  記事  >  バックエンド開発  >  PHP と Google Cloud Storage を使用した効率的なクラウド ストレージとアクセス

PHP と Google Cloud Storage を使用した効率的なクラウド ストレージとアクセス

WBOY
WBOYオリジナル
2023-06-25 08:45:341712ブラウズ

インターネットの発展に伴い、データ量は増加し続けており、データを効率的に保存し、アクセスする方法が特に重要になっています。その中でもクラウドストレージ技術は、動画、音声、写真などの大容量ファイルの保存や配布、クラウドディスクやバックアップなどの個人データの保存など、さまざまなシーンで広く利用されています。 Google Cloud Storage は、強力なクラウド ストレージ サービスとして、パフォーマンスと信頼性の点で優れた利点を持っています。この記事では、PHP と Google Cloud Storage を使用して効率的なクラウド ストレージとアクセスを実現する方法を紹介します。

1. Google Cloud Storage の概要

Google Cloud Storage は、開発者および企業向けのクラウド ストレージ サービスであり、高信頼性、高可用性、高性能を特徴としており、さまざまなサービスをサポートしています。さまざまなアプリケーションシナリオ。ユーザーは、管理コンソール、コマンド ライン ツール、または API を通じてデータを管理し、アクセスできます。

Google Cloud Storage は、標準ストレージ、ニアライン ストレージ、コールドライン ストレージという 3 つの異なるストレージ タイプを提供します。標準ストレージは、高いパフォーマンスが必要で頻繁にアクセスされるデータに適しています。ニアライン ストレージは、頻繁にアクセスする必要があるが、アクセス速度に一定の要件があるデータに適しています。コールドライン ストレージは、アクセス頻度が低いデータに適しています。

Google Cloud Storage のコストは、ストレージ容量、データ転送、リクエスト数の 3 つの部分で構成されます。標準ストレージのコストは高くなりますが、ニアライン ストレージとコールドライン ストレージのコストは比較的低くなります。

2. PHP を使用して Google Cloud Storage に接続する

ほとんどのクラウド ストレージ サービスと同様、Google Cloud Storage も開発者が呼び出すための API インターフェースを提供します。開発者は PHP 言語を使用して呼び出しを行うことができるため、便利で高速なクラウド ストレージとアクセスが実現します。

PHP を使用して Google Cloud Storage に接続するには、Google Cloud Platform でプロジェクトを作成し、Google Cloud Storage サービスを有効にする必要があります。プロジェクトにサービス アカウントを作成してアクセス権を取得します。その後、Google の公式 API ライブラリを使用して API アクセスを実現できます。

PHP では、composer を使用して Google Cloud Storage PHP クライアントをインストールし、Google Cloud Storage に接続できます。 Composer コマンドを使用してインストールします:

composer require google/cloud-storage

Google Cloud Storage に接続します:

require __DIR__ . '/vendor/autoload.php';

use GoogleCloudStorageStorageClient;

$projectId = 'your-project-id';
$keyFilePath = '/path/to/your/credential.json';

$storage = new StorageClient([
    'projectId' => $projectId,
    'keyFilePath' => $keyFilePath
]);

ここで、「your-project-id」は Google Cloud Platform で作成したプロジェクト ID、「/path/to」です。 /your/credential.json' は、サービス アカウントにダウンロードした認証情報ファイルへのパスです。

3. Google Cloud Storage へのファイルのアップロード

PHP を使用して Google Cloud Storage に正常に接続したら、Google Cloud Storage へのファイルのアップロードを開始できます。まず、ファイル ストレージのターゲットとしてバケットを選択する必要があります。ストレージ バケットはコンテナに相当し、あらゆる種類のデータを保存でき、特定のルールに従って管理できます。

バケットを作成します:

$bucketName = 'your-bucket-name';

$bucket = $storage->createBucket($bucketName);

ここで、「your-bucket-name」は、作成するバケットの名前です。

ファイルをバケットにアップロードします:

$bucketName = 'your-bucket-name';
$fileName = 'your-file-name';
$filePath = '/path/to/your/local/file';

$bucket = $storage->bucket($bucketName);

$bucket->upload(
    fopen($filePath, 'r'),
    [
        'name' => $fileName
    ]
);

ここで、「your-file-name」はアップロードするファイルの名前です (「/path/to/your/local/file」)。 ' はアップロードするローカル ファイル パスです。

4. Google Cloud Storage からファイルをダウンロードする

ファイルをアップロードするだけでなく、Google Cloud Storage からファイルをダウンロードすることも非常に便利です。バケット名とファイル名を使用してダウンロードするファイルを指定し、ローカルの保存パスを設定できます。

ダウンロードファイル:

$bucketName = 'your-bucket-name';
$fileName = 'your-file-name';
$savePath = '/path/to/your/local/save/path';

$bucket = $storage->bucket($bucketName);

$object = $bucket->object($fileName);

$object->downloadToFile($savePath);

このうち、「your-file-name」はダウンロードしたいファイルの名前、「/path/to/your/local/save/path」 ' はダウンロードするファイルの名前です。保存先のローカル ファイル パスです。

5. Google Cloud Storage の管理とアクセス権限

Google Cloud Storage は、柔軟な管理とアクセス権限の設定をサポートしています。バケットとオブジェクトのアクセス権限は、PHP API を使用して管理できます。

バケットのアクセス権限を設定します:

$bucket = $storage->bucket($bucketName);

$bucket->acl()->add(
    $storage->iam()->policyBuilder()
        ->addBinding('role/projectViewer', 'user:email@example.com')
        ->build()
);

ここで、「user:email@example.com」は、承認された Google Cloud Platform ユーザーまたはサービス アカウントのメール アドレスです。

オブジェクトのアクセス権限を設定します:

$object = $bucket->object($fileName);

$object->acl()->add(
    $storage->iam()->policyBuilder()
        ->addBinding('role/objectViewer', 'user:email@example.com')
        ->build()
);

6. 概要

PHP と Google Cloud Storage を使用すると、効率的なクラウド ストレージとアクセスを実現し、バケットを便利に管理できますGoogle Cloud Storage の高性能、高可用性、高信頼性を最大限に活用しながら、さまざまなオブジェクトを管理できます。開発者は、実際のニーズに基づいてさまざまなストレージ タイプと構成ソリューションを選択し、より優れたユーザー エクスペリエンスとコスト効率を実現できます。

以上がPHP と Google Cloud Storage を使用した効率的なクラウド ストレージとアクセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。