הורדת קובץ

אחרי שקובצי הנתונים המובנים יסיימו את ההפקה בהצלחה, מורידים את קובץ 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. קובצי 'דילוג' בנויים משתי עמודות. העמודה הראשונה מזהה את המשאב שדילגו עליו, והעמודה השנייה מכילה את הודעת השגיאה שמסבירה למה הוא לא נכלל.