5 cách để tải dữ liệu của bạn lên Cloud Storage

Tháng Sáu 5, 2021
Nga Pham

Khi bạn tải một đối tượng lên Cloud Storage bucket, đối tượng đó sẽ bao gồm dữ liệu bạn muốn lưu trữ và mọi siêu dữ liệu (metadata) liên quan. Với một thái độ can-do và thông tin chi tiết trong bài đăng này, bạn sẽ dễ dàng học được cách đưa dữ liệu của mình lên Cloud Storage thông qua nhiều phương pháp. Để tìm hiểu thêm thông tin, hãy xem tài liệu chính thức từ Google Cloud và những khái niệm về quá trình tải lên và xuống tại đây.

Dùng bảng điều khiển

Cách đầu tiên chính là dùng bảng điều khiển (Cloud Console). Đây là một trải nghiệm ngay trong trình duyệt, nơi bạn có thể dễ dàng nhấp chuột để tạo nhóm và thư mục, sau đó chọn hoặc kéo thả tập tin từ máy tính của mình để tải lên.

csb

Mẹo: Bạn có thể tải cả thư mục nếu sử dụng trình duyệt Chrome.

gsutil

Đối với môi trường sản xuất (production enviroment), bạn có thể sẽ cần đến một giải pháp dòng lệnh tự động.

Google Cloud cung cấp công cụ gsutil – một ứng dụng Python cho phép bạn truy cập Cloud Storage từ dòng lệnh, mang đến khả năng thực hiện tất cả những công việc như tạo bucket, di chuyển đối tượng hoặc thạm chí là chỉnh sửa siêu dữ liệu.

Để sử dụng nó, hãy chạy chương trình gsutil với những tùy chọn dòng lệnh khác nhau. Ví dụ, lệnh này tải lên một thư mục từ máy cục bộ của bạn lên Cloud Storage bucket bằng cách sử dụng tải lên song song (parallel upload).

first

Và lệnh này liệt kê các đối tượng cụ thể có URL riêng của phiên bản, bằng cách sử dụng ký tự đại diện.

challenging

Bạn có thể tìm thấy nhiều thao tác thú vị hơn với gsutil khi đọc tài liệu này.

Thư viện khách (Client libraries)

Tại một số thời điểm, bạn có thể cần đến giao diện với Cloud Storage trực tiếp từ mã nguồn, thay vì sử dụng tùy chọn dòng lệnh. Để thực hiện điều đó, bạn có thể đưa các thư viện khách vào mã nguồn của mình và gọi một API đơn giản để lấy dữ liệu vào một bucket hoặc thư mục.

Bạn có thể sử dụng nhiều ngôn ngữ lập trình, bao gồm C++, C#, Go, Java, Node.js, PHP, Python và Ruby.

Lấy ví dụ, hãy xem đoạn mã nguồn Python này để tải một đối tượng lên một bucket:

from google.cloud import storage
def upload_blob(bucket_name, source_file_name, destination_blob_name):
    """Uploads a file to the bucket."""
    # bucket_name = "your-bucket-name"
    # source_file_name = "local/path/to/file"
    # destination_blob_name = "storage-object-name"
    storage_client = storage.Client()
    bucket = storage_client.bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)
    blob.upload_from_filename(source_file_name)

Xem thêm nhiều mẫu hơn tại đây.

JSON và XML

Và cuối cùng, nếu không có cách nào được liệt kê ở trên có thể thực hiện được công việc của bạn, hãy tìm đến các API JSON và XML. Chúng có thể cho phép bạn bắt đầu một yêu cầu (request) HTTP POST để tải dữ liệu trực tiếp lên một bucket hoặc thư mục. Dù phức tạp hơn một chút, nhưng cách thức này vẫn tồn tại phòng khi bạn cần đến nó.

POST /OBJECT_NAME HTTP/2
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
X-Goog-Resumable: start
Authorization: AUTHENTICATION_STRING

Công cụ chuyển đổi lưu trữ đám mây (Cloud Storage Transfer Appliance)

Đối với những người có rất nhiều dữ liệu, có một điều cần lưu ý rằng việc tải lên Google Cloud tất cả những dữ liệu đó một cách trực tiếp từ hệ thống tại chỗ của bạn có thể không khả thi. Khi đó, bạn sẽ cần đến Cloud Storage Transfer Appliance.

Google Cloud sẽ gửi đến cho bạn một thiết bị. Bạn kết nối nó, thêm dữ liệu của bạn vào và gửi lại cho họ. Ngoài ra, bạn có thể để chiếc hộp này trên bàn làm việc của mình một thời gian, nếu bạn yêu thích nó. Bạn có thể xem chi tiết về cách thức này tại đây.

transfer appliance

Đa đám mây? Không thành vấn đề!

Đừng lo lắng nếu dữ liệu của bạn nằm trong một đám mây khác, Google Cloud có các hướng dẫn chi tiết để giúp bạn dễ dàng bắt đầu và vận hành trên môi trường đa đám mây, cũng như di chuyển dữ liệu từ đó sang Cloud Storage.

Nguồn: Google Blog