Поделиться через


Верительные грамоты

Учетные данные источника данных можно кэшировать и повторно использовать в командах. По умолчанию этот кэш хранится в локальном файле в %LOCALAPPDATA%/Microsoft/pqtest и зашифрован с помощью текущего ключа пользователя.

В качестве альтернативы локальному хранилищу файлов можно хранить учетные данные в Azure Key Vault. Этот параметр можно включить с помощью параметра --keyVault / -kv, указав имя хранилища ключей в качестве аргумента параметра и задать переменные среды, указанные в следующей таблице:

Заметка

При использовании Azure Key Vault учетные данные хранятся в виде одного двоичного объекта, а не отдельных секретов.

Переменная Подробности Образец
PQTEST_AZURE_CLIENT_ID Идентификатор (GUID) для приложения Microsoft Entra ID, получившего разрешение на доступ к вашему хранилищу ключей. a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
PQTEST_AZURE_CLIENT_SECRET Секрет клиента для приложения Идентификатора Microsoft Entra. <заполнитель секрета клиента>
PQTEST_AZURE_TENANT_ID Идентификатор (GUID) для клиента, которому принадлежит Azure Key Vault. a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
PQTEST_AZURE_KEY_VAULT_URL URL-адрес хранилища ключей. https://<myvault>.vault.azure.net

Пример использования параметра keyVault:

set PQTEST_AZURE_CLIENT_ID="a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
set PQTEST_AZURE_CLIENT_SECRET="<client-secret-placeholder>"
set PQTEST_AZURE_TENANT_ID="a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
set PQTEST_AZURE_KEY_VAULT_URL="https://myvault.vault.azure.net"

<Path to PQTest.exe>.\PQTest.exe list-credential --keyVault secretName

Шаблон учетных данных

Эта команда позволяет создать шаблон учетных данных в формате JSON, который можно передать в команду set-credential. Команда требует предоставления расширения , и сведений об источнике данных. Если источник данных поддерживает несколько видов проверки подлинности, необходимо указать тип проверки подлинности, используемый с параметром --authenticationKind / -ak.

Выходной шаблон имеет значения заполнителей, идентифицированные с именем ключа $$<>$$, которые необходимо заменить перед передачей в команду set-credential.

Например, MyConnector поддерживает типы проверки подлинности Anonymous и UsernamePassword.

Чтобы создать учетные данные Anonymous, будет использоваться следующая команда:

<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind Anonymous

Заметка

Выходное значение JSON не содержит никаких значений заполнителей, так как тип Anonymous не требует никаких значений.

{
  "AuthenticationKind": "Anonymous",
  "AuthenticationProperties": {},
  "PrivacySetting": "None",
  "Permissions": []
}

Следующая команда будет использоваться для создания учетных данных UsernamePassword для одного соединителя:

<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind UsernamePassword

Результирующий шаблон содержит значения заполнителей $$USERNAME$$ и $$PASSWORD$$.

{
  "AuthenticationKind": "UsernamePassword",
  "AuthenticationProperties": {
    "Username": "$$USERNAME$$",
    "Password": "$$PASSWORD$$"
  },
  "PrivacySetting": "None",
  "Permissions": []
}

Установить учетные данные

Используйте эту команду для хранения учетных данных, которые используются командами тестового подключения и запуска теста . Команда требует предоставления расширения и, а также сведений об источнике данных и. Учетные данные можно задать одним из трех способов:

  • Использование учетных данных в формате JSON.
  • Автоматические учетные данные для типов проверки подлинности, которые не требуют дополнительных параметров (Anonymous и Windows).
  • Использование интерактивного режима.

Учетные данные в формате JSON

Любой тип учетных данных можно задать с помощью формата учетных данных JSON. Используйте команду шаблон учетных данных для создания json учетных данных.

При настройке учетных данных с помощью шаблона JSON входные данные должны быть переданы в команду или предоставлены из stdin через файл.

Вот пример настройки учетных данных Anonymous путем передачи результата команды credential-template в команду set-credential:

<Path to PQTest.exe>.\PQTest.exe credential-template -e MyConnector.mez -q MyConnectorQuery.m -p -ak Anonymous | pqtest set-credential -e MyConnector.mez -q MyConnectorQuery.m -p
{
  "Details": {
    "Kind": "MyConnector",
    "Path": "MyConnector",
    "NormalizedPath": "MyConnector",
    "IsDefaultForKind": false
  },
  "Message": "Successfully set credential",
  "Status": "Success"
}

Заметка

Anonymous и Windows учетные данные можно задать с помощью автоматических учетных данных.

Ниже приведен пример настройки учетных данных из файла, хранящегося на диске (с использованием перенаправленных входных данных):

<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p < mySavedCredential.json
{
  "Details": {
    "Kind": "MyConnector",
    "Path": "MyConnector",
    "NormalizedPath": "MyConnector",
    "IsDefaultForKind": false
  },
  "Message": "Successfully set credential",
  "Status": "Success"
}

Автоматические учетные данные

Можно задать учетные данные Anonymous и Windows без предоставления шаблона учетных данных .

Заметка

Windows учетные данные, заданные таким образом, по умолчанию используют удостоверение текущего пользователя. Используйте команду шаблона учетных данных для создания учетных данных в формате JSON, которые можно изменить для использования других учетных данных учетной записи Windows.

Чтобы создать учетные данные Windows, будет использоваться следующая команда:

<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind windows

Чтобы создать учетные данные Anonymous, будет использоваться следующая команда:

<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind anonymous

Интерактивный режим

Учетные данные можно задать с помощью интерактивного режима с помощью параметра командной строки --interactive.

Интерактивный режим можно использовать для OAuth и Aad типов проверки подлинности. Выполнение команды в этом режиме представляет диалоговое окно OAuth, которое можно использовать для тестирования реализации OAuth.

Интерактивные потоки OAuth используют компонент браузера WebView2 (Microsoft Edge Chromium), который может потребоваться установить отдельно. Дополнительные сведения см. в документации Power Query OAuth для Power BI Desktop.

Параметр --useLegacyBrowser можно использовать для принудительного использования встроенного окна браузера IE11.