>  기사  >  백엔드 개발  >  PHP 및 Google Cloud Storage를 사용한 효율적인 클라우드 스토리지 및 액세스

PHP 및 Google Cloud Storage를 사용한 효율적인 클라우드 스토리지 및 액세스

WBOY
WBOY원래의
2023-06-25 08:45:341727검색

인터넷의 발달과 함께 데이터의 양은 계속 증가하고 있으며, 데이터를 효율적으로 저장하고 액세스하는 방법이 특히 중요해졌습니다. 그 중 클라우드 스토리지 기술은 동영상, 오디오, 사진 등 대용량 파일의 저장 및 배포, 클라우드 디스크, 백업 등 개인 데이터의 저장 등 다양한 시나리오에서 널리 활용되고 있다. 강력한 클라우드 스토리지 서비스인 Google Cloud Storage는 성능과 안정성 면에서 탁월한 장점을 가지고 있습니다. 이 기사에서는 PHP와 Google Cloud Storage를 사용하여 효율적인 클라우드 스토리지 및 액세스를 달성하는 방법을 소개합니다.

1. Google Cloud Storage 개요

Google Cloud Storage는 높은 신뢰성, 고가용성, 고성능을 특징으로 하며 다양한 애플리케이션 시나리오를 지원하는 개발자와 기업을 위한 클라우드 스토리지 서비스입니다. 사용자는 관리 콘솔, 명령줄 도구 또는 API를 통해 데이터를 관리하고 액세스할 수 있습니다.

Google Cloud Storage는 표준 저장소, 니어라인 저장소, 콜드라인 저장소라는 세 가지 저장소 유형을 제공합니다. 표준 스토리지는 고성능이 필요하고 자주 액세스되는 데이터에 적합하고, Nearline 스토리지는 자주 액세스해야 하지만 액세스 속도에 대한 특정 요구 사항이 있는 데이터에 적합합니다.

Google Cloud Storage 비용은 저장 용량, 데이터 전송, 요청 수의 세 부분으로 구성됩니다. 표준 스토리지 비용은 더 높지만 니어라인 및 콜드라인 스토리지 비용은 상대적으로 저렴합니다.

2. PHP를 사용하여 Google Cloud Storage에 연결

대부분의 클라우드 저장소 서비스와 마찬가지로 Google Cloud Storage는 개발자가 호출할 수 있는 API 인터페이스도 제공합니다. 개발자는 PHP 언어를 사용하여 호출을 수행함으로써 편리하고 빠른 클라우드 저장 및 액세스를 달성할 수 있습니다.

PHP를 사용하여 Google Cloud Storage에 연결하려면 Google Cloud Platform에서 프로젝트를 만들고 Google Cloud Storage 서비스를 활성화해야 합니다. 액세스 권한을 얻으려면 프로젝트에 서비스 계정을 만드세요. 그런 다음 Google의 공식 API 라이브러리를 사용하여 API 액세스를 얻을 수 있습니다.

PHP에서는 작곡가를 사용하여 Google Cloud Storage PHP 클라이언트를 설치하여 Google Cloud Storage에 연결할 수 있습니다. 작곡가 명령을 통해 설치:

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를 최대한 활용할 수 있습니다. 스토리지. 고성능, 고가용성 및 높은 신뢰성. 개발자는 더 나은 사용자 경험과 비용 효율성을 얻기 위해 실제 요구 사항에 따라 다양한 스토리지 유형과 구성 솔루션을 선택할 수 있습니다.

위 내용은 PHP 및 Google Cloud Storage를 사용한 효율적인 클라우드 스토리지 및 액세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.