Gateways - Create Datasource

Создает новый источник данных в указанном локальном шлюзе.


Учетные данные локального источника данных должны быть зашифрованы. Параметру encryptedConnection необходимо задать значение Encrypted , а учетные данные должны быть зашифрованы с помощью открытого ключа шлюза.

Пример использования этого API см. в статье Создание скрипта PowerShell dataSource шлюза . Этот скрипт использует сценарий PowerShell, упомянутый в примечании ниже, для шифрования учетных данных.

Примечание

Сведения о шифровании учетных данных см. в статье Настройка учетных данных программным способом для Power BI и примеры EncryptCredentials .NET Core, Java, Python и PowerShell .

Разрешения

Поддерживает только локальные шлюзы, и пользователь должен иметь разрешения администратора шлюза.

Требуемая область

Dataset.ReadWrite.All

Ограничения

  • Шлюзы виртуальной сети и облачные шлюзы не поддерживаются.
  • OAuth2 в качестве типа учетных данных не поддерживается.

POST https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources

Параметры URI

Имя В Обязательно Тип Описание
gatewayId
path True

string

uuid

Идентификатор шлюза. При использовании кластера шлюза идентификатор шлюза относится к основному (первому) шлюзу в кластере. В таких случаях идентификатор шлюза аналогичен идентификатору кластера шлюза.

Текст запроса

Имя Обязательно Тип Описание
connectionDetails True

string

Сведения о подключении

credentialDetails True

CredentialDetails

Сведения об учетных данных

dataSourceName True

string

Имя источника данных

dataSourceType True

string

Тип источника данных

Ответы

Имя Тип Описание
201 Created

GatewayDatasource

Создание

Примеры

Azure Analysis Services example
SQL example

Azure Analysis Services example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources
{
  "dataSourceType": "AnalysisServices",
  "connectionDetails": "{\"server\":\"MyServer\",\"database\":\"MyDatabase\"}",
  "datasourceName": "Sample Datasource",
  "credentialDetails": {
    "credentialType": "Windows",
    "credentials": "AB....EF==",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "RSA-OAEP",
    "privacyLevel": "None"
  }
}

Sample Response

SQL example

Sample Request

POST https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources
{
  "dataSourceType": "SQL",
  "connectionDetails": "{\"server\":\"MyServer\",\"database\":\"MyDatabase\"}",
  "datasourceName": "Sample Datasource",
  "credentialDetails": {
    "credentialType": "Windows",
    "credentials": "AB....EF==",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "RSA-OAEP",
    "privacyLevel": "None"
  }
}

Sample Response

Определения

Имя Описание
CredentialDetails

Сведения об учетных данных

credentialType

Тип учетных данных источника данных

encryptedConnection

Следует ли шифровать подключение к источнику данных. Вызов API завершится ошибкой, если выбрано шифрование и Power BI не сможет установить зашифрованное подключение к источнику данных.

encryptionAlgorithm

Алгоритм шифрования. Для облачного источника данных укажите None. Для локального источника данных укажите RSA-OAEP и используйте открытый ключ шлюза для шифрования учетных данных.

GatewayDatasource

Источник данных шлюза Power BI

GatewayDatasourceCredentialDetails

Сведения об учетных данных источника данных

privacyLevel

Уровень конфиденциальности, который имеет значение при объединении данных из нескольких источников.

PublishDatasourceToGatewayRequest

Запрос на публикацию источника данных в шлюз

CredentialDetails

Сведения об учетных данных

Имя Тип Описание
credentialType

credentialType

Тип учетных данных

credentials

string

Учетные данные, которые зависят от значения credentialType. Дополнительные сведения см. в разделе Обновление примеров источников данных .

encryptedConnection

encryptedConnection

Следует ли шифровать подключение к источнику данных. Вызов API завершится ошибкой, если выбрано шифрование и Power BI не сможет установить зашифрованное подключение к источнику данных.

encryptionAlgorithm

encryptionAlgorithm

Алгоритм шифрования. Для облачного источника данных укажите None. Для локального источника данных укажите RSA-OAEP и используйте открытый ключ шлюза для шифрования учетных данных.

privacyLevel

privacyLevel

Уровень конфиденциальности, который имеет значение при объединении данных из нескольких источников.

useCallerAADIdentity

boolean

Указывает, будет ли использоваться удостоверение Azure AD (учетные данные OAuth 2.0) вызывающей стороны API (который должен быть владельцем источника данных) для настройки учетных данных источника данных (маркера доступа OAuth владельца). Как правило, вы используете этот флаг или useEndUserOAuth2Credentials.

useEndUserOAuth2Credentials

boolean

Указывает, используется ли удостоверение конечного пользователя Azure AD (учетные данные OAuth 2.0) при подключении к источнику данных в режиме DirectQuery. Используйте с источниками данных, поддерживающими единый вход. Как правило, вы используете этот флаг или useCallerAADIdentity.

credentialType

Тип учетных данных источника данных

Имя Тип Описание
Anonymous

string

Basic

string

Key

string

OAuth2

string

SAS

string

Windows

string

encryptedConnection

Следует ли шифровать подключение к источнику данных. Вызов API завершится ошибкой, если выбрано шифрование и Power BI не сможет установить зашифрованное подключение к источнику данных.

Имя Тип Описание
Encrypted

string

NotEncrypted

string

encryptionAlgorithm

Алгоритм шифрования. Для облачного источника данных укажите None. Для локального источника данных укажите RSA-OAEP и используйте открытый ключ шлюза для шифрования учетных данных.

Имя Тип Описание
None

string

RSA-OAEP

string

GatewayDatasource

Источник данных шлюза Power BI

Имя Тип Описание
connectionDetails

string

Сведения о подключении в формате JSON

credentialDetails

GatewayDatasourceCredentialDetails

Сведения о подключении для источника данных, который требуется обновить. Сведения о подключении являются обязательными, если набор данных содержит несколько источников данных.

credentialType

credentialType

Тип учетных данных источника данных

datasourceName

string

Имя источника данных.

datasourceType

string

Тип источника данных.

Имя API для источника данных
ActiveDirectory AdobeAnalytics AdoDotNet
Analysis Services: Blob-объекты Azure AzureDataLakeStorage
AzureMarketplace AzureTables BizTalk
CDPA CustomConnector CustomHttpApi
DB2 Essbase концентратор событий.
Excel Exchange Расширение
Facebook File Папка
GoogleAnalytics Hdfs HDInsight
Informix Магический квадрант MySQL
OData ODBC OleDb
Oracle; PostgreSQL PowerQueryMashup
с помощью PubNub. Salesforce SAPBW
SAPBWMessageServer SapErp SAPHana
SharePoint SharePointDocLib SharePointList
SQL Sybase Teradata
UIFlow Интернет
gatewayId

string

Идентификатор связанного шлюза. При использовании кластера шлюза идентификатор шлюза относится к основному (первому) шлюзу в кластере и аналогичен идентификатору кластера шлюза.

id

string

Уникальный идентификатор источника данных.

GatewayDatasourceCredentialDetails

Сведения об учетных данных источника данных

Имя Тип Описание
useEndUserOAuth2Credentials

boolean

Указывает, используется ли удостоверение конечного пользователя Azure AD (учетные данные OAuth 2.0) при подключении к источнику данных в режиме DirectQuery. Используйте с источниками данных, поддерживающими единый вход.

privacyLevel

Уровень конфиденциальности, который имеет значение при объединении данных из нескольких источников.

Имя Тип Описание
None

string

Organizational

string

Private

string

Public

string

PublishDatasourceToGatewayRequest

Запрос на публикацию источника данных в шлюз

Имя Тип Описание
connectionDetails

string

Сведения о подключении

credentialDetails

CredentialDetails

Сведения об учетных данных

dataSourceName

string

Имя источника данных

dataSourceType

string

Тип источника данных