func bq_view_prep_ddl()

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
}