ファイル転送とバックアップに PHP と Google Cloud Storage Transfer Service を使用する方法

王林
リリース: 2023-06-25 08:18:02
オリジナル
1032 人が閲覧しました

ビッグデータ時代の到来により、データのバックアップと移行はあらゆる企業にとって不可欠なスキルとなるはずです。ディスク クローン作成やテープ バックアップなどの従来のバックアップ方法に加え、Google Cloud Storage Transfer Service は、高速で信頼性が高く、手頃な価格のバックアップおよび移行方法です。この記事では、PHP と Google Cloud Storage Transfer Service を使用してファイルの転送とバックアップを行う方法を説明します。

1. Google Cloud Storage Transfer Service の作成と構成

まず、Google Cloud Platform コンソールで新しいストレージ転送ジョブを作成する必要があります。コンソールで [クラウド ストレージ転送] を選択し、プロンプトに従ってストレージ転送ジョブに関する情報を入力します。ソース データ リポジトリとターゲット データ リポジトリの詳細を提供する必要があります。バケットからデータを転送するように指定することも、Google ドライブ、Amazon S3、またはその他のサポートされているリポジトリからデータを転送することを選択することもできます。

ストレージ転送ジョブを作成するプロセスでは、毎日、毎週、毎月などのデータ転送スケジュールを指定する必要もあります。

2. PHP を使用して Google Cloud Storage Transfer Service に接続します

ストレージ転送ジョブを設定したら、PHP を使用してソース リポジトリとターゲット リポジトリにデータを転送できます。まず、Google Cloud Storage Transfer Service の認証を設定する必要があります。

認証するには、Google API PHP クライアントをダウンロードして Composer を起動し、composer.JSON ファイルに次の依存関係を追加する必要があります。

"google/apiclient": "^2.7"

依存関係を追加した後、Cloud Platform コンソールで Google Cloud Storage Transfer API を有効にする必要があります。 API を有効にする場合は、Google Cloud Storage Transfer Service に対して認証するためのサービス アカウントを作成する必要があります。

次に、以下に示すように、コードを通じてサービス アカウントを PHP ファイルに認証する必要があります。

require 'vendor/autoload.php';

$client = new Google_Client();
$client->setApplicationName('ストレージ転送');
$client->setScopes([

Google_Service_StorageTransfer::DEVSTORAGE_FULL_CONTROL,
Google_Service_CloudPlatform::CLOUD_PLATFORM,
ログイン後にコピー
ログイン後にコピー

]);
$client->setAuthConfig('path/to/your/auth/json/file.json ');

$service = new Google_Service_StorageTransfer($client);

?>

サービス アカウントを承認した後、PHP を使用して Google Cloud Storage Transfer を呼び出すことができます。サービスAPI。

3. ファイル転送とバックアップに PHP で Google Cloud Storage Transfer Service を使用する

次は、ファイル転送とバックアップに PHP と Google Cloud Storage Transfer Service を使用する方法のコード例です。

require 'vendor/autoload.php';

$client = new Google_Client();
$client->setApplicationName('ストレージ転送');
$client->setScopes([

Google_Service_StorageTransfer::DEVSTORAGE_FULL_CONTROL,
Google_Service_CloudPlatform::CLOUD_PLATFORM,
ログイン後にコピー
ログイン後にコピー

]);
$client->setAuthConfig('path/to/your/auth/json/file.json ');

$service = new Google_Service_StorageTransfer($client);

//ソースバケットからの転送条件を設定します
$srcConditions = new Google_Service_StorageTransfer_AwsS3Data();
$ srcConditions->setBucketName('my-first-bucket');
$srcConditions->setAwsAccessKey([

'accessKeyId' => 'xxxxxxxxxxxxx',
'secretAccessKey' => 'yyyyyyyyyyyyy',
ログイン後にコピー

]);

// 送信条件を設定する、転送スキームと転送時間を含む
$transferSpec = new Google_Service_StorageTransfer_TransferSpec();
$transferSpec->setAwsS3DataSource($srcConditions);
$transferSpec->setGcsDataSink([

'bucketName' => 'my-target-bucket',
ログイン後にコピー

] );

$schedule = new Google_Service_StorageTransfer_Schedule();
$schedule->setScheduleStartDate([

'year' => 2021,
'month' => 12,
'day' => 30
ログイン後にコピー

]);
$schedule->setScheduleEndDate([

'year' => 2022,
'month' => 1,
'day' => 5
ログイン後にコピー

]);
$スケジュール->setStartTimeOfDay([

'hours' => 12,
'minutes' => 30,
'seconds' => 0,
'nanos' => 0
ログイン後にコピー

]);
$スケジュール->setEndTimeOfDay([

'hours' => 13,
'minutes' => 0,
'seconds' => 0,
'nanos' => 0
ログイン後にコピー

]) ;

$transferJob = new Google_Service_StorageTransfer_TransferJob();
$transferJob->setDescription('私の転送ジョブの説明');
$transferJob->setTransferSpec($transferSpec);
$ transferJob->setSchedule($schedule);
$transferJob->setStatus('ENABLED');

// 新しいストレージ転送ジョブを作成します
$createdJob = $service-> ; transferJobs->create($transferJob);

?>

上記のコード例では、Amazon S3 からソース リポジトリ ('my-first-bucket') をセットアップします。仕様とスケジュールを Google Cloud Storage ターゲット リポジトリ (「my-target-bucket」) に転送します。

概要

Google Cloud Storage Transfer Service は、非常に便利で柔軟なデータのバックアップおよび移行ツールです。 PHP と Google Cloud Storage Transfer Service を使用すると、さまざまな種類のデータ リポジトリにデータを簡単に転送できます。この記事で説明する手順を実行すると、Google Cloud Storage Transfer Service API をすばやく構成して使用し、PHP で操作できるようになります。

以上がファイル転送とバックアップに PHP と Google Cloud Storage Transfer Service を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート