Muistiinpano
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoja.
Tälle sivulle pääsy edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoja.
Noudata Yhdistä sovelluksia -osion ohjeita antaaksesi pääsyn käyttäjän päämiehiin. Voit käyttää GraphQL-ohjelmointirajapintaa myös palvelun päänimellä:
Luo Microsoft Entra -sovellus yhdistämissovellus noudattamalla ohjeita, mutta muista, että vaikutusalueita ei tarvita palvelun päänimille. Lisää uudessa sovelluksessa asiakasohjelman salasana Varmenteet ja salaisuudet -kohtaan. Lisätietoja on artikkelissa Microsoft Entra -sovelluksen rekisteröiminen ja palvelun päänimen luominen.
Varmista, että vuokraajan järjestelmänvalvojat ottavat käyttöön palvelun päänimien käytön Fabricissa. Siirry vuokraajan hallintaportaalissa vuokraaja-asetuksiin. Ota Kehittäjäasetukset-kohdassa käyttöön palvelun päänimet voivat käyttää Fabric-ohjelmointirajapintoja. Kun tämä asetus on käytössä, sovellus näkyy Fabric-portaalissa rooli- tai käyttöoikeusmäärityksessä. Lisätietoja käyttäjätietojen tuesta.
Palvelun päänimi tarvitsee käyttöoikeuden sekä GraphQL-ohjelmointirajapintaan että tietolähteeseen, tarkemmin sanottuna Suorita GraphQL-ohjelmointirajapinnan käyttöoikeus ja sen vaatima luku- tai kirjoitusoikeus tietolähteessä vastaavasti. Avaa työtila Fabric-portaalissa ja valitse kolme pistettä ohjelmointirajapinnan vierestä. Valitse ohjelmointirajapinnan käyttöoikeuksien hallinta ja sitten Lisää käyttäjä. Lisää sovellus ja valitse Suorita kyselyt ja mutaatiot, joka antaa tarvittavat Suoritus-käyttöoikeudet palvelun päänimeen. Testausta varten helpoin tapa toteuttaa vaaditut käyttöoikeudet sekä ohjelmointirajapinnalle että tietolähteelle on lisätä sovellus työtilan jäseneksi, jolla on osallistujarooli, jossa sekä GraphQL-ohjelmointirajapinta että tietolähdekohteet sijaitsevat.
Koska palvelun päänimi edellyttää joko varmennetta tai asiakasohjelman salaisen koodin, Microsoftin todennuskirjasto (MSAL) ei tue sitä yksisivuisissa sovelluksissa (SPA), kuten viimeisessä vaiheessa luodussa React-sovelluksessa. Voit käyttää taustapalvelua, joka on suojattu asianmukaisesti hyvin määritellyllä valtuutuslogiikalla, tarpeidesi ja käyttötapaustesi mukaan.
Kun palvelun päänimi on määritetty käyttämään ohjelmointirajapintaa, voit testata sitä paikallisesti käyttämällä yksinkertaista Node.JS paikallisessa tietokoneessa:
const { ClientSecretCredential } = require('@azure/identity');
// Define your Microsoft Entra ID credentials
const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret value
const scope = "https://api.fabric.microsoft.com/.default"; // The scope of the token to access Fabric
// Create a credential object with service principal details
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
// Function to retrieve the token
async function getToken() {
try {
// Get the token for the specified scope
const tokenResponse = await credential.getToken(scope);
console.log("Access Token:", tokenResponse.token);
} catch (err) {
console.error("Error retrieving token:", err.message);
}
}
Asenna riippuvuudet (@azure/identity) valitsemallasi Node.js paketinhallinnalla, muokkaa tiedostoa tarvittavilla tiedoilla, tallenna se ja suorita se (node <filename.js>). Tämä noutaa tunnuksen Microsoft Entrasta.
Tunnuksen avulla voidaan sitten kutsua GraphQL-ohjelmointirajapinta PowerShellin avulla korvaamalla asianmukaiset tiedot noudetulla tunnuksella , suoritettavalla GraphQL-kyselyllä ja GraphQL-ohjelmointirajapinnan päätepisteellä:
$headers = @{
Authorization = "Bearer <YOUR_TOKEN>"
'Content-Type' = 'application/json'
}
$body = @{
query = @"
<YOUR_GRAPHQL_QUERY>
"@
}
# Make the POST request to the GraphQL API
$response = Invoke-RestMethod -Uri "<YOUR_GRAPHQL_API_ENDPOINT>" -Method POST -Headers $headers -Body ($body | ConvertTo-Json)
# Output the response
$response | ConvertTo-Json -Depth 10
Vaihtoehtoisesti voit käyttää cURL:ää saavuttaaksesi saman tuloksen:
curl -X POST <YOUR_GRAPHQL_API_ENDPOINT> \
-H "Authorization: <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"query": "<YOUR_GRAPHQL_QUERY(in a single line)>"}'
Muokkaa paikallista testausta varten Node.js koodia hieman ylimääräisellä riippuvuudella (axios), jotta voit noutaa tunnuksen ja käynnistää ohjelmointirajapinnan yhdellä suorituksella:
const { ClientSecretCredential } = require('@azure/identity');
const axios = require('axios');
// Microsoft Entra ID credentials
const tenantId = "<YOUR_TENANT_ID>";
const clientId = "<YOUR_CLIENT_ID>";
const clientSecret = "<YOUR_CLIENT_SECRET>"; // Service principal secret value
// GraphQL API details
const graphqlApiUrl = "YOUR_GRAPHQL_API_ENDPOINT>";
const scope = "https://api.fabric.microsoft.com/.default"; // The scope to request the token for
// The GraphQL query
const graphqlQuery = {
query: `
<YOUR_GRAPHQL_QUERY>
`
};
// Function to retrieve a token and call the GraphQL API
async function fetchGraphQLData() {
try {
// Step 1: Retrieve token using the ClientSecretCredential
const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const tokenResponse = await credential.getToken(scope);
const accessToken = tokenResponse.token;
console.log("Access token retrieved!");
// Step 2: Use the token to make a POST request to the GraphQL API
const response = await axios.post(
graphqlApiUrl,
graphqlQuery,
{
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
}
}
);
// Step 3: Output the GraphQL response data
console.log("GraphQL API response:", JSON.stringify(response.data));
} catch (err) {
console.error("Error:", err.message);
}
}
// Execute the function
fetchGraphQLData();
Aiheeseen liittyvä sisältö
- Microsoft Entra -sovelluksen luominen Azuressa
- Lue, miten voit luoda API:n GraphQL:lle Fabricissa ja lisätä tietoja.
- Tutustu siihen, miten voit tehdä kyselyjä useista tietolähteistä GraphQL:n Fabric API -ohjelmointirajapinnassa.