객체 업로드

이 페이지에서는 Cloud Storage 버킷에 객체를 업로드하는 옵션에 대해 설명합니다. 업로드된 객체는 관련 메타데이터와 저장할 데이터로 구성됩니다. 객체에 대한 개요는 주요 용어객체 이름 지정 요구사항을 참조하세요.

콘솔

  1. Google Cloud Platform 콘솔에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저 열기
  2. 버킷 목록에서 객체를 업로드할 버킷의 이름을 클릭합니다.

  3. 버킷의 객체 탭에서 다음 중 하나를 수행합니다.

    • 원하는 파일을 바탕 화면이나 파일 관리자에서 GCP Console의 기본 창으로 드래그 앤 드롭합니다.

    • 파일 업로드 버튼을 클릭하고 나타나는 대화상자에서 업로드할 파일을 선택하고 열기를 클릭합니다.

gsutil

gsutil cp 명령어를 사용합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

gsutil cp [LOCAL_OBJECT_LOCATION] gs://[DESTINATION_BUCKET_NAME]/

성공하면 응답은 다음 예와 같습니다.

Operation completed over 1 objects/58.8 KiB.

코드 샘플

C++

자세한 내용은 Cloud Storage C++ API 참조 문서를 참조하세요.

namespace gcs = google::cloud::storage;
using google::cloud::StatusOr;
[](gcs::Client client, std::string file_name, std::string bucket_name,
   std::string object_name) {
  // Note that the client library automatically computes a hash on the
  // client-side to verify data integrity during transmission.
  StatusOr<gcs::ObjectMetadata> object_metadata = client.UploadFile(
      file_name, bucket_name, object_name, gcs::IfGenerationMatch(0));

  if (!object_metadata) {
    std::cerr << "Error uploading file " << file_name << " to bucket "
              << bucket_name << " as object " << object_name
              << ", status=" << object_metadata.status() << std::endl;
    return;
  }

  std::cout << "Uploaded " << file_name << " to object "
            << object_metadata->name() << " in bucket "
            << object_metadata->bucket()
            << "\nFull metadata: " << *object_metadata << std::endl;
}

C#

자세한 내용은 Cloud Storage C# API 참조 문서를 참조하세요.

private void UploadFile(string bucketName, string localPath,
    string objectName = null)
{
    var storage = StorageClient.Create();
    using (var f = File.OpenRead(localPath))
    {
        objectName = objectName ?? Path.GetFileName(localPath);
        storage.UploadObject(bucketName, objectName, null, f);
        Console.WriteLine($"Uploaded {objectName}.");
    }
}

Go

자세한 내용은 Cloud Storage Go API 참조 문서를 참조하세요.

f, err := os.Open("notes.txt")
if err != nil {
	return err
}
defer f.Close()

wc := client.Bucket(bucket).Object(object).NewWriter(ctx)
if _, err = io.Copy(wc, f); err != nil {
	return err
}
if err := wc.Close(); err != nil {
	return err
}

자바

자세한 내용은 Cloud Storage 자바 API 참조 문서를 참조하세요.

Storage storage = StorageOptions.getDefaultInstance().getService();
BlobId blobId = BlobId.of("bucket", "blob_name");
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build();
Blob blob = storage.create(blobInfo, "Hello, Cloud Storage!".getBytes(UTF_8));

Node.js

자세한 내용은 Cloud Storage Node.js API 참조 문서를 참조하세요.

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const filename = 'Local file to upload, e.g. ./local/path/to/file.txt';

// Uploads a local file to the bucket
await storage.bucket(bucketName).upload(filename, {
  // Support for HTTP requests made with `Accept-Encoding: gzip`
  gzip: true,
  metadata: {
    // Enable long-lived HTTP caching headers
    // Use only if the contents of the file will never change
    // (If the contents will change, use cacheControl: 'no-cache')
    cacheControl: 'public, max-age=31536000',
  },
});

console.log(`${filename} uploaded to ${bucketName}.`);

PHP

자세한 내용은 Cloud Storage PHP API 참조 문서를 참조하세요.

use Google\Cloud\Storage\StorageClient;

/**
 * Upload a file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of the object.
 * @param string $source the path to the file to upload.
 *
 * @return Psr\Http\Message\StreamInterface
 */
function upload_object($bucketName, $objectName, $source)
{
    $storage = new StorageClient();
    $file = fopen($source, 'r');
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->upload($file, [
        'name' => $objectName
    ]);
    printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName);
}

Python

자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.

Blob.upload_from_file(), Blob.upload_from_filename() 또는 Blob.upload_from_string() 메소드를 사용하여 객체를 업로드합니다.
def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_filename(source_file_name)

    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

Ruby

자세한 내용은 Cloud Storage Ruby API 참조 문서를 참조하세요.

# project_id        = "Your Google Cloud project ID"
# bucket_name       = "Your Google Cloud Storage bucket name"
# local_file_path   = "Path to local file to upload"
# storage_file_path = "Path to store the file in Google Cloud Storage"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name

file = bucket.create_file local_file_path, storage_file_path

puts "Uploaded #{file.name}"

REST API

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. Playground에서 OAuth 사용자 인증 정보를 사용하도록 구성합니다.
  2. 객체의 데이터를 요청 본문에 추가합니다.
  3. cURL을 사용하여 POST Object 요청으로 JSON API를 호출합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.
    curl -X POST --data-binary @[OBJECT] \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        -H "Content-Type: [OBJECT_CONTENT_TYPE]" \
        "https://www.googleapis.com/upload/storage/v1/b/[BUCKET_NAME]/o?uploadType=media&name=[OBJECT_NAME]"

JSON API를 사용한 객체 업로드에 대한 자세한 내용은 단순 업로드 수행을 참조하세요.

XML API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. Playground에서 OAuth 사용자 인증 정보를 사용하도록 구성합니다.
  2. 객체의 데이터를 요청 본문에 추가합니다.
  3. cURL을 사용하여 PUT Object 요청으로 XML API를 호출합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.
    curl -X PUT --data-binary @[OBJECT] \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        -H "Content-Type: [OBJECT_CONTENT_TYPE]" \
        "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]"

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.