Download file

File Data Terstruktur (SDF) yang dihasilkan disimpan dalam file ZIP. Download file ini menggunakan nilai di kolom response.resourceName dari Operation yang berhasil menggunakan media.download.

Berikut cara mendownload file SDF ZIP:

Java

// Provide the name of the finished sdfdownloadtask operation.
String operationName = operation-name;

// Provide the path for the output file.
String outputFile = output-file;

// Retrieve the resource location from the finished operation.
Operation operation = service.sdfdownloadtasks().operations().get(operationName).execute();
String fileLocation = operation.getResponse().get("resourceName").toString();

// Configure the Media.download request.
Media.Download downloadRequest = service.media().download(fileLocation);

// Create output stream for downloaded file.
FileOutputStream outStream = new FileOutputStream(outputFile);

// Download file.
downloadRequest.executeMediaAndDownloadTo(outStream);
System.out.printf("File downloaded at %s", outputFile);

Python

# 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(name=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}.")

PHP

// Provide the name of the finished sdfdownloadtask operation.
$operationName = operation-name;

// Provide the path for the output file.
$outputFile = output-file;

try {
    // Call the API, retrieving the SDF Download Task.
    $operation = $this->service->sdfdownloadtasks_operations->get(
        $operationName
    );

    $fileLocation = $operation->getResponse()['resourceName'];

    $client = $this->service->getClient();
    $client->setDefer(true);

    $request = $this->service->media->download(
        $fileLocation,
        array('alt' => 'media')
    );

    // Call the API, getting the generated SDF.
    $response = $client->execute($request);
    $responseBody = $response->getBody();

    // Writes the downloaded file. If the file already exists, it is
    // overwritten.
    file_put_contents($outputFile, $responseBody);
    $client->setDefer(false);

} catch (\Exception $e) {
    $this->renderError($e);
    return;
}

printf('<p>File downloaded at %s</p>', $outputFile);

Mengekstrak file

Ekstrak SDF yang dihasilkan dari file ZIP. SDF menggunakan nama file generik yang mengidentifikasi jenisnya. SDF item baris diberi nama SDF-LineItems.csv.

File ZIP dapat menyertakan file "Dilewati" untuk setiap jenis file. File "Dilewati" mengidentifikasi aset yang tidak disertakan dalam SDF. Nama file tersebut menggunakan akhiran -Skipped. File ini memiliki struktur dua kolom. Kolom pertama mengidentifikasi resource yang dilewati. Kolom kedua menjelaskan pengecualiannya.