این راهنما بهترین شیوهها را برای ساخت یک ابزار سفارشی برای وارد کردن انبوه فایلهای رمزگذاری شده سمت کلاینت (CSE) با استفاده از Drive API پوشش میدهد.
برای مهاجرتهای سلف سرویس، درایو دسکتاپ را در نظر بگیرید
کاربر میتواند با استفاده از کلاینت درایو برای دسکتاپ ، فایلها را از دستگاه محلی خود وارد کند. این کلاینت به طور کامل از رمزگذاری سمت کلاینت پشتیبانی میکند و به کاربران اجازه میدهد تا خودشان فایلها را رمزگذاری و آپلود کنند. ساخت یک ابزار سفارشی همانطور که در این راهنما توضیح داده شده است، فقط برای واردات انبوه در مقیاس بزرگ، بدون نظارت یا چند کاربره ضروری است.
قبل از اینکه شروع کنی
شما باید نحوه مدیریت یک فایل رمزگذاری شده سمت کلاینت را درک کنید. برای یادگیری مراحل اساسی رمزگذاری، آپلود/دانلود و رمزگشایی، از جمله تولید توکن و تعامل با سرویس لیست کنترل دسترسی کلیدی (KACLS)، مدیریت فایلهای CSE را به صورت جداگانه مرور کنید.
احراز هویت با استفاده از حساب کاربری سرویس
هنگام تعامل با API درایو، از یک حساب کاربری سرویس با قابلیت واگذاری اختیارات در سطح دامنه استفاده کنید. این به برنامه شما اجازه میدهد تا هویت کاربران را جعل کند، بنابراین میتوانید به صورت برنامهنویسی شده از طریق آنها حلقه بزنید و فایلها را مستقیماً از طرف آنها آپلود کنید.
ساختار دایرکتوری را از نو بسازید
ابزار وارد کردن خود را طوری طراحی کنید که به صورت بازگشتی فایلها و پوشههای منبع را پیمایش کند تا ساختار دایرکتوری موجود را روی Drive منعکس کند. فرآیند سطح بالا به شرح زیر است:
- برای هر دایرکتوری منبع، یک پوشه Drive مربوطه ایجاد کنید.
- فایلهای دایرکتوری را رمزگذاری کرده و در پوشهی ایجاد شدهی Drive آپلود کنید .
- این فرآیند را برای زیرشاخهها تکرار کنید.
فایلها را در جای مناسب آپلود کنید
همیشه فایلها را در My Drive کاربر یا یک Shared Drive قابل دسترسی آپلود کنید. برای یافتن شناسه Shared Drive یا پوشه، آن را به صورت ایستا از URL وب Drive یا به صورت پویا با استفاده از متدهای drives.list و files.list پیدا کنید.
جلوگیری از کپیبرداری
درایو به چندین فایل در یک پوشه اجازه میدهد تا دقیقاً نام فایل یکسانی را به اشتراک بگذارند. قبل از آپلود، برای فایلهای خود شناسه ایجاد کنید. میتوانید از متد files.generateIds در API درایو برای انجام این کار استفاده کنید.
با ذخیره این شناسههای از پیش تولید شده، واردکننده شما میتواند هر فایل را با شناسه خاص خود بارگذاری کند. اگر فایلی با آن شناسه از قبل وجود داشته باشد، ابزار شما میتواند با خیال راحت از آن صرف نظر کند. استفاده از شناسههای از پیش تولید شده به ابزار شما کمک میکند تا از خرابی رهایی یابد.
قبل از هر آپلود، یک توکن CSE درخواست کنید
بلافاصله قبل از بستهبندی کلید و آپلود فایل، برای هر فایل، تابع generateCseToken را فراخوانی کنید. این رویکرد تضمین میکند که توکن به طور دقیق وضعیت فعلی فرادادههای مرتبط را که میتوانند تغییر کنند، منعکس میکند.
برای فایلهای بزرگ از قابلیت از سرگیری آپلود استفاده کنید
برای انتقال فایلهای بزرگ از قابلیت از سرگیری آپلود در Drive API استفاده کنید. آپلودهای از سرگیری به واردکننده شما این امکان را میدهد که در صورت قطع شبکه، بخشهای ناموفق را دوباره امتحان کند، به جای اینکه کل آپلود فایل را از ابتدا شروع کند.
بازیابی مجوزهای اشتراکگذاری
اگر ابزار وارد کردن فایلها به صورت دستهای نیاز به حفظ مجوزهای اشتراکگذاری دارد، ابتدا فایل را رمزگذاری و آپلود کنید و سپس متد permissions.create را فراخوانی کنید. مجوزهای اشتراکگذاری در طول خود آپلود فایل اعمال نمیشوند.
مدیریت انقضای توکن
برای عملیات طولانی مدت، اسکریپت شما ممکن است به دلیل انقضای توکن با خطاهای احراز هویت مواجه شود. منطقی را پیادهسازی کنید تا توکنهای دسترسی به طور خودکار بهروزرسانی شوند و آپلودها دوباره امتحان شوند. برای جزئیات بیشتر، به مثال متنبازی که نحوه رمزگذاری و آپلود یک فایل واحد را نشان میدهد، مراجعه کنید.
اعتبارسنجی کامل فایلهای وارد شده
پس از وارد کردن فایلهای حجیم، اعتبارسنجی کاملی انجام دهید. گوگل نمیتواند فایلهای شما را در سمت سرور رمزگشایی و اعتبارسنجی کند. بخش اعتبارسنجی فایلهای وارد شده، چندین روش برای بررسی دقیق فایلهای تکی را شرح میدهد.
یک روش دیگر برای تأیید در مقیاس بزرگ، که به ویژه پس از واردات عمده مفید است، شامل استفاده از ابزار رمزگشایی رسمی است. ابتدا، محتوای رمزگذاری شده را از Drive با استفاده از Google Takeout دانلود کنید. سپس، با استفاده از ابزار رمزگشایی، رمزگشایی را امتحان کنید. این فرآیند به شناسایی فایلهایی که قابل رمزگشایی نیستند کمک میکند و به مشکلات احتمالی در رمزگذاری یا منطق بستهبندی کلید ابزار واردات شما اشاره دارد.
محدودیتها و سهمیهها را درک کنید
فایلهای رمزگذاری شده سمت کلاینت مشمول محدودیتها و سهمیههای استاندارد درایو هستند. از محدودیتهای درایو مشترک ، محدودیتهای کلی فایل و پوشه و نحوه مدیریت سهمیه خود آگاه باشید. علاوه بر این، ابزار وارد کردن شما باید محدودیتهای نرخ را از سرویس لیست کنترل دسترسی کلیدی (KACLS) و ارائه دهنده هویت (IdP) شما مدیریت کند.