Transformando o SharePoint em um sistema inteligente com Power Platform
O SharePoint é uma poderosa ferramenta de colaboração e armazenamento de dados, amplamente adotada para gestão de documentos e trabalho…
Você cria um esquema usando um JSON obtido de algum lugar, mas ao executar seu fluxo do Power Automate, até, obtém um “Tipo inválido. Esperava X, mas obteve Nulo”. O problema tem uma solução simples, mas primeiro vou mostrar porque isso acontece para enquadrar melhor a solução.
O problema está no esquema necessário para executar a ação Analisar JSON. Quando você usa “Gerar a partir da amostra”, o Power Automate fará o possível para criar o esquema que descreve os dados recebidos.
Você não precisa saber o que é um esquema, mas se estiver curioso, aqui está um artigo explicando em detalhes .
O esquema descreve o tipo de dados que o JSON possui. Pense nisso como um tradutor entre JSON e “linguagem do Power Automate” para que você possa escolher os campos do “conteúdo dinâmico” em outras ações.
Por exemplo, digamos que temos o seguinte JSON:
{
"name": "Trinapse",
"age": 20,
"address":""
}
O Power Automate gerará o seguinte esquema:
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"address": {
"type": "string"
}
}
}
Se inserirmos uma “Ação de composição”, por exemplo, já podemos encontrar os valores na aba “Conteúdo dinâmico”:
Mas e se eu fosse tímido em relação à minha idade e não a fornecesse para que o serviço retornasse algo assim:
{
"name": "Trinapse",
"age": null,
"address":""
}
Receberemos um arquivo “ValidationFailed. A validação do esquema falhou.”
O Power Automate fornece um pouco mais de informações abaixo com a mensagem de erro.
“Tipo inválido. Esperava Inteiro, mas obteve Nulo.”
Se o campo fosse uma string, você obteria o seguinte:
“Tipo inválido. Esperava String, mas obteve Null.”
Então, agora que temos o erro simulado, vamos ver como corrigi-lo.
A solução é informar ao Power Automate que ele deve receber números inteiros e valores nulos. Isso ocorre porque um valor “nulo” difere totalmente de um número inteiro ou de uma string. Um valor “nulo” não é o mesmo que “vazio”, pois uma string “vazia” é uma string, no entanto. Um campo “nulo” indica que o campo não tem “nada” dentro dele. E como o Power Automate não sabe se “qualquer coisa” é o mesmo que uma string ou um inteiro, ele o define como um tipo distinto.
Então vamos adicionar o “nulo” como um valor possível, mas como sabemos qual campo está com problemas? Para encontrá-lo é fácil. Basta olhar os campos abaixo da mensagem de erro:
Nesse caso, está indicando que a “propriedade” chamada “idade” tem o problema.
Agora que sabemos onde corrigi-lo, vamos ver novamente o esquema:
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"address": {
"type": "string"
}
}
}
Atualmente, o “tipo” para a “idade” é apenas um número inteiro, mas precisamos dizer Power Automate para permitir “nulo” também. Como queremos tipos “múltiplos”, precisamos usar uma matriz de tipos potenciais de valores, como:
["integer","null"]
Agora substituímos o tipo de apenas um valor por um intervalo de valores.
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": ["integer","null"]
},
"address": {
"type": "string"
}
}
}
E o Flow deve rodar sem problemas. Se você receber este erro novamente, verifique a mensagem de erro acima e veja o nome do campo. Você pode ter vários campos que precisam ser alterados, então repita as etapas até que seu fluxo seja executado sem problemas.
A solução para esse problema é relativamente fácil quando você entende de onde vem. Tenha cuidado ao editar esquemas mais complexos. Você sempre pode gerar um novo e começar de novo, mas não se apresse e verifique se está substituindo o campo com problemas.
Para mais conteúdos como este acesse nosso blog e fique por dentro das mais recentes atualizações da Power Platform.
O SharePoint é uma poderosa ferramenta de colaboração e armazenamento de dados, amplamente adotada para gestão de documentos e trabalho…
O SharePoint Framework (SPFx) é um modelo de desenvolvimento baseado em cliente que permite criar soluções modernas e personalizadas para…
À medida que as organizações adotam cada vez mais o SharePoint Online para soluções de ambiente digital, a necessidade de…