public static void BindDatasourceToGatewayDatasource(Guid WorkspaceId, string DatasetId) { var pbiClient = TokenManager.GetPowerBiAppOnlyClient(); IList <Dataset> datasets = pbiClient.Datasets.GetDatasetsInGroup(WorkspaceId).Value; var dataset = datasets.Where(ds => ds.Id.Equals(DatasetId)).Single(); Console.WriteLine(dataset.Name); Console.WriteLine(); IList <Datasource> datasources = pbiClient.Datasets.GetDatasourcesInGroup(WorkspaceId, DatasetId).Value; foreach (var ds in datasources) { if (ds.DatasourceType.Equals("Sql")) { BindToGatewayRequest req = new BindToGatewayRequest((Guid)ds.GatewayId); pbiClient.Datasets.BindToGatewayInGroup(WorkspaceId, DatasetId, req); } } Console.WriteLine(); }
/// <summary> /// Bind dataset to gateway /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='groupId'> /// The group id /// </param> /// <param name='datasetKey'> /// The dataset id /// </param> /// <param name='bindToGatewayRequest'> /// The bind to gateway request /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <object> BindToGatewayAsync(this IDatasets operations, string groupId, string datasetKey, BindToGatewayRequest bindToGatewayRequest, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BindToGatewayInGroupWithHttpMessagesAsync(groupId, datasetKey, bindToGatewayRequest, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Bind dataset to gateway /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='groupId'> /// The group id /// </param> /// <param name='datasetKey'> /// The dataset id /// </param> /// <param name='bindToGatewayRequest'> /// The bind to gateway request /// </param> public static object BindToGateway(this IDatasets operations, string groupId, string datasetKey, BindToGatewayRequest bindToGatewayRequest) { return(operations.BindToGatewayAsync(groupId, datasetKey, bindToGatewayRequest).GetAwaiter().GetResult()); }