Google Cloud Dataflow · Schema
Google Cloud Dataflow Template
Metadata describing a Dataflow template, including its name, description, parameters, and streaming capability. Templates define reusable pipeline structures that can be launched with different runtime parameters.
Apache BeamBatch ProcessingBig DataData ProcessingETLStream Processing
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Required. The name of the template. |
| description | string | Optional. A description of the template. |
| parameters | array | The parameters for the template, defining inputs that can be configured at launch time. |
| streaming | boolean | If true, this template processes unbounded data streams. |
| supportsAtLeastOnce | boolean | If true, this template supports at-least-once processing. |
| supportsExactlyOnce | boolean | If true, this template supports exactly-once processing. |
| defaultStreamingMode | string | The default streaming mode for the template. |
| templateType | string | The type of the template. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-search/google-cloud-dataflow/json-schema/google-cloud-dataflow-template-schema.json",
"title": "Google Cloud Dataflow Template",
"description": "Metadata describing a Dataflow template, including its name, description, parameters, and streaming capability. Templates define reusable pipeline structures that can be launched with different runtime parameters.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Required. The name of the template."
},
"description": {
"type": "string",
"description": "Optional. A description of the template."
},
"parameters": {
"type": "array",
"description": "The parameters for the template, defining inputs that can be configured at launch time.",
"items": {
"$ref": "#/$defs/ParameterMetadata"
}
},
"streaming": {
"type": "boolean",
"description": "If true, this template processes unbounded data streams."
},
"supportsAtLeastOnce": {
"type": "boolean",
"description": "If true, this template supports at-least-once processing."
},
"supportsExactlyOnce": {
"type": "boolean",
"description": "If true, this template supports exactly-once processing."
},
"defaultStreamingMode": {
"type": "string",
"description": "The default streaming mode for the template."
},
"templateType": {
"type": "string",
"description": "The type of the template.",
"enum": [
"UNKNOWN",
"LEGACY",
"FLEX"
]
}
},
"required": ["name"],
"$defs": {
"ParameterMetadata": {
"type": "object",
"description": "Metadata for a specific parameter used by a template.",
"properties": {
"name": {
"type": "string",
"description": "Required. The name of the parameter."
},
"label": {
"type": "string",
"description": "Required. The label to display for the parameter."
},
"helpText": {
"type": "string",
"description": "Required. Help text to display for the parameter."
},
"isOptional": {
"type": "boolean",
"description": "Optional. Whether the parameter is optional. Defaults to false."
},
"regexes": {
"type": "array",
"description": "Optional. Regular expressions used to validate the parameter value.",
"items": {
"type": "string"
}
},
"paramType": {
"type": "string",
"description": "The type of the parameter.",
"enum": [
"DEFAULT",
"TEXT",
"GCS_READ_BUCKET",
"GCS_WRITE_BUCKET",
"GCS_READ_FILE",
"GCS_WRITE_FILE",
"GCS_READ_FOLDER",
"GCS_WRITE_FOLDER",
"PUBSUB_TOPIC",
"PUBSUB_SUBSCRIPTION",
"BIGQUERY_TABLE",
"JAVASCRIPT_UDF_FILE",
"SERVICE_ACCOUNT",
"MACHINE_TYPE",
"KMS_KEY_NAME",
"WORKER_REGION",
"WORKER_ZONE",
"BOOLEAN",
"ENUM",
"NUMBER",
"KAFKA_TOPIC",
"KAFKA_READ_TOPIC",
"KAFKA_WRITE_TOPIC"
]
}
},
"required": ["name", "label", "helpText"]
}
}
}