אחרי שקובצי הנתונים המובנים יסיימו את ההפקה בהצלחה, מורידים את קובץ ZIP שנוצר ממיקום המשאב שצוין באמצעות media.download.
כך מאתרים את מיקום הקובץ ומורידים את הקובץ ZIP:
# Import the object used for media download. from googleapiclient import http as googleHttp # Provide the name of the successfully completed sdfdownloadtask operation. operation_name = operation-name # Provide the path for the output file. output_path = output-path # Retrieve the completed operation. operation = service.sdfdownloadtasks().operations().get(operation_name ).execute() # Retrieve the file location from the operation. file_location = operation["response"]["resourceName"] # Configure the media.download request. download_request = service.media().download_media(resourceName=file_location) # Create output stream for downloaded file. out_stream = io.FileIO(output_path, mode='wb') # Build downloader object. downloader = googleHttp.MediaIoBaseDownload(out_stream, download_request) # Download file in chunks until finished. download_finished = False while download_finished is False: _, download_finished = downloader.next_chunk() print(f'File downloaded at {output_path}.')
חילוץ קבצים
מבטלים את הדחיסה של קובץ ZIP שהורד כדי לחלץ את קובצי הנתונים המובְנים שנוצרו. יש להם שמות כלליים שמזהים את סוג הקובץ, כמו
SDF-LineItems.csv.
אם לא ניתן לכלול נתונים של משאב מבוקש בקובץ הנתונים המובנה שנוצר, קובץ ZIP יכלול גם קובץ 'Skipped' (דילוג) עבור אותו משאב, כמו SDF-LineItems-Skipped.csv. קובצי 'דילוג' בנויים משתי עמודות. העמודה הראשונה מזהה את המשאב שדילגו עליו, והעמודה השנייה מכילה את הודעת השגיאה שמסבירה למה הוא לא נכלל.