Ten przewodnik zawiera sprawdzone metody tworzenia niestandardowego narzędzia do zbiorczego importowania plików zaszyfrowanych po stronie klienta za pomocą interfejsu Drive API.
Rozważ użycie Dysku na komputer do samodzielnego przeprowadzania migracji
Użytkownik może importować pliki z komputera lokalnego za pomocą klienta Dysk na komputer. Obsługuje on w pełni szyfrowanie po stronie klienta i umożliwia użytkownikom samodzielne szyfrowanie i przesyłanie plików. Utworzenie niestandardowego narzędzia zgodnie z opisem w tym przewodniku jest konieczne tylko w przypadku importu zbiorczego na dużą skalę, bez nadzoru lub przez wielu użytkowników.
Zanim zaczniesz
Musisz wiedzieć, jak zarządzać pojedynczym plikiem zaszyfrowanym po stronie klienta. Zapoznaj się z artykułem Zarządzanie pojedynczymi plikami zaszyfrowanymi po stronie klienta, aby poznać podstawowe kroki szyfrowania, przesyłania i pobierania oraz odszyfrowywania, w tym generowania tokenów i interakcji z usługą listy kontroli dostępu do kluczy (KACLS).
Uwierzytelnianie za pomocą konta usługi
Podczas interakcji z interfejsem Drive API używaj konta usługi z delegowaniem w całej domenie. Umożliwia to aplikacji podszywanie się pod użytkowników, dzięki czemu możesz programowo przechodzić przez nich i przesyłać pliki bezpośrednio w ich imieniu.
Odtwarzanie struktury katalogów
Zaprojektuj narzędzie do importowania tak, aby rekurencyjnie przechodziło przez pliki i foldery źródłowe, aby odzwierciedlić istniejącą strukturę katalogów na Dysku. Proces na wysokim poziomie wygląda tak:
- Utwórz odpowiedni folder na Dysku dla każdego katalogu źródłowego.
- Zaszyfruj i prześlij pliki z katalogu do utworzonego folderu na Dysku.
- Powtórz ten proces w przypadku podkatalogów.
Przesyłanie plików we właściwe miejsce
Zawsze przesyłaj pliki na Mój dysk właściwego użytkownika lub na dostępny dysk współdzielony. Aby znaleźć dysk współdzielony lub identyfikator folderu, znajdź go statycznie w adresie URL Dysku w przeglądarce lub dynamicznie za pomocą metod drives.list i files.list.
Zapobieganie duplikatom
Dysk umożliwia udostępnianie dokładnie tej samej nazwy pliku przez wiele plików w tym samym folderze. Przed przesłaniem wygeneruj identyfikatory plików. Możesz to zrobić za pomocą metody files.generateIds interfejsu Drive API.
Dzięki przechowywaniu tych wstępnie wygenerowanych identyfikatorów importer może próbować przesłać każdy plik do jego konkretnego identyfikatora. Jeśli plik o tym identyfikatorze już istnieje, narzędzie może go bezpiecznie pominąć. Używanie wstępnie wygenerowanych identyfikatorów pomoże narzędziu odzyskać sprawność po awarii.
Żądanie tokena szyfrowania po stronie klienta przed każdym przesłaniem
Wywołaj generateCseToken dla każdego pliku bezpośrednio przed zawijaniem klucza i przesłaniem pliku. Dzięki temu token dokładnie odzwierciedla bieżący stan powiązanych metadanych, które mogą się zmieniać.
Używanie przesyłania z możliwością wznowienia w przypadku dużych plików
Do migracji dużych plików używaj przesyłania z możliwością wznowienia w interfejsie Drive API. Przesyłanie z możliwością wznowienia umożliwia importerowi ponawianie nieudanych fragmentów podczas przerw w sieci, zamiast ponownego uruchamiania całego przesyłania pliku.
Przywracanie uprawnień do udostępniania
Jeśli narzędzie do importu zbiorczego musi zachować uprawnienia do udostępniania, najpierw zaszyfruj i prześlij plik, a potem wywołaj metodę permissions.create.
Uprawnienia do udostępniania nie są stosowane podczas przesyłania pliku.
Obsługa wygaśnięcia tokena
W przypadku długotrwałych operacji skrypt może napotkać błędy uwierzytelniania spowodowane wygaśnięciem tokena. Zaimplementuj logikę automatycznego odświeżania tokenów dostępu i ponawiania przesyłania. Więcej informacji znajdziesz w przykładzie open source, który pokazuje jak zaszyfrować i przesłać pojedynczy plik.
Dokładne sprawdzanie zaimportowanych plików
Po imporcie zbiorczym przeprowadź dokładną weryfikację. Google nie może odszyfrować i zweryfikować Twoich plików po stronie serwera. W sekcji Sprawdzanie zaimportowanych plików znajdziesz szczegółowe informacje o kilku metodach sprawdzania poszczególnych plików.
Dodatkową metodą weryfikacji na dużą skalę, szczególnie przydatną po imporcie zbiorczym, jest użycie oficjalnego narzędzia do odszyfrowywania. Najpierw pobierz zaszyfrowane treści z Dysku za pomocą Google Takeout. Następnie spróbuj odszyfrować je za pomocą narzędzia do odszyfrowywania. Ten proces pomaga zidentyfikować pliki, których nie można odszyfrować, co wskazuje na potencjalne problemy z szyfrowaniem lub logiką zawijania kluczy w narzędziu do importowania.
Omówienie limitów i przydziałów
Pliki zaszyfrowane po stronie klienta podlegają standardowym limitom i przydziałom Dysku. Zapoznaj się z limitami dysków współdzielonych, ogólnymi limitami plików i folderów, oraz sposobami zarządzania przydziałem. Narzędzie do importowania musi też obsługiwać limity szybkości w usłudze listy kontroli dostępu do kluczy (KACLS) i u dostawcy tożsamości.