> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# Como Pausar e Iniciar o Microsoft Fabric diariamente e evitar custos desnecessários?
- URL: https://www.azurebrasil.cloud/blog/como-pausar-e-iniciar-o-microsoft-fabric-diariamente-e-evitar-custos-desnecessarios/
- Published: 2023-12-11T16:33:48.000Z
- Updated: 2023-12-11T16:55:46.000Z
- Author: Elaine Cristina Rocha de Oliveira

Alô mundo!

Venho através desta, iniciar uma série de posts a respeito do Microsoft Fabric. Essa plataforma fantástica que a Microsoft está lançando este ano para facilitar a vida da galera da área de Dados.

[Página do Microsoft Fabric](https://www.microsoft.com/pt-br/microsoft-fabric?ref=azurebrasil.cloud)

Para conhecer a plataforma e ter tempo suficiente de se encantar com as facilidades da ferramenta, você pode criar uma conta de Avaliação e usufruir de todos os recursos por 60 dias gratuitamente.

Após o período de avaliação será necessário contratar um Capacidade do Fabric do Portal do Azure para fazer a associação. E daí iniciam-se vários questionamentos, sendo o principal: “Quanto isso vai me custar?”

Olhando aqui na [tabela de preços](https://azure.microsoft.com/pt-br/pricing/details/microsoft-fabric/?ref=azurebrasil.cloud) disponibilizada pela própria Microsoft, a primeira camada do Fabric é a F2 que está custando 408 dólares mensais para ficar ativa 24 horas por dia. Convertendo para Real a gente fica com um valor inicial que vai girar em torno de R$ 2.000,00 ao mês.

![Valores do Microsoft Fabric até a camada F128 em 09/12/2023.](https://cdn.hashnode.com/res/hashnode/image/upload/v1702124720912/e78794ad-8d2d-4ee6-8b89-54c36faff9c5.png)

Vale lembrar que esse print é de 09/12/2023, os valores em Reais podem estar diferentes no dia que você ler por motivos de: “a Microsoft atualizou os valores” ou “a cotação do dólar mudou bastante”.

Outro ponto importante é que estes valores são para o caso de você deixar a capacidade do Fabric ligada 24h por dia.

Pode ser que esta não seja a sua necessidade e então eu vou te mostrar como configurar uma Logic App para automatizar o desligamento e religamento diário deste recurso lá no Portal do Azure. Desta forma você evitará desperdícios financeiros na sua fatura. -- De nada rsrs

Então vamos lá!

1 - Acesse o seu Portal Azure e adicione um novo Recurso de Logic App - de preferência no mesmo resource group da sua Fabric Capacity.

2 - Antes de iniciar a construção da Logic App, precisamos liberar permissão para que a Logic App acione execuções na nossa Fabric Capacity. Então vá até o recurso da Fabric Capacity e acesse o menu "Access control (IAM)".

- Selecione "Add role assignment"

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129369911/123b85e7-2cd0-4c12-ba25-6d9b1c6b3a1d.png)

- Escolha "Privileged administrator roles" > "Contributor" e avance

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129495166/e513982c-145a-4def-95ab-535fd6936843.png)

- Em "assign access to", escolha "Managed identity" > Select Members > Faça o filtro por Logic app e selecione a sua Logic App que acabou de criar.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129825426/fecdd1cf-b0a9-4da8-b63d-fcb4083fee5b.png)

- Revise e crie o acesso.

3 - Na sua Logic App vá em "Logic app designer"

4 - Adicione uma ação do tipo recorrência. Aqui você consegue definir qual será o seu gatilho de horário para a Logic App ser executada. No meu caso, configurei para que ela rode de hora em hora a partir das 19h até as 6h todos os dias.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702126663963/2b12f4c9-caa8-4533-a460-3ff4911c3c00.png)

> Ah Elaine, mas porque você está acionando essa Logic App de hora em hora?  
> Só porque meu projeto ainda está em desenvolvimento, pode ter algum dia que eu trabalhe até um pouco mais tarde para finalizar algum raciocínio e não quero correr o risco de ir lá no portal do Azure e ligar o recurso manualmente e depois esquecer de pausar novamente e gerar um custo desnecessário na minha fatura. Se eu parar de trabalhar e não pausar manualmente, no máximo terei uma hora de cobrança desnecessária 😉

O Microsoft Fabric possui uma API que nos permite executar algumas ações. Vamos acionar a rota da API que checa o status do nosso recurso do Fabric no Azure.

O modelo da chamada da api é este:

[https://management.azure.com/subscriptions/\[SubscriptionID\]/resourceGroups/\[ResourceGroup\]/providers/Microsoft.Fabric/capacities/\[ResourceName\]?api-version=2022-07-01-preview](https://management.azure.com/subscriptions/[SubscriptionID]/resourceGroups/[ResourceGroup]/providers/Microsoft.Fabric/capacities/[ResourceName]?api-version=2022-07-01-preview&ref=azurebrasil.cloud)

E você encontra os valores da sua Fabric Capacity, aqui.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702127759878/a26720f6-88d2-4070-87bf-4c2202424223.png)

5 - Substitua \[Subscription Id\], \[Resource Group\] e \[Resource Name\] pelas identificações do seu Fabric Capacity e adicione uma ação na Logic App do tipo Requests.

Method: GET  
URI: A URL do padrão acima  
Authentication type: Managed Identity (lembra da liberação de permissão que fizemos lá em cima né?)  
Managed identity: System-assigned managed identity

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702128392488/6222ec0e-14e7-447d-9c47-37808c049258.png)

6 - Vamos colocar o retorno da API em uma variável

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702128496335/dd1308fa-7375-4521-8dd3-6267713a427c.png)

7 - Adicione um Parse JSON para que a gente consiga ler a informação que queremos no json retornado pela API.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702128594182/5251c55f-41ad-4fe3-8069-6eb2e875721d.png)

Pode usar o schema abaixo. Ou faça um teste da chamada da sua API, copie o json retornado e cole na janela que abre ao cliente em "Use sample payload to generate schema" (eu utilizei essa opção, mas como já está pronto segue aí abaixo também).

```json
{
    "properties": {
        "id": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "name": {
            "type": "string"
        },
        "properties": {
            "properties": {
                "administration": {
                    "properties": {
                        "members": {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "provisioningState": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "sku": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "tier": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "tags": {
            "properties": {},
            "type": "object"
        },
        "type": {
            "type": "string"
        }
    },
    "type": "object"
} 
```

8 - Adicione uma ação de Compose do grupo de Data Operations para recuperarmos o valor do "state" retornado pela API.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702128772137/df0869c7-95c1-4d19-82d3-5016ac5d5573.png)

9 - Adicione um bloco condicional para conferir se o valor de saída do item 7 é igual a "Active"

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702128860688/ddd0686c-da72-46c9-badf-05cd832eaa1b.png)

10 - Se o status da sua Fabric Capacity for "Active", vamos fazer o acionamento da rota "suspend" para pausar o recurso no seu Portal Azure.

O modelo da rota da API de pausar é esse aqui, substitua pelos seus valores de identificação.

[https://management.azure.com/subscriptions/\[SubscriptionId\]/resourceGroups/\[ResourceGroup\]/providers/Microsoft.Fabric/capacities/\[ResourceName\]/suspend?api-version=2022-07-01-preview](https://management.azure.com/subscriptions/[Subscription%20Id]/resourceGroups/[Resource%20Group]/providers/Microsoft.Fabric/capacities/ResourceName]/suspend?api-version=2022-07-01-preview&ref=azurebrasil.cloud)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129049151/5d764254-9213-4124-b2d8-706cc2f31153.png)

11 - Para incrementar eu incluí um envio de email para sinalizar que o recurso foi pausado.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129112721/5d757a4c-32a7-42ce-b17a-76aef77dcc02.png)

E fim! Execute aí pra testar :)

Essa é a visão da Logic App Completa

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702129197199/d86b22c9-7f82-4e93-85e4-a9bfa541cbac.png)

---

Depois pode criar a sua Logic App para dar o start no horário que desejar diariamente.

Eu deixei o meu Start sendo acionado de Segunda a Sexta às 7h.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702130010606/31581bee-ab19-4408-a209-e59b2846b901.png)

Daí no bloco condicional você vai precisar compara se o status é igual a "Paused".

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702130054161/c05ef0a9-b391-4f19-a7bb-c66e5b01359f.png)

E o modelo da API para dar o Start é:

[https://management.azure.com/subscriptions/\[SubscriptionID\]/resourceGroups/\[ResourceGroup\]/providers/Microsoft.Fabric/capacities/\[ResourceName\]/resume?api-version=2022-07-01-preview](https://management.azure.com/subscriptions/[Subscription%20ID]/resourceGroups/[Resource%20Group]/providers/Microsoft.Fabric/capacities/[Resource%20Name]/resume?api-version=2022-07-01-preview&ref=azurebrasil.cloud)

Espero ter ajudado e até a próxima :)