Exemple #1
0
        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());
 }