Tenho o script abaixo para atualizar o workspace do MS Fabric no pipeline de lançamento do ADO. Isso não está funcionando. Além disso, a autenticação é feita no Service Principal para o token.
$accessToken = "$(accessToken)" # Use the token from pipeline variables
$headers = @{
Authorization = "Bearer $accessToken"
"Content-Type" = "application/json"
}
$apiUrl = "https://api.fabric.microsoft.com/core/git/update-from-git?workspaceId=<workspace-id>&itemId=<item-id>"
$body = @{
gitBranch = "feature"
} | ConvertTo-Json -Depth 10
$response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers $headers -Body $body
Write-Output $response
Erro:
2025-03-05T17:37:34.2927854Z Invoke-RestMethod :
2025-03-05T17:37:34.2928743Z Not Found
2025-03-05T17:37:34.2930059Z Not Found
2025-03-05T17:37:34.2931039Z HTTP Error 404. The requested resource is not found.
2025-03-05T17:37:34.2932857Z At D:\a\_temp\.ps1:16 char:13
2025-03-05T17:37:34.2933909Z + $response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers $hea ...
2025-03-05T17:37:34.2934961Z + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-03-05T17:37:34.2936330Z + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
2025-03-05T17:37:34.2937301Z eption
Consegui reproduzir o
404
erro no prompt local do PowerShell com seu script, que não pareceu chamar uma URL de API válida.Você pode tentar chamar essa API em vez de Update From Git . No entanto, observe que ela não oferece suporte a identidades de entidade de serviço ou identidades gerenciadas.
De acordo com o documento sobre Apoio à Identidade ,
Acho que é por isso também que minha chamada para List Workspaces teve sucesso, enquanto a chamada para Get Git Status falhou em obter o git head para ser atualizado. Também testei chamar a API Get Git Status autenticando com o token portador do meu usuário e funcionou.
Adicionando meu script para ajudar você a entender meus testes.
Não temos certeza se você encontrou essa API
https://api.fabric.microsoft.com/core/git/update-from-git?workspaceId=<workspace-id>&itemId=<item-id>
das referências da API REST do Microsoft Fabric - APIs REST do Microsoft Fabric | Microsoft Learn . Se sim, edite sua postagem original e compartilhe o link da API. Além disso, informe-nos se o script funciona fora dos pipelines para ajudar a restringir a causa raiz.Azure Pipelines são simplesmente uma ferramenta de automação. Você precisa ter certeza de que seu script funciona localmente antes de integrá-lo em pipelines. Espero que as informações esclareçam a causa real do problema.