Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Koskee seuraavia:✅ Power BI asiakkaillesi upotettuja analyysejä (sovellus omistaa tiedot) ja Power BI upotettuja analyyseja organisaatiollesi (käyttäjä omistaa tiedot)
Jos haluat määrittää Power BI:hin tunnistetiedot ohjelmallisesti, noudata tämän artikkelin ohjeita. Tunnistetietojen ohjelmamäärittämisen avulla voit myös salata tunnistetiedot.
Tämän artikkelin esimerkit ovat .NET-muodossa C#:ssa. Löytääksesi esimerkkejä Java-, Python- ja PowerShell-ohjelmista, mene kyseiseen repositorioon. KeyPairin tunnistetietojen salausesimerkkejä varten katso Python ja PowerShell. KeyPairin tunnistetietojen salausesimerkkejä varten katso Python ja PowerShell.
Muistiinpano
- Soittavan käyttäjän tai palvelupäähenkilön tulee olla joko semanttisen mallin omistaja tai yhdyskäytävän ylläpitäjä.
- Pilvitietolähteitä ja niiden tunnistetietoja hallitaan käyttäjätasolla.
Tietolähteiden tunnistetietojen saamisen päivittäminen
Tutustu semanttisen mallin tietolähteisiin kutsumalla Nouda tietolähteet. Kunkin tietolähteen vastauksen leipäteksti sisältää tyypin, yhteyden tiedot, yhdyskäytävän ja tietolähteen tunnuksen.
// Select a datasource var datasources = pbiClient.Datasets.GetDatasources(datasetId).Value; var datasource = datasources.First();Luo tunnistemerkkijono Tietolähde-esimerkkien päivittäminen - asetuksen mukaisesti. Tunnistemerkkijonon sisältö määräytyy tunnistetietojen tyypin mukaan.
var credentials = new BasicCredentials(username: "username", password :"*****");Muistiinpano
Jos käytät pilvipalvelutietolähteitä, älä seuraa tämän osion seuraavia vaiheita. Soita Update Datasource -toiminnolle asettaaksesi tunnistetiedot käyttämällä yhdyskäytävä-ID:tä ja datalähde-ID:tä, jotka sait vaiheessa 1.
Nouda yhdyskäytävän julkinen avain kutsumalla Nouda yhdyskäytävä.
var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);Salaa tunnistetiedot.
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);Luo salatuilla tunnistetiedoilla tarvitsemasi tunnistetiedot.
Käytä AsymetricKeyEncryptor-luokkaa vaiheessa 3 noudetun julkisen avaimen kanssa.
var credentialDetails = new CredentialDetails( credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);Määritä tunnistetiedot kutsumalla Päivitä tietolähde.
pbiClient.Gateways.UpdateDatasource(datasource.GatewayId.Value, datasource.DatasourceId.Value, new UpdateDatasourceRequest(credentialDetails));
Uuden tietolähteen määrittäminen tietoyhdyskäytävälle
Nouda yhdyskäytävän tunnus ja julkinen avain kutsumalla Nouda yhdyskäytävät.
// Select a gateway var gateways = pbiClient.Gateways.GetGateways().Value; var gateway = gateways.First();Luo tunnistetiedot noudattamalla ohjeita, jotka on kuvattu osiossa Tietolähteiden tunnistetietojen päivittäminen käyttämällä vaiheessa 2 noutamaansa yhdyskäytävän julkista avainta.
Luo pyynnön runko.
var request = new PublishDatasourceToGatewayRequest( dataSourceType: "SQL", connectionDetails: "{\"server\":\"myServer\",\"database\":\"myDatabase\"}", credentialDetails: credentialDetails, dataSourceName: "my sql datasource");Kutsu Luo tietolähde -ohjelmointirajapintaa.
pbiClient.Gateways.CreateDatasource(gateway.Id, request);
Tunnistetietotyypit
Kun kutsut tietolähteenluomista tai tietolähteen päivittämistä yrityksen paikallisen yhdyskäytävän Power BI REST -ohjelmointirajapinnasta, salaa tunnistetietoarvo käyttämällä yhdyskäytävän julkista avainta.
Muistiinpano
.NET SDK v3 voi myös suorittaa seuraavat .NET SDK v2 -esimerkit.
Windows ja perustunnistetiedot
// Windows credentials
var credentials = new WindowsCredentials(username: "john", password: "*****");
// Or
// Basic credentials
var credentials = new BasicCredentials(username: "john", password: "*****");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
Avaintunnistetiedot
var credentials = new KeyCredentials("TestKey");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
OAuth2-tunnistetiedot
var credentials = new OAuth2Credentials("TestToken");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
Anonyymit tunnistetiedot
var credentials = new AnonymousCredentials();
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.NotEncrypted);
Vianmääritys
Yhdyskäytävää ja tietolähteen tunnusta ei löydy Nouda tietolähteet -kutsua käytettäessä
Tämä ongelma tarkoittaa, että semanttinen malli ei ole sidottu yhdyskäytävään. Kun luot uuden semanttisen mallin, käyttäjän pilviyhdyskäytävään luodaan automaattisesti tietolähde, jolla ei ole tunnistetietoja kunkin pilviyhteyden osalta. Pilviyhdyskäytävää käytetään pilviyhteyksien tunnistetietojen tallentamiseen.
Kun olet luonut semanttisen mallin, semanttisen mallin ja sopivan yhdyskäytävän välille luodaan automaattinen sidonta, joka sisältää vastaavat tietolähteet kaikille yhteyksille. Automaattinen sidonta epäonnistuu, jos sopivaa yhdyskäytävää tai yhdyskäytäviä ei ole.
Jos käytät paikallisia semanttisia malleja, luo puuttuvat paikalliset tietolähteet ja sido semanttinen malli yhdyskäytävään manuaalisesti käyttämällä Sido yhdyskäytävään -toimintoa.
Voit etsiä sitovia yhdyskäytäviä Etsi yhdyskäytävät -parametrin avulla.