Tại sao phải có Service Accounts?

Các Service Accounts có thể được sử dụng để vượt qua giới hạn tải lên 750Gb/ngày do google đặt ra trong Google Drive. Có nghĩa là bạn có thể sử dụng chúng để tải lên hơn 750Gb mỗi ngày, sao chép hàng loạt tập tin.

Mỗi Service Accounts có giới hạn tải lên 750Gb mỗi ngày. Bạn có thể tạo tối đa 100 tài khoản dịch vụ cho mỗi dự án đám mây của google. Vì vậy, chỉ với một dự án, bạn có thể upload/copy đến 75Tb một ngày!

Cách tạo tài khoản

  • Đi tới Google Cloud Console và nếu bạn không có hiện tại dự án, hãy tạo một dự án mới
  • Sau đó, bật google drive api
  • Đi tới OAuth Consent Screen và lựa chọn "External" và vào "Create"
  • Điền tất cả các ràng buộc thông tin (thông tin có dấu * màu đỏ) và vào "Save and Continue" 3 lần (phần "Scopes" và "Test users" không yêu cầu bất kỳ đầu vào nào)
  • Publish and validate
  • Credentials, hãy chọn "Create Credentials" sau đó, chọn "OAuth client ID"
  • Nút bấm tải xuống ở bên phải ID của bạn OAuth của ứng dụng và lưu với tệp tên sau: credentials.json
  • Tải xuống và cài đặt python trên máy tính của bạn, sau đó tải tệp này vào cùng thư mục với credentials.json.
  • Tạo một thư mục có tên "accounts" (các tài khoản đã được tạo sẽ được tải xuống ở đó)
  • Để làm việc với script, hãy tải xuống tệp tin request.txt và chạy pip3 install -U -r requirements.txt
  • Để tạo các tài khoản, bạn có các lựa chọn khác nhau, nhưng hãy nhớ rằng một SA duy nhất có thể sao chép 750Gb một ngày và 1 dự án tạo ra 100 như vậy 750 * 100 = 75Tb một ngày. Tạo ra nhiều hơn là vô ích.
  • Nếu bạn muốn tạo một số dịch vụ tài khoản bằng cách sử dụng các dự án có sẵn (không tạo thêm dự án), hãy chạy py gen_sa_accounts.py --quick-setup -1.
  • Thao tác này sẽ ghi đè các tài khoản dịch vụ.
  • Để tạo tài khoản dịch vụ bằng cách tạo một dự án mới đang chạy: py gen_sa_accounts.py --quick-setup 1. Thay thế "1" bằng số lượng dự án bạn muốn
  • Lệnh này tạo một tài khoản dịch vụ trong tất cả các dự án dự kiến, ngay cả những dự án sẽ bị xóa.
Sau khi thực thi mã, hãy làm theo hướng dẫn ...


Nếu mọi thứ diễn ra đều thuận lợi, bạn nên có ít nhất 100 tệp tin vào "account" thư mục của mình. Mỗi tệp tương ứng với một dịch vụ tài khoản.

Thêm dịch vụ tài khoản vào bộ nhớ dùng chung (Team Drive)

Để quản lý các tệp (copy, duplicate...) vào bộ nhớ dùng chung của bạn với các tài khoản dịch vụ, bạn phải tạo một google group (định cấu hình nhóm đó theo ý bạn)


Bây giờ, để lấy email địa chỉ của các dịch vụ tài khoản, có nhiều cách để thực hiện:

Cách 1:

Windows

  • Mở PowerShell và cd vào thư mục bạn có sa (tệp .json)
  • Run:
$emails = Get-ChildItem .\**.json |Get-Content -Raw |ConvertFrom-Json |Select -ExpandProperty client_email >>emails.txt

Linux / MacOs

Run:
grep -oPh '"client_email": "\K[^"]+' *.json > emails.txt

Bây giờ cho tất cả mọi người:

Mở file email.txt, sao chép tất cả các email địa chỉ và thêm chúng vào google group mà bạn vừa tạo.
Lưu ý: Bạn chỉ có thể thêm 100 sa/members mỗi 24h trong nhóm google.
Bây giờ hãy thêm địa chỉ địa chỉ nhóm google của bạn vào Team Drive của bạn!

Cách 2:

  • Thêm Email Extractor tiện ích mở rộng vào trình duyệt của bạn: Chrome|FireFox
  • Đi tới Google Cloud Console, chọn dự án của bạn với các tài khoản dịch vụ và chuyển đến tab credentials (bạn sẽ thấy các tài khoản dịch vụ)
  • Cuộn xuống trang cuối và trong "Rows per page:" chọn 100.
  • Mở rộng sử dụng và sao chép tất cả email địa chỉ (bên ngoài địa chỉ của bạn) và thêm chúng vào nhóm google mà bạn vừa tạo.
  • Bạn chỉ có thể thêm 100 sa/thành viên mỗi 24h trong nhóm google.
Bây giờ hãy thêm địa chỉ địa chỉ nhóm google của bạn vào Team Drive của bạn!