ImportSQL handles the full flow:
- MD5 etag calculation.
- Import init.
- SQL upload to presigned URL.
- Import ingest.
- Poll until complete.
data, err := os.ReadFile("dump.sql")
res, err := client.ImportSQL(ctx, "", data, 2*time.Second)Manual flow:
etag := d1http.MD5Hex(data)
initRes, err := client.InitImport(ctx, "", etag)
err = client.UploadImportSQL(ctx, initRes.UploadURL, data)
ingestRes, err := client.IngestImport(ctx, "", etag)res, err := client.ExportUntilComplete(ctx, "", d1http.ExportRequest{
OutputFormat: "polling",
}, 2*time.Second)Schema-only:
res, err := client.ExportUntilComplete(ctx, "", d1http.ExportRequest{
OutputFormat: "polling",
DumpOptions: &d1http.DumpOptions{NoData: true},
}, 2*time.Second)