Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o formato do formato de arquivo JSON de definição de ação para Ações de Aplicativo no Windows. Esse arquivo deve ser incluído em seu projeto com a Ação de Build definida como "Conteúdo" e Copiar para Diretório de Saída definida como "Copiar se for mais recente". Especifique o caminho relativo ao pacote para o arquivo JSON no arquivo XML do manifesto do pacote. Para obter mais informações, consulte Formato XML do manifesto do pacote do provedor de ação.
Exemplo de arquivo JSON de definição de ação
"version": 2,
"actions": [
{
"id": "Contoso.SampleGreeting",
"description": "Send greeting with Contoso",
"icon": "ms-resource//...",
"usesGenerativeAI": false,
"isAvailable": false,
"inputs": [
{
"name": "UserFriendlyName",
"kind": "Text"
},
{
"name": "PetName",
"kind": "Text",
"required": false
}
],
"inputCombinations": [
{
"inputs": ["UserFriendlyName"],
"description": "Greet ${UserFriendlyName.Text}"
},
{
"inputs": ["UserFriendlyName", "PetName"],
"description": "Greet ${UserFriendlyName.Text} and their pet ${PetName.Text}"
}
],
"contentAgeRating": "child",
"invocation":
{
{
"type": "Uri",
"uri": "contoso://greetUser?userName=${UserFriendlyName.Text}&petName=${PetName.Text}",
},
"where": [
"${UserFriendlyName.Length > 3}"
]
}
},
{
"id": "Contoso.SampleGetText",
"description": "Summarize file with Contoso",
"icon": "ms-resource://...",
"inputs": [
{
"name": "FileToSummarize",
"kind": "File"
}
],
"inputCombinations": [
{
"inputs": ["FileToSummarize"],
"description": "Summarize ${FileToSummarize.Path}"
},
],
"outputs": [
{
"name": "Summary",
"kind": "Text"
}
],
"contentAgeRating": "child",
"invocation": {
"type": "COM",
"clsid": "{...}"
}
}
]
}
Propriedades JSON de definição de ação
As tabelas abaixo descrevem as propriedades do arquivo JSON de definição de ação.
Raiz do documento
Propriedade | Tipo | Descrição | Obrigatório |
---|---|---|---|
versão | corda | Versão do esquema. Quando a nova funcionalidade é adicionada, a versão é incrementada por um. | Sim. |
Ações | Ação[] | Define as ações fornecidas pelo aplicativo. | Sim. |
Ação
Propriedade | Tipo | Descrição | Obrigatório |
---|---|---|---|
id | corda | Identificador de ação. Deve ser exclusivo por pacote de aplicativo. Esse valor não é localizável. | Sim |
descrição | corda | Descrição para essa ação voltada para o usuário. Esse valor é localizável. | Sim |
ícone | corda | Ícone localizável para a ação. Esse valor é uma string ms-resource para um ícone implementado com o aplicativo. | Não |
usa IA Generativa | Booliano | Especifica se a ação usa IA generativa. O valor padrão é false. | Não |
está disponível | Booliano | Especifica se a ação está disponível para uso durante a instalação. O valor padrão é true. | Sim |
entradas | Entradas[] | Lista de entidades que essa ação aceita como entrada. | Sim |
combinações de entrada | CombinaçãoDeEntrada[] | Fornece descrições para diferentes combinações de entradas. | Sim |
saídas | Saída[] | Se especificado, deve ser uma cadeia de caracteres vazia na versão atual. | Não |
invocação | Invocação | Fornece informações sobre como a ação é invocada. | Sim |
classificaçãoEtáriaDoConteúdo | corda | Um nome de campo do UserAgeConsentGroup que especifica a classificação etária apropriada para a ação. Os valores permitidos são "Filho", "Menor", "Adulto". Se nenhum valor for especificado, o comportamento padrão permitirá o acesso a todas as idades. | Não |
Saída
Propriedade | Tipo | Descrição | Obrigatório |
---|---|---|---|
nome | corda | O nome da variável da entidade. Esse valor não é localizável. | Sim |
variante | corda | Um nome de campo da enumeração ActionEntityKind especificando o tipo de entidade. Esse valor não é localizável. Os valores permitidos são "Nenhum", "Documento", "Arquivo", "Foto", "Texto". | Sim |
Combinação de Entrada
Propriedade | Tipo | Descrição | Obrigatório |
---|---|---|---|
entradas | cadeia de caracteres[] | Uma lista de nomes de entrada para uma invocação de ação. A lista pode estar vazia. | Sim |
descrição | corda | Descrição da invocação de ação. Esse valor é localizável. | Não |
onde | cadeia de caracteres[] | Uma ou mais instruções condicionais determinando as condições sob as quais a ação se aplica. | Não |
Invocação
Propriedade | Tipo | Descrição | Obrigatório |
---|---|---|---|
tipo | corda | O tipo de instanciação da ação. Os valores permitidos são "uri" e "com" | Sim |
URI | corda | O URI absoluto para iniciar a ação. O uso da entidade pode ser incluído na cadeia de caracteres. | Sim, para ações instanciadas por URI. |
clsid | corda | A ID da classe COM que implementa IActionProvider. | Sim, para ações COM |
dados de entrada | Uma lista de pares nome/valor especificando dados adicionais para ações de URI. | Não. Somente válido para ações de URI. |
Enumeração ActionEntityKind
A enumeração ActionEntityKind especifica os tipos de entidades com suporte das Ações de Aplicativo no Windows. No contexto de uma definição de ação JSON, os tipos de entidade são literais de cadeia de caracteres que diferenciam maiúsculas de minúsculas.
Cadeia de caracteres de tipo de entidade | Descrição |
---|---|
"Arquivo" | Inclui todos os tipos de arquivo que não possuem suporte por tipos de entidade de documento ou foto. |
"Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem com suporte são ".jpg", ".jpeg" e ".png" |
"Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento com suporte são ".doc", ".docx", ".pdf", ".txt" |
"Texto" | Dá suporte a cadeias de caracteres de texto. |
StreamingText | Dá suporte a cadeias de caracteres de texto transmitidas incrementalmente. |
Arquivo Remoto | Dá suporte a metadados para habilitar ações para validar e recuperar arquivos de backup de um serviço de nuvem. |
Propriedades da entidade
Cada tipo de entidade dá suporte a uma ou mais propriedades que fornecem dados de instância para a entidade. Os nomes de propriedade da entidade diferenciam maiúsculas de minúsculas.
O exemplo a seguir ilustra como as entidades são referenciadas na cadeia de caracteres de consulta para ações que são iniciadas por meio da ativação do URI:
...?param1=${entityName.property1}¶m2=${entityName.property2}
Para obter informações sobre como usar propriedades de entidade para criar seções condicionais na definição de ação JSON, consulte Cláusulas Where.
Propriedades da entidade de arquivo
Propriedade | Tipo | Descrição |
---|---|---|
Nome do Arquivo | corda | O nome do arquivo. |
"Caminho" | corda | O caminho do arquivo. |
"Extensão" | corda | A extensão do arquivo. |
Propriedades da entidade do documento
A entidade Document dá suporte às mesmas propriedades que o Arquivo.
Propriedades da entidade da foto
A entidade Photo dá suporte a todas as propriedades do Arquivo , além das propriedades a seguir.
Propriedade | Tipo | Descrição |
---|---|---|
IsTemporaryPath | Booliano | Um valor que especifica se a foto é armazenada em um caminho temporário. Por exemplo, essa propriedade é verdadeira para fotos armazenadas na memória de um bitmap, não armazenadas permanentemente em um arquivo. |
Propriedades da entidade de texto
Propriedade | Tipo | Descrição |
---|---|---|
"Texto" | corda | O texto completo. |
Texto Curto | corda | Uma versão abreviada do texto, adequada para exibição da interface do usuário. |
"Título" | corda | O título do texto. |
"Descrição" | corda | Uma descrição do texto. |
"Comprimento" | duplo | O comprimento do texto em caracteres. |
Contagem de Palavras | duplo | O número de palavras no texto. |
Propriedades da entidade StreamingText
Propriedade | Tipo | Descrição |
---|---|---|
"TextFormat" | corda | O formato do texto de streaming. Os valores com suporte são "Texto simples", "Markdown". |
Propriedades da entidade RemoteFile
Propriedade | Tipo | Descrição |
---|---|---|
IdentificaçãoDaConta | corda | O identificador da conta de serviço de nuvem associada ao arquivo remoto. |
TipoDeConteúdo | corda | O tipo MIME do arquivo remoto. |
"DriveId" | corda | O identificador da unidade remota associada ao arquivo remoto. |
"Extensão" | corda | A extensão do arquivo remoto. |
"FileId" | corda | O identificador do arquivo remoto. |
"FileKind" | RemoteFileKind | O tipo de arquivo remoto. |
IdFonte | corda | O identificador do serviço de nuvem que hospeda o arquivo remoto. |
"SourceUri" | corda | O URI do arquivo remoto. |
Enumeração RemoteFileKind
A enumeração RemoteFileKind especifica os tipos de arquivos com suporte para a entidade RemoteFile .
Cadeia de caracteres de tipo de entidade | Descrição |
---|---|
"Arquivo" | Inclui todos os tipos de arquivo que não possuem suporte por tipos de entidade de documento ou foto. |
"Foto" | Tipos de arquivo de imagem. As extensões de arquivo de imagem com suporte são ".jpg", ".jpeg" e ".png" |
"Documento" | Tipos de arquivo de documento. As extensões de arquivo de documento com suporte são ".doc", ".docx", ".pdf", ".txt" |
Cláusulas Where
O formato JSON de definição de ação dá suporte a cláusulas 'where' que podem ser usadas para implementar a lógica condicional, como especificar que uma ação deve ser invocada somente quando uma propriedade da entidade possuir um valor determinado.
Os operadores a seguir podem ser usados com as cláusulas where.
Operador | Descrição |
---|---|
== | Igualdade |
~= | Igualdade que não diferencia maiúsculas e minúsculas |
!= | Desigualdade |
< | Menor que |
<= | Menor que ou igual a |
> | Maior que |
>= | Maior ou igual a |
|| | OR lógico |
&& | AND lógico |
Onde as cláusulas usam o seguinte formato:
"where": [
"${<property_accessor>} <operator> <value>"
]
O exemplo a seguir mostra uma cláusula where que é avaliada como true se uma entidade File tiver a extensão de arquivo".txt".
"where": [
"${File.Extension} ~= \".txt\""
]
Várias cláusulas em que podem ser combinadas usando os operadores OR lógicos e AND lógicos.
"where": [
"${File.Extension} ~= \".txt\" || ${File.Extension} ~= \".md\""
]