Begivenhed
31. mar., 23 - 2. apr., 23
Den største Fabric-, Power BI- og SQL-læringshændelse. 31. marts - 2. april. Brug koden FABINSIDER til at gemme $400.
Tilmeld dig i dagDenne browser understøttes ikke længere.
Opgrader til Microsoft Edge for at drage fordel af de nyeste funktioner, sikkerhedsopdateringer og teknisk support.
Integrationsværktøjet til Microsoft Fabric Git gør det muligt for teams at arbejde sammen ved hjælp af kildekontrol for at skabe en effektiv og genbrugelig udgivelsesproces for deres Fabric-indhold.
Med Microsoft Fabric REST API'er kan du automatisere Fabric-procedurer og -processer for at udføre opgaver hurtigere og med færre fejl. Denne effektivitet medfører omkostningsbesparelser og forbedret produktivitet.
I denne artikel beskrives det, hvordan du bruger REST API'er til Git-integration til at automatisere Git-integration i Microsoft Fabric.
Hvis du vil arbejde med Fabric Git-API'er, skal du bruge:
De samme forudsætninger, du skal bruge for at bruge Git-integration i brugergrænsefladen.
Et Microsoft Entra-token til Fabric-tjenesten. Brug dette token i godkendelsesheaderen for API-kaldet. Du kan få oplysninger om, hvordan du får et token, under Hurtig start af Fabric API.
Du kan bruge REST API'erne uden PowerShell, men scripts i denne artikel bruger PowerShell. Hvis du vil køre scripts, skal du benytte følgende fremgangsmåde:
REST API'er til Git-integration kan hjælpe dig med at opnå kontinuerlig integration og kontinuerlig levering (CI/CD) af dit indhold. Her er nogle eksempler på, hvad der kan gøres ved hjælp af API'erne:
Se, hvilke elementer der har indgående ændringer, og hvilke elementer der har ændringer, der endnu ikke er bekræftet i Git med Git-status-API'en.
Hent forbindelsesoplysninger for det angivne arbejdsområde.
Opret forbindelse til og afbryd forbindelsen til et bestemt arbejdsområde fra Git-lageret og den forgrening, der er forbundet til det.
Opdater mine Git-legitimationsoplysninger for at opdatere konfigurationsoplysningerne for dine Git-legitimationsoplysninger.
Hent mine Git-legitimationsoplysninger for at få konfigurationsoplysninger om dine Git-legitimationsoplysninger.
Initialiser en forbindelse for et arbejdsområde, der er forbundet til Git.
Bekræft de ændringer, der er foretaget i arbejdsområdet, til den forbundne eksterne forgrening.
Opdater arbejdsområdet med bekræftelser, der er pushet til den forbundne forgrening.
Brug følgende PowerShell-scripts til at forstå, hvordan du udfører flere almindelige automatiseringsprocesser. Hvis du vil have vist eller kopiere teksten i et PowerShell-eksempel, skal du bruge linkene i dette afsnit. Du kan også se alle eksemplerne i GitHub-lageret med Fabric Git-integrationseksempler .
I dette afsnit beskrives de trin, der er involveret i at oprette forbindelse til og opdatere et arbejdsområde med Git.
Du kan se hele scriptet under Opret forbindelse og opdater fra Git.
Log på, og få adgangstoken – Log på Fabric som bruger (ikke en tjenesteprincipal). Brug kommandoen Connect-AzAccount til at logge på. Hvis du vil hente et adgangstoken , skal du bruge kommandoen Get-AzAccessToken .
Din kode bør se nogenlunde sådan ud:
$global:resourceUrl = "https://api.fabric.microsoft.com"
$global:fabricHeaders = @{}
function SetFabricHeaders() {
#Login to Azure
Connect-AzAccount | Out-Null
# Get authentication
$fabricToken = (Get-AzAccessToken -AsSecureString -ResourceUrl $global:resourceUrl).Token
$global:fabricHeaders = @{
'Content-Type' = "application/json"
'Authorization' = "Bearer {0}" -f $fabricToken
}
}
Kald Connect-API'en for at oprette forbindelse mellem arbejdsområdet og et Git-lager og en git-forgrening.
# Connect to Git
Write-Host "Connecting the workspace '$workspaceName' to Git."
$connectUrl = "{0}/workspaces/{1}/git/connect" -f $global:baseUrl, $workspace.Id
# AzureDevOps details
$azureDevOpsDetails = @{
gitProviderType = "AzureDevOps"
organizationName = "<ORGANIZATION NAME>"
projectName = "<PROJECT NAME>"
repositoryName = "<REPOSITORY NAME>"
branchName = "<BRANCH NAME>"
directoryName = "<DIRECTORY NAME>"
}
$connectToGitBody = @{
gitProviderDetails =$azureDevOpsDetails
} | ConvertTo-Json
Invoke-RestMethod -Headers $global:fabricHeaders -Uri $connectUrl -Method POST -Body $connectToGitBody
Kald API'en Til initialiser forbindelse for at initialisere forbindelsen mellem arbejdsområdet og Git-lageret/-forgreningen.
# Initialize Connection
Write-Host "Initializing Git connection for workspace '$workspaceName'."
$initializeConnectionUrl = "{0}/workspaces/{1}/git/initializeConnection" -f $global:baseUrl, $workspace.Id
$initializeConnectionResponse = Invoke-RestMethod -Headers $global:fabricHeaders -Uri $initializeConnectionUrl -Method POST -Body "{}"
Baseret på svaret fra API'en til initialisering af forbindelse skal du enten kalde API'en Opdater fra Git for at fuldføre opdateringen eller foretage dig noget, hvis der ikke kræves nogen handling.
Følgende script opdaterer og overvåger status:
if ($initializeConnectionResponse.RequiredAction -eq "UpdateFromGit") {
# Update from Git
Write-Host "Updating the workspace '$workspaceName' from Git."
$updateFromGitUrl = "{0}/workspaces/{1}/git/updateFromGit" -f $global:baseUrl, $workspace.Id
$updateFromGitBody = @{
remoteCommitHash = $initializeConnectionResponse.RemoteCommitHash
workspaceHead = $initializeConnectionResponse.WorkspaceHead
} | ConvertTo-Json
$updateFromGitResponse = Invoke-WebRequest -Headers $global:fabricHeaders -Uri $updateFromGitUrl -Method POST -Body $updateFromGitBody
$operationId = $updateFromGitResponse.Headers['x-ms-operation-id']
$retryAfter = $updateFromGitResponse.Headers['Retry-After']
Write-Host "Long Running Operation ID: '$operationId' has been scheduled for updating the workspace '$workspaceName' from Git with a retry-after time of '$retryAfter' seconds." -ForegroundColor Green
# Poll Long Running Operation
$getOperationState = "{0}/operations/{1}" -f $global:baseUrl, $operationId
do
{
$operationState = Invoke-RestMethod -Headers $global:fabricHeaders -Uri $getOperationState -Method GET
Write-Host "Update from Git operation status: $($operationState.Status)"
if ($operationState.Status -in @("NotStarted", "Running")) {
Start-Sleep -Seconds $retryAfter
}
} while($operationState.Status -in @("NotStarted", "Running"))
}
I dette afsnit beskriver vi de trin, der er involveret i opdatering af et arbejdsområde med ændringerne fra Git. I dette script opdaterer vi elementerne i arbejdsområdet med ændringer fra Git, men vi lader Git-lageret være uændret.
Du kan se hele scriptet under Opdater arbejdsområde fra Git.
Dette afsnit indeholder en trinvis beskrivelse af, hvordan du programmatisk kan bekræfte alle ændringer fra arbejdsområdet til Git.
Du kan se hele scriptet under Bekræft alle ændringer i Git.
I dette afsnit beskrives de trin, der er involveret i kun at foretage bestemte ændringer fra arbejdsområdet til Git.
Du kan se hele scriptet under Bekræft valg af ændringer til Git.
Du kan se hele scriptet under Poller en handling, der kører i lang tid.
Begivenhed
31. mar., 23 - 2. apr., 23
Den største Fabric-, Power BI- og SQL-læringshændelse. 31. marts - 2. april. Brug koden FABINSIDER til at gemme $400.
Tilmeld dig i dag