Vista geral
A política ReadPropertySet lê conjuntos de propriedades e preenche a variável de fluxo com os resultados.
Esta política é uma política padrão e pode ser implementada em qualquer tipo de ambiente. Para obter informações sobre os tipos de políticas e a disponibilidade com cada tipo de ambiente, consulte Tipos de políticas.
<ReadPropertySet> elemento
  Define uma política ReadPropertySet.
| Valor predefinido | Consulte o separador Política predefinida abaixo | 
| Obrigatório? | Obrigatória | 
| Tipo | Objeto complexo | 
| Elemento principal | N/A | 
| Elementos subordinados | <Read> | 
O elemento <ReadPropertySet> usa a seguinte sintaxe:
Sintaxe
O elemento <ReadPropertySet> usa a seguinte sintaxe:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> ... <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Política predefinida
O exemplo seguinte mostra as predefinições quando adiciona uma política ReadPropertySet ao seu fluxo na IU do Apigee:
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Quando insere uma nova política ReadPropertySet na IU do Apigee, o modelo contém stubs para todas as operações possíveis. Consulte abaixo informações sobre os elementos obrigatórios.
Este elemento tem os seguintes atributos comuns a todas as políticas:
| Atributo | Predefinição | Obrigatório? | Descrição | 
|---|---|---|---|
| name | N/A | Obrigatório | O nome interno da política. O valor do atributo  Opcionalmente, use o elemento  | 
| continueOnError | falso | Opcional | Definido como falsepara devolver um erro quando uma política falha. Este comportamento é o esperado para a maioria das políticas. Definido comotruepara que a execução do fluxo continue mesmo depois de uma política falhar. Veja também: | 
| enabled | verdadeiro | Opcional | Defina como truepara aplicar a política. Defina comofalsepara desativar a política. A política não é aplicada, mesmo que permaneça anexada a um fluxo. | 
| async | falso | Descontinuado | Este atributo foi descontinuado. | 
A tabela seguinte apresenta uma descrição geral dos elementos secundários de
  <ReadPropertySet>:
| Elemento secundário | Obrigatório? | Descrição | 
|---|---|---|
| <Read> | Obrigatória | Lê e resolve uma variável de conjunto de propriedades e define-a para uma variável de fluxo especificada. | 
| <IgnoreUnresolvedVariables> | Opcional | Determina se o processamento é interrompido quando um conjunto de propriedades não é resolvido. | 
Exemplo
Esta secção apresenta um exemplo com <ReadPropertySet>.
Exemplo
Este exemplo usa <ReadPropertySet> para obter
        propertyset.environment.name.request.headers.api-version e
        atribuí-lo a target_url. Se o valor definido da propriedade não for obtido,
        é usado https://httpbin.org/get.
<ReadPropertySet name="read-property-set">
  <Read>
    <Name ref="set-ref">environment.name</Name>
    <Key ref="key-ref">request.headers.api-version</Key>
    <AssignTo>target_url</AssignTo>
    <DefaultValue>https://httpbin.org/get</DefaultValue>
  </Read>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> 
</ReadPropertySet>Referência de elemento secundário
Esta secção descreve os elementos subordinados de <ReadPropertySet>.
<Read>
  
  
  Resolve uma variável de conjunto de propriedades e define o resultado numa variável de fluxo.
O elemento <Read> especifica a variável do conjunto de propriedades a resolver e a variável de fluxo para
    definir esse valor. Também inclui um valor predefinido opcional, que é usado no caso de um conjunto de propriedades não resolvido. Pode incluir vários elementos <Read> numa única política <ReadPropertySet>.
| Valor predefinido | N/A | 
| Obrigatório? | Opcional | 
| Tipo | Tipo complexo | 
| Elemento principal | <ReadPropertySet> | 
| Elementos subordinados | <Name><Key><AssignTo><DefaultValue> | 
O elemento <Read> usa a seguinte sintaxe:
Sintaxe
<Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read>
Exemplo
Este exemplo usa <ReadPropertySet> para obter
      propertyset.environment.name.request.headers.api-version e
      atribuí-lo a target_url. Se o valor definido da propriedade não for obtido,
      é usado https://httpbin.org/get.
<ReadPropertySet name="read-property-set">
  <Read>
    <Name ref="environment.name">my-property-set-name</Name>
    <Key ref="request.headers.api-version">my-property-set-key</Key>
    <AssignTo>target_url</AssignTo>
    <DefaultValue>https://httpbin.org/get</DefaultValue>
  </Read>
  <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</ReadPropertySet>A tabela seguinte fornece uma descrição geral dos elementos secundários de
    <Read>.
| Elemento secundário | Obrigatório? | Descrição | 
|---|---|---|
| <Name> | Obrigatória | String A propriedade definida para leitura. Indique o ref, o valor ou ambos.O Apigee tenta primeiro resolver o elemento
               
 | 
| <Key> | Obrigatória | String A chave do conjunto de propriedades que é usada quando a variável é resolvida. Indique o ref, o valor ou ambos.O Apigee tenta primeiro resolver o elemento
               
 | 
| <AssignTo> | Obrigatória | String Especifica a variável de fluxo à qual atribuir a variável resolvida. | 
| <DefaultValue> | Opcional | String Especifica um valor predefinido a usar quando não é possível resolver a variável. | 
<IgnoreUnresolvedVariables>
Determina se o processamento é interrompido quando um conjunto de propriedades não é resolvido. Definido como
    true para ignorar variáveis não resolvidas e continuar o processamento.
IgnoreUnresolvedVariables não é aplicável quando <DefaultValue>
    é fornecido.
| Valor predefinido | Falso | 
| Obrigatório? | Opcional | 
| Tipo | Booleano | 
| Elemento principal | <ReadPropertySet> | 
| Elementos subordinados | Nenhum | 
Referência de erro
Esta secção descreve os códigos de falhas e as mensagens de erro devolvidas, bem como as variáveis de falhas definidas pelo Apigee específicas da política <ReadPropertySet>.
      É importante conhecer estas informações se estiver a desenvolver regras de falhas para
    resolver falhas. Para saber mais, consulte o artigo O que precisa de saber
    acerca dos erros de políticas e Como processar
    falhas.
Erros de tempo de execução
Estes erros podem ocorrer quando a política é executada.
| Código de falha | Estado de HTTP | Causa | 
|---|---|---|
| steps.readpropertyset.UnresolvedVariable | 500 | Este erro ocorre se uma variável especificada na política ReadPropertySet for: 
 Se  | 
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
| Nome do erro | Causa | 
|---|---|
| steps.readpropertyset.EmptyReads | A política não tem elementos subordinados <Read>. | 
| steps.readpropertyset.FieldUnset | Este código é devolvido quando qualquer uma das seguintes afirmações é verdadeira: 
 | 
Variáveis de falha
Estas variáveis são definidas quando esta política aciona um erro no tempo de execução. Para mais informações, consulte o artigo O que precisa de saber sobre os erros de políticas.
| Variáveis | Onde | Exemplo | 
|---|---|---|
| fault.name="FAULT_NAME" | FAULT_NAME é o nome da falha, conforme indicado na tabela Erros de tempo de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" | 
| readpropertyset.POLICY_NAME.failed | POLICY_NAME é o nome especificado pelo utilizador da política que gerou a falha. | readpropertyset.RPS-SetResponse.failed = true | 
Exemplo de resposta de erro
{ "fault": { "faultstring": "ReadPropertySet[RPS-SetResponse]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.readpropertyset.UnresolvedVariable" } } }
Exemplo de regra de falha
  <FaultRule name="ReadPropertySet Faults">
      <Step>
          <Name>RPS-CustomSetVariableErrorResponse</Name>
          <Condition>(fault.name = "SetVariableFailed")</Condition>
      </Step>
      <Condition>(readpropertyset.failed = true)</Condition>
  </FaultRule>
  Esquemas
Cada tipo de política é definido por um esquema XML (.xsd). Para referência, os esquemas de políticas
    estão disponíveis no GitHub.