[PHP]Cloud Strageにファイルをアップロードする

GCPのCloud Strageにphpのクライアントライブラリを使用してファイルをアップロードする方法。

GCPサービスアカウントキーの作成

phpでGCPを扱う上でサービスアカウントキーを発行し認証を行う必要がある。
GCPの「APIとサービス」>「認証情報」から「認証情報を作成」を選択してサービスアカウントキーを発行する。キーの形式はJSONを選択。

役割はここでは「ストレージ管理者」を選択。

操作が完了するとキーファイルが端末にダウンロードされる。

phpでの実行

composerでGCPを扱うためのライブラリをインストールする。

$ composer require google/cloud

Cloud Strageの任意のバケットにファイルをアップロードするためのサンプルプログラム。
事前にGCPで取得したサービスアカウントキーファイルはcredential.jsonとして保存している。

<?php

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

$project_id = 'project_id';
$source = 'hoge.csv';
$bucket_name = 'test-bucket';
// 必要であればバケット内のフォルダを指定
$object_name = 'test/hoge.csv';

$storage = new \Google\Cloud\Storage\StorageClient([
    'projectId' => $project_id,
    'keyFile' => json_decode(file_get_contents('./credential.json'), true),
]);
$file = fopen($source, 'r');
$bucket = $storage->bucket($bucket_name);
$object = $bucket->upload($file, [
    'name' => $object_name,
]);

参考

Google Cloud Storage を PHPで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

three + 1 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください