@@ -642,6 +642,26 @@ func TestAccBigQueryTable_MaterializedView_NonIncremental_basic(t *testing.T) {
642
642
})
643
643
}
644
644
645
+ func TestAccBigQueryExternalDataTable_deltaLake (t * testing.T ) {
646
+ t .Parallel ()
647
+
648
+ bucketName := acctest .TestBucketName (t )
649
+
650
+ datasetID := fmt .Sprintf ("tf_test_%s" , acctest .RandString (t , 10 ))
651
+ tableID := fmt .Sprintf ("tf_test_%s" , acctest .RandString (t , 10 ))
652
+
653
+ acctest .VcrTest (t , resource.TestCase {
654
+ PreCheck : func () { acctest .AccTestPreCheck (t ) },
655
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories (t ),
656
+ CheckDestroy : testAccCheckBigQueryTableDestroyProducer (t ),
657
+ Steps : []resource.TestStep {
658
+ {
659
+ Config : testAccBigQueryTableFromGCSDeltaLake (datasetID , tableID , bucketName ),
660
+ },
661
+ },
662
+ })
663
+ }
664
+
645
665
func TestAccBigQueryExternalDataTable_parquet (t * testing.T ) {
646
666
t .Parallel ()
647
667
@@ -2644,6 +2664,44 @@ resource "google_bigquery_table" "test" {
2644
2664
` , connectionID , datasetID , bucketName , objectName , tableID , metadataCacheMode , maxStaleness )
2645
2665
}
2646
2666
2667
+ func testAccBigQueryTableFromGCSDeltaLake (datasetID , tableID , bucketName string ) string {
2668
+ return fmt .Sprintf (`
2669
+ resource "google_bigquery_dataset" "test" {
2670
+ dataset_id = "%s"
2671
+ }
2672
+
2673
+ resource "google_storage_bucket" "test" {
2674
+ name = "%s"
2675
+ location = "US"
2676
+ force_destroy = true
2677
+ }
2678
+
2679
+ # Setup Empty Delta Lake table in Bucket.
2680
+
2681
+ // Upload Metadata File.
2682
+ resource "google_storage_bucket_object" "metadata" {
2683
+ name = "_delta_log/00000000000000000000.json"
2684
+ source = "./test-fixtures/simple/metadata/00000000000000000000.json"
2685
+ bucket = google_storage_bucket.test.name
2686
+ }
2687
+
2688
+ resource "google_bigquery_table" "test" {
2689
+ deletion_protection = false
2690
+ table_id = "%s"
2691
+ dataset_id = google_bigquery_dataset.test.dataset_id
2692
+ external_data_configuration {
2693
+ autodetect = true
2694
+ source_format = "DELTA_LAKE"
2695
+ reference_file_schema_uri = "gs://${google_storage_bucket.test.name}/${google_storage_bucket_object.metadata.name}"
2696
+
2697
+ source_uris = [
2698
+ "gs://${google_storage_bucket.test.name}/*",
2699
+ ]
2700
+ }
2701
+ }
2702
+ ` , datasetID , bucketName , tableID )
2703
+ }
2704
+
2647
2705
func testAccBigQueryTableFromGCSParquet (datasetID , tableID , bucketName , objectName string ) string {
2648
2706
return fmt .Sprintf (`
2649
2707
resource "google_bigquery_dataset" "test" {
0 commit comments