in analytics-hub/snippets/create_listing_golang/main.go [373:393]
func bq_view_prep_ddl(projectID string, datasetID string, sourceTableID string, dstTableID string, privacyUnitColumn string) string {
createViewDDLTemplate := `CREATE OR REPLACE VIEW {{.projectID}}.{{.datasetID}}.{{.dstTableID}}
OPTIONS(
privacy_policy= '{"aggregation_threshold_policy": {"threshold": 3, "privacy_unit_column": "{{.privacyUnitColumn}}"}}'
)
AS ( SELECT * FROM {{.projectID}}.{{.datasetID}}.{{.sourceTableID}} );`
t := template.Must(template.New("createViewDDL").Parse(createViewDDLTemplate))
buf := &bytes.Buffer{}
data := map[string]interface{}{
"projectID": projectID,
"datasetID": datasetID,
"sourceTableID": sourceTableID,
"dstTableID": dstTableID,
"privacyUnitColumn": privacyUnitColumn,
}
if err := t.Execute(buf, data); err != nil {
panic(err)
}
s := buf.String()
return s
}