> 백엔드 개발 > PHP 튜토리얼 > 파일 전송 및 백업을 위해 PHP 및 Google Cloud Storage Transfer Service를 사용하는 방법

파일 전송 및 백업을 위해 PHP 및 Google Cloud Storage Transfer Service를 사용하는 방법

王林
풀어 주다: 2023-06-25 08:18:02
원래의
1075명이 탐색했습니다.

빅데이터 시대의 도래와 함께 데이터 백업 및 마이그레이션은 모든 기업에 없어서는 안될 기술이 되어야 합니다. 디스크 복제, 테이프 백업과 같은 기존 백업 방법 외에도 Google Cloud Storage Transfer Service는 빠르고 안정적이며 저렴한 백업 및 마이그레이션 방법입니다. 이 글에서는 파일 전송 및 백업을 위해 PHP와 Google Cloud Storage Transfer Service를 사용하는 방법을 설명합니다.

1. Google Cloud Storage Transfer Service 생성 및 구성

먼저 Google Cloud Platform 콘솔에서 새 스토리지 전송 작업을 생성해야 합니다. 콘솔에서 Cloud Storage 전송을 선택하고 메시지에 따라 스토리지 전송 작업에 대한 정보를 입력합니다. 소스 및 대상 데이터 저장소의 세부사항을 제공해야 합니다. 데이터를 전송할 버킷을 지정하거나 Google Drive, Amazon S3 또는 기타 지원되는 리포지토리에서 데이터를 전송하도록 선택할 수 있습니다.

스토리지 전송 작업을 생성하는 과정에서 매일, 매주, 매월 등을 포함한 데이터 전송 일정도 지정해야 합니다.

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

저장소 전송 작업을 설정한 후에는 PHP를 사용하여 소스 및 대상 저장소로 데이터를 전송할 수 있습니다. 먼저 Google Cloud Storage 전송 서비스에 대한 인증을 설정해야 합니다.

인증하려면 Google API PHP 클라이언트를 다운로드하고 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 Service 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 = 새로운 Google_Service_StoragetRansfer_Schedule ();
$ Schedule- & gt; setSchedulestArtDate ([

r
'year' => 2021,
'month' => 12,
'day' => 30
로그인 후 복사

]);
$ schedule- & gt; setScheduleendDate ([

'year' => 2022,
'month' => 1,
'day' => 5
로그인 후 복사
]);

$ schedule-& gt; setStartTimeof Day ([

'hours' => 12,
'minutes' => 30,
'seconds' => 0,
'nanos' => 0
로그인 후 복사
eeeeee

)). ;

$schedule->setEndTimeOfDay([

'hours' => 13,
'minutes' => 0,
'seconds' => 0,
'nanos' => 0
로그인 후 복사
]);

$transferJob = new Google_Service_StorageTransfer_TransferJob();

$transferJob->setDescription('내 전송 작업 설명');
$transferJob-> $transferSpec);
$transferJob->setSchedule($schedule);
$transferJob->setStatus('ENABLED');

// 새 스토리지 전송 작업 생성

$createdJob = $service-> >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿