2014-12-15 3 views
1

AppEngine을 사용하여 버킷을 만드는 방법이 있습니까?App Engine을 사용하여 클라우드 저장소 버킷 만들기

파일을 쓰고 읽는 데 use google\appengine\api\cloud_storage\CloudStorageTools;을 사용했지만 버킷을 만드는 방법을 파악하지 못했습니다.

EDIT 코드 대신 수동으로 버킷을 생성하고 싶습니다.

+0

[PHP 용 Google API 클라이언트 라이브러리] (https://github.com/google/api-php-client) – jterrace

+0

해당 라이브러리를 사용하여 데이터를 읽고 쓰는 방법을 알 수 없습니다. 그래서 나는 @jterrace를 이해할 수 있을지 의심 스럽지만 통찰력을 주셔서 감사합니다. – bryan

답변

1

Google Cloud Storage 버킷을 만드는 방법에는 두 가지가 있습니다.

1) 새 관리 콘솔 - console.developers.google.com에서 생성 한 다음 '저장 용량', '클라우드 저장소'를 클릭하십시오. 결제 기능을 사용하도록 설정 한 경우 버킷을 추가하는 옵션이 표시됩니다.

2) 기본 버킷을 사용하십시오. appengine.google.com으로 이동하여 '애플리케이션 설정'을 클릭하면 'Google Cloud Storage Bucket'이 표시됩니다. 그렇지 않은 경우 하단으로 스크롤하여 '클라우드 통합'아래의 '만들기'를 클릭하십시오.

자세한 내용은이 문서를 참조하십시오 - https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/activate

=== --- === 적절한 API 호출을 구성하는 방법에 PHP의 참고로

:

https://github.com/google/google-api-php-client/blob/master/src/Google/Service/Storage.php

을 전화하려는 API는 다음과 같습니다.

https://cloud.google.com/storage/docs/json_api/v1/buckets/insert

기본적으로 코드에서 고유 한 버킷 이름을 생성하려고합니다 (네임 스페이스가 모든 사용자에게 공통적이므로 간단한 버킷 이름이 모두 사용되므로). 어떤 사람들은 (appID-date-time)와 같이 버켓 이름에 현재 날짜/시간을 추가합니다.

버킷을 만들기 위해 버킷 삽입 API 호출을 만들고 개체 삽입 버킷에 개체를 넣으려는 개체 삽입 API 호출을 만들고 싶습니다. 그런 다음 객체를 가져 와서 수정하여 객체를 조작 할 수 있습니다.

+1

나는 코드를 통해 그것을 수동으로 만들고 싶습니다. – bryan

+0

어떤 언어입니까? –

+1

AppEngine에서 PHP를 사용하여 만들고 싶습니다. – bryan

1

프로그래밍 API를 사용하여 examples의 클라우드 저장소 설명서를 확인하고 인증에 대한 자세한 내용은 appengine docs을 확인하십시오.

+1

감사하지만이 예제 나 문서에는 버킷 생성과 관련된 내용이 없습니다. – bryan

+1

https://cloud.google.com/storage/docs/json_api/v1/buckets/insert는 적응하려는 특정 API 호출입니다. – shollyman

0

먼저 프로젝트가 제대로 설정되어 있고 Store API가 following the instructions here에 포함되어 있는지 확인하십시오.

다음 코드는 프로젝트와 관련된 모든 버킷 양동이에 새로운 버킷을 만든 다음이 나열됩니다 :

require_once 'vendor/autoload.php'; 

$projectId = "example"; // your app engine id (example.appspot.com).  
$client = new Google_Client(); 
$client->useApplicationDefaultCredentials(); // This won't work locally. 
$client->addScope(Google_Service_Storage::DEVSTORAGE_FULL_CONTROL); 
$storage = new Google_Service_Storage($client); 

// Create our new bucket. 
$newBucket = new Google_Service_Storage_Bucket(); 
$newBucket->setName("test-bucket1"); 

try { 
    $test = $storage->buckets->insert($projectId, $newBucket); 
    print_r($test); 
} catch (\Google_Service_Exception $e) { 
    $error = $e->getErrors()[0]; 
    // Available: reason & message. 
    die("Error message: ". $error["message"]); 
} 

// List all our buckets. 
$buckets = $storage->buckets->listBuckets($projectId); 

foreach ($buckets['items'] as $bucket) { 
    printf("%s<br>", $bucket->getName()); 
} 

이 예는 로컬로 작동하지 않으며 구글의 서버에 배포해야 함을 유의하시기 바랍니다. 또한 버킷 이름은 전 세계적으로 고유해야하므로 버켓 이름에 임의의 숫자 또는 프로젝트 ID를 추가하십시오.

관련 문제