Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As credenciais da fonte de dados podem ser armazenadas em cache e reutilizados entre comandos. Por padrão, esse cache é armazenado em um arquivo local em %LOCALAPPDATA%/Microsoft/pqtest e criptografados com a chave de usuário atual.
Como alternativa ao armazenamento de arquivos local, você pode armazenar credenciais em um do Azure Key Vault. Você pode habilitar essa opção usando a opção --keyVault / -kv, fornecendo um nome de cofre de chaves como o argumento de opção e definindo as variáveis de ambiente especificadas na tabela a seguir:
Nota
Ao usar o Azure Key Vault, as credenciais são armazenadas como um único objeto binário, em vez de segredos individuais.
| Variável | Detalhes | Amostra |
|---|---|---|
| PQTEST_AZURE_CLIENT_ID | ID (GUID) do aplicativo Microsoft Entra ID autorizado a acessar seu cofre de chaves. | a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 |
| PQTEST_AZURE_CLIENT_SECRET | Segredo do cliente para seu aplicativo do Microsoft Entra ID. | <espaço reservado do cliente-segredo> |
| PQTEST_AZURE_TENANT_ID | ID (GUID) para o locatário que possui o Azure Key Vault. | a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 |
| PQTEST_AZURE_KEY_VAULT_URL | URL para o cofre de chaves. | https://<myvault>.vault.azure.net |
Exemplo de como usar a opção 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
Modelo de Credencial
Use este comando para gerar um modelo de credencial no formato JSON que pode ser passado para o comando set-credential. O comando exige que você forneça uma extensão e informações da fonte de dados. Se a fonte de dados der suporte a mais de um tipo de autenticação, você precisará especificar qual tipo de autenticação usar com a opção --authenticationKind / -ak.
O modelo de saída tem valores de espaço reservado identificados com um $$<nome de chave>$$ que devem ser substituídos antes de serem transmitidos para o comando set-credential.
Por exemplo, MyConnector dá suporte a tipos de autenticação Anonymous e UsernamePassword.
Para gerar uma credencial Anonymous, o seguinte comando seria usado:
<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind Anonymous
Nota
O valor JSON de saída não contém valores de espaço reservado, pois o tipo Anonymous não requer nenhum.
{
"AuthenticationKind": "Anonymous",
"AuthenticationProperties": {},
"PrivacySetting": "None",
"Permissions": []
}
O comando a seguir seria usado para gerar uma credencial UsernamePassword para o mesmo conector:
<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind UsernamePassword
O modelo resultante contém os valores de espaço reservado $$USERNAME$$ e $$PASSWORD$$.
{
"AuthenticationKind": "UsernamePassword",
"AuthenticationProperties": {
"Username": "$$USERNAME$$",
"Password": "$$PASSWORD$$"
},
"PrivacySetting": "None",
"Permissions": []
}
Set-credential
Use este comando para armazenar as credenciais usadas pelos comandos de conexão de teste e de teste de execução. O comando exige que você forneça uma extensão e informações da fonte de dados. As credenciais podem ser definidas de uma das três maneiras:
- Usando uma credencial no formato JSON.
- Credencial automática para tipos de autenticação que não exigem configurações adicionais (
AnonymouseWindows). - Usando o modo interativo.
Credenciais no formato JSON
Qualquer tipo de credencial pode ser definido usando o formato de credencial JSON. Use o comando credential-template para gerar o JSON de credenciais.
Ao definir uma credencial usando o modelo JSON, a entrada deve ser canalizada para o comando ou fornecida de stdin por meio de um arquivo.
Este é um exemplo de como definir uma credencial Anonymous redirecionando o resultado do comando credential-template para 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"
}
Nota
as credenciais Anonymous e Windows podem ser definidas usando credenciais automáticas.
Aqui está um exemplo de como definir uma credencial de um arquivo armazenado em disco (usando entrada redirecionada):
<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"
}
Credenciais automáticas
Você pode definir credenciais de Anonymous e Windows sem fornecer um modelo de credencial .
Nota
As credenciais do Windows definidas dessa forma usam a identidade do usuário atual como padrão. Use o comando credential-template para gerar uma credencial JSON que pode ser modificada para usar credenciais alternativas da conta do Windows.
Para gerar uma credencial Windows, o seguinte comando seria usado:
<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind windows
Para gerar uma credencial Anonymous, o seguinte comando seria usado:
<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind anonymous
Modo interativo
As credenciais podem ser definidas usando o modo interativo usando a opção de linha de comando --interactive.
O modo interativo pode ser usado para os tipos de autenticação OAuth e Aad. A execução do comando nesse modo apresenta uma caixa de diálogo OAuth que pode ser usada para testar a implementação do OAuth.
Os fluxos OAuth interativos usam o componente do navegador WebView2 (Microsoft Edge Chromium), que pode precisar ser instalado separadamente. Encontre mais detalhes na documentação do OAuth do Power Query para o Power BI Desktop.
A opção --useLegacyBrowser pode ser usada para forçar uma janela do navegador IE11 integrada.