OutputConfig specifies how an export operation transforms API resources into bytes and transports those bytes to external storage. It keeps serialization, compression, encryption, and file-splitting settings separate from the DataDestination that handles storage access. section 23.2 section 23.3.3
Use OutputConfig to control the exported representation, while keeping resource selection outside the configuration.
- Choose a serialization format such as JSON or CSV. section 23.3.3
- Configure compression, including ZIP or BZ2, and optionally apply other transformations such as encryption. section 23.2 section 23.3.3
- Define filename templates and maximum file sizes when one export may produce multiple files. section 23.3.3
- Keep filters on the export request rather than inside OutputConfig; filtering selects resources before serialization. section 23.3.8
Exporting Message resources
An export request can combine a MessageOutputConfig with a DataDestination and a filter. For example, configure CSV output with a filename template such as "messages-part-${number}", a maximum file size, and ZIP compression, then export only matching resources. section 23.3.3 section 23.3.8
Listing 23.6 Example input and output configuration for Message resources
interface MessageInputConfig { #1
// The content type of the input.
// Choices: "json", "csv", undefined (auto-detected)
contentType?: string;
// Choices: "zip", "bz2", undefined (not compressed)
compressionFormat?: string;
}
interface MessageOutputConfig { #1
// The content type for serialization.
// Choices: "json", "csv", undefined for default.
contentType?: string;
// Use ${number} for a zero-padded file ID number.
// Content type will be appended with file extension (e.g., ".json").
// Default: "messages-part-${number}"
filenameTemplate?: string;
maxFileSizeMb?: number;
// Choices: "zip", "bz2", undefined (not compressed)
compressionFormat?: string;
}
Use the configuration listing to inspect the complete Message-specific shape and its defaults. section 23.3.3
