W tym przewodniku przedstawiamy sprawdzone metody tworzenia niestandardowego narzędzia do importowania zbiorczego plików zaszyfrowanych po stronie klienta za pomocą interfejsu Drive API.
Rozważ użycie Dysku na komputer do samodzielnego przeprowadzenia migracji
Użytkownik może importować pliki z komputera lokalnego za pomocą klienta Dysk na komputer. W pełni obsługuje szyfrowanie po stronie klienta i umożliwia użytkownikom samodzielne szyfrowanie i przesyłanie plików. Tworzenie 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 poszczególnymi 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 korzystania z interfejsu Drive API używaj konta usługi z przekazywaniem dostępu w całej domenie. Umożliwia to aplikacji podszywanie się pod użytkowników, dzięki czemu możesz programowo przeglądać ich konta i przesyłać pliki bezpośrednio w ich imieniu.
Odtwórz strukturę katalogów
Zaprojektuj narzędzie do importowania tak, aby rekurencyjnie przeglądało pliki i foldery źródłowe w celu odzwierciedlenia istniejącej struktury katalogów na Dysku. Proces ten wygląda następująco:
- Dla każdego katalogu źródłowego utwórz odpowiedni folder na Dysku Google.
- 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 odpowiedniego użytkownika lub na dostępny dysk współdzielony. Aby znaleźć identyfikator dysku współdzielonego lub folderu, wyszukaj go statycznie w adresie URL Dysku w internecie lub dynamicznie za pomocą metod drives.list i files.list.
Zapobieganie duplikatom
Dysk umożliwia udostępnianie dokładnie tej samej nazwy pliku wielu plikom w tym samym folderze. Wygeneruj identyfikatory plików przed przesłaniem. W tym celu możesz użyć 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.
Przed każdym przesłaniem poproś o token CSE
Wywołaj funkcję generateCseToken dla każdego pliku bezpośrednio przed zawijaniem klucza i przesłaniem pliku. Dzięki temu token będzie dokładnie odzwierciedlał bieżący stan powiązanych metadanych, które mogą się zmieniać.
Używanie przesyłania możliwego do wznowienia w przypadku dużych plików
Do przenoszenia dużych plików używaj interfejsu Drive API z możliwością wznawiania przesyłania. Wznawialne przesyłanie umożliwia importerowi ponawianie nieudanych fragmentów podczas przerw w działaniu sieci, zamiast ponownego przesyłania całego 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 następnie 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 z powodu wygaśnięcia 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ładnie sprawdzaj zaimportowane pliki
Po zaimportowaniu zbiorczym przeprowadź dokładną weryfikację. Google nie może odszyfrować ani zweryfikować plików po stronie serwera. W sekcji Sprawdzanie poprawności zaimportowanych plików znajdziesz szczegółowe informacje o kilku metodach sprawdzania poszczególnych plików.
Dodatkowa metoda weryfikacji na dużą skalę, szczególnie przydatna po imporcie zbiorczym, polega na użyciu oficjalnego narzędzia do odszyfrowywania. Najpierw pobierz zaszyfrowane treści z Dysku za pomocą Google Takeout. Następnie spróbuj odszyfrować plik 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.
Informacje o limitach
Pliki zaszyfrowane po stronie klienta podlegają standardowym limitom i kwotom Dysku. Zapoznaj się z limitami dysków współdzielonych, ogólnymi limitami plików i folderów oraz dowiedz się, jak zarządzać limitem miejsca. Dodatkowo narzędzie do importowania musi obsługiwać limity szybkości z usługi listy kontroli dostępu do kluczy (KACLS) i dostawcy tożsamości.