diff --git a/.github/workflows/bi-connectors.yml b/.github/workflows/bi-connectors.yml new file mode 100644 index 0000000000..e23489e17a --- /dev/null +++ b/.github/workflows/bi-connectors.yml @@ -0,0 +1,52 @@ +name: Build connectors for BI tools + +on: + push: + paths: + - 'bi-connectors/PowerBIConnector/**' + - 'bi-connectors/TableauConnector/**' + - '.github/workflows/bi-connectors.yml' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Pack Tableau JDBC connector + id: pack-tableau-jdbc + run: | + zip -r opensearch_sql_jdbc.taco . -x *.taco + working-directory: bi-connectors/TableauConnector/opensearch_sql_jdbc + - name: Prepare Power BI ODBC connector + run: | + cp OpenSearch.pq OpenSearch.m + working-directory: bi-connectors/PowerBIConnector + - name: Pack Power BI ODBC connector + id: pack-powerbi-odbc-os-proj + run: | + zip OpenSearchProject.mez *.png *.m *.resx *.pqm + working-directory: bi-connectors/PowerBIConnector + - name: Prepare Power BI ODBC connector for 'Amazon OpenSearch Service' + id: prep-powerbi-odbc-amz-os-svc + run: | + sed -i 's/OpenSearch Project<\/value>/Amazon OpenSearch Service<\/value>/g' resources.resx + sed -i 's/Documentation.Name = "OpenSearch Project"/Documentation.Name = "Amazon OpenSearch Service"/g' OpenSearch.m + sed -i 's/OpenSearch\([^1-9]\)/AmazonOpenSearchConnector\1/g' OpenSearch.m + working-directory: bi-connectors/PowerBIConnector + - name: Pack Power BI ODBC connector for 'Amazon OpenSearch Service' + id: pack-powerbi-odbc-amz-os-svc + run: | + zip AmazonOpenSearchService.mez *.png *.m *.resx *.pqm + working-directory: bi-connectors/PowerBIConnector + - name: Upload Tableau JDBC connector + if: steps.pack-tableau-jdbc.outcome == 'success' + uses: actions/upload-artifact@v2 + with: + name: TableauConnectors + path: bi-connectors/TableauConnector/opensearch_sql_jdbc/opensearch_sql_jdbc.taco + - name: Upload Power BI ODBC connectors + if: steps.pack-powerbi-odbc-os-proj.outcome == 'success' || (steps.prep-powerbi-odbc-amz-os-svc.outcome == 'success' && steps.pack-powerbi-odbc-amz-os-svc.outcome == 'success') + uses: actions/upload-artifact@v2 + with: + name: PBIConnectors + path: 'bi-connectors/PowerBIConnector/*.mez' diff --git a/bi-connectors/PowerBIConnector/OpenSearch.pq b/bi-connectors/PowerBIConnector/OpenSearch.pq index 9154f331bb..2f123f376f 100644 --- a/bi-connectors/PowerBIConnector/OpenSearch.pq +++ b/bi-connectors/PowerBIConnector/OpenSearch.pq @@ -20,7 +20,7 @@ OpenSearchType = type function ( ]) ) as table meta [ - Documentation.Name = "OpenSearch" + Documentation.Name = "OpenSearch Project" ]; OpenSearchImpl = (Server as text) as table => @@ -170,7 +170,7 @@ OpenSearch = [ in { "OpenSearch.Contents", Server }, - // Authentication modes + // Authentication modes. Authentication = [ Implicit = [ Label = "NONE" @@ -184,7 +184,7 @@ OpenSearch = [ ] ], - // PBIDS Handler + // PBIDS Handler. DSRHandlers = [ #"opensearch-sql" = [ GetDSR = (server, schema, object, optional options) => [ protocol = "opensearch-sql", address = [ server = server ] ], @@ -197,7 +197,7 @@ OpenSearch = [ ] ], - // Enable Encryption + // Enable Encryption. SupportsEncryption = true, Label = Extension.LoadString("DataSourceLabel") @@ -222,7 +222,7 @@ OpenSearch.Icons = [ Icon32 = { Extension.Contents("OpenSearch32.png"), Extension.Contents("OpenSearch40.png"), Extension.Contents("OpenSearch48.png"), Extension.Contents("OpenSearch64.png") } ]; -// Load common library functions +// Load common library functions. Extension.LoadFunction = (name as text) => let binary = Extension.Contents(name), @@ -230,7 +230,7 @@ Extension.LoadFunction = (name as text) => in Expression.Evaluate(asText, #shared); -// Diagnostics module contains multiple functions. . +// Diagnostics module contains multiple functions. Diagnostics = Extension.LoadFunction("Diagnostics.pqm"); Diagnostics.LogValue = if (EnableTraceOutput) then Diagnostics[LogValue] else (prefix, value) => value; diff --git a/bi-connectors/PowerBIConnector/resources.resx b/bi-connectors/PowerBIConnector/resources.resx index 3642a474fe..3db608e458 100644 --- a/bi-connectors/PowerBIConnector/resources.resx +++ b/bi-connectors/PowerBIConnector/resources.resx @@ -121,9 +121,9 @@ Connect to OpenSearch - OpenSearch + OpenSearch Project - OpenSearch + OpenSearch Project \ No newline at end of file diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/META-INF/MANIFEST.MF b/bi-connectors/TableauConnector/opensearch_sql_jdbc/META-INF/MANIFEST.MF similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/META-INF/MANIFEST.MF rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/META-INF/MANIFEST.MF diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connection-fields.xml b/bi-connectors/TableauConnector/opensearch_sql_jdbc/connection-fields.xml similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connection-fields.xml rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/connection-fields.xml diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connection-metadata.xml b/bi-connectors/TableauConnector/opensearch_sql_jdbc/connection-metadata.xml similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connection-metadata.xml rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/connection-metadata.xml diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connectionBuilder.js b/bi-connectors/TableauConnector/opensearch_sql_jdbc/connectionBuilder.js similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connectionBuilder.js rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/connectionBuilder.js diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connectionResolver.tdr b/bi-connectors/TableauConnector/opensearch_sql_jdbc/connectionResolver.tdr similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/connectionResolver.tdr rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/connectionResolver.tdr diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/dialect.tdd b/bi-connectors/TableauConnector/opensearch_sql_jdbc/dialect.tdd similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/dialect.tdd rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/dialect.tdd diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/manifest.xml b/bi-connectors/TableauConnector/opensearch_sql_jdbc/manifest.xml similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/manifest.xml rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/manifest.xml diff --git a/sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/opensearch_sql_jdbc_dev.taco b/bi-connectors/TableauConnector/opensearch_sql_jdbc/opensearch_sql_jdbc_dev.taco similarity index 100% rename from sql-jdbc/src/TableauConnector/opensearch_sql_jdbc/opensearch_sql_jdbc_dev.taco rename to bi-connectors/TableauConnector/opensearch_sql_jdbc/opensearch_sql_jdbc_dev.taco diff --git a/bi-connectors/TableauConnector/opensearch_sql_odbc/README.md b/bi-connectors/TableauConnector/opensearch_sql_odbc/README.md deleted file mode 100644 index c136140744..0000000000 --- a/bi-connectors/TableauConnector/opensearch_sql_odbc/README.md +++ /dev/null @@ -1,8 +0,0 @@ -## opensearch_sql_odbc - -The connector files in `opensearch_sql_odbc` can be used to connect to OpenSearch server in Tableau. - -* These connector files remove and modify a set of unsupported functions and operations. -* It includes set of capabilities to customize and tune connector behavior - -To use this connector with Tableau, [Package the connector](https://tableau.github.io/connector-plugin-sdk/docs/package-sign) and [Run Packaged Connector (TACO file)](https://tableau.github.io/connector-plugin-sdk/docs/run-taco) \ No newline at end of file diff --git a/bi-connectors/TableauConnector/opensearch_sql_odbc/connection-dialog.tcd b/bi-connectors/TableauConnector/opensearch_sql_odbc/connection-dialog.tcd deleted file mode 100644 index f7ae8da245..0000000000 --- a/bi-connectors/TableauConnector/opensearch_sql_odbc/connection-dialog.tcd +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - diff --git a/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionBuilder.js b/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionBuilder.js deleted file mode 100644 index b5a04d1777..0000000000 --- a/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionBuilder.js +++ /dev/null @@ -1,42 +0,0 @@ -(function dsbuilder(attr){ - var params = {}; - - // Set host information in connection string - params["SERVER"] = attr[connectionHelper.attributeServer]; - params["PORT"] = attr[connectionHelper.attributePort]; - - // Set authentication values in connection string - var authAttrValue = attr[connectionHelper.attributeAuthentication]; - params["Auth"] = attr[connectionHelper.attributeAuthentication]; - if (authAttrValue == "AWS_SIGV4"){ - params["Region"] = attr[connectionHelper.attributeVendor1]; - } else if (authAttrValue == "BASIC"){ - params["UID"] = attr[connectionHelper.attributeUsername]; - params["PWD"] = attr[connectionHelper.attributePassword]; - } - - // Set SSL value in connection string - if (attr[connectionHelper.attributeSSLMode] == "require"){ - params["useSSL"] = "1"; - } else { - params["useSSL"] = "0"; - } - - // Parse additional options and add in connection string - var odbcConnectStringExtrasMap = {}; - const attributeODBCConnectStringExtras = "vendor2"; - if (attributeODBCConnectStringExtras in attr){ - odbcConnectStringExtrasMap = connectionHelper.ParseODBCConnectString(attr[attributeODBCConnectStringExtras]); - } - for (var key in odbcConnectStringExtrasMap){ - params[key] = odbcConnectStringExtrasMap[key]; - } - - // Format the attributes as 'key=value' - var formattedParams = []; - formattedParams.push(connectionHelper.formatKeyValuePair(driverLocator.keywordDriver, driverLocator.locateDriver(attr))); - for (var key in params){ - formattedParams.push(connectionHelper.formatKeyValuePair(key, params[key])); - } - return formattedParams; -}) diff --git a/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionResolver.tdr b/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionResolver.tdr deleted file mode 100644 index 68c376270c..0000000000 --- a/bi-connectors/TableauConnector/opensearch_sql_odbc/connectionResolver.tdr +++ /dev/null @@ -1,27 +0,0 @@ - - - - -