Visão geral
A política ReadPropertySet lê conjuntos de propriedades e preenche a variável de fluxo com os resultados.
Esta é uma política padrão e pode ser implantada em qualquer tipo de ambiente. Para informações sobre os tipos de políticas e a disponibilidade de cada tipo de ambiente, consulte Tipos de políticas.
Elemento <ReadPropertySet>
  Define uma política ReadPropertySet.
| Valor padrão | Consulte a guia Política padrão a seguir | 
| Obrigatório? | Obrigatório | 
| Tipo | Objeto complexo | 
| Elemento pai | N/A | 
| Elemento filho | 
        
          
            <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 padrão
O exemplo a seguir mostra as configurações padrão quando você adiciona uma política ReadPropertySet ao fluxo na interface da 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 você insere uma nova política ReadPropertySet na interface da Apigee, o modelo contém stubs para todas as operações possíveis. Veja abaixo as informações sobre os elementos obrigatórios.
Este elemento tem os seguintes atributos comuns a todas as políticas:
| Atributo | Padrão | Obrigatório? | Descrição | 
|---|---|---|---|
name | 
        N/A | Valor | 
           O nome interno da política. O valor do atributo  Opcionalmente, use o elemento   | 
      
continueOnError | 
        falso | Opcional | Defina como false para retornar um erro quando uma política falhar. Esse é o comportamento esperado para
          a maioria das políticas. Defina como true para que a execução do fluxo continue, mesmo depois que uma política
            falhar. Consulte também:
       | 
enabled | 
        true | Opcional | Defina como true para aplicar a política. Defina como false para desativar a política. A política não será aplicada mesmo que permaneça vinculada a um fluxo. | 
      
async   | 
        falso | Obsoleto | Esse atributo está obsoleto. | 
A tabela a seguir fornece uma descrição resumida dos elementos filhos de
  <ReadPropertySet>:
| Elemento filho | Obrigatório? | Descrição | 
|---|---|---|
<Read> | 
        Obrigatório | Lê e resolve uma variável de conjunto de propriedades e a define como uma variável de fluxo especificada. | 
<IgnoreUnresolvedVariables> | 
        Opcional | Determina se o processamento é interrompido quando um conjunto de propriedades não é resolvido. | 
Exemplo
Nesta seção, fornecemos um exemplo que usa <ReadPropertySet>.
Exemplo
Esse exemplo usa <ReadPropertySet> para acessar
        propertyset.environment.name.request.headers.api-version e
        atribuí-lo a target_url. Se o valor do conjunto de propriedades não for recebido,
        https://httpbin.org/get será usado.
<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 a elementos filhos
Esta seção descreve os elementos filhos de <ReadPropertySet>.
<Read>
  
  
  Resolve uma variável de conjunto de propriedades e define o resultado em uma variável de fluxo.
O elemento <Read> especifica a variável do conjunto de propriedades a ser resolvida e a variável de fluxo a ser
     usada para definir esse valor. Ele também inclui um valor padrão opcional, que é usado no caso de um
    conjunto de propriedades não resolvido. É possível incluir vários elementos <Read> em uma única política <ReadPropertySet>.
| Valor padrão | N/A | 
| Obrigatório? | Opcional | 
| Tipo | Tipo complexo | 
| Elemento pai | 
        
          <ReadPropertySet>
        
       | 
    
| Elemento filho | 
        
          
            <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
Esse exemplo usa <ReadPropertySet> para acessar
      propertyset.environment.name.request.headers.api-version e
      atribuí-lo a target_url. Se o valor do conjunto de propriedades não for recebido,
      https://httpbin.org/get será usado.
<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 a seguir fornece uma descrição resumida dos elementos filhos de
    <Read>.
| Elemento filho | Obrigatório? | Descrição | 
|---|---|---|
<Name> | 
          Obrigatório | String O conjunto de propriedades a ser lido. Forneça ref, o valor ou ambos.
            Primeiro, a Apigee tenta resolver
               
  | 
        
<Key> | 
          Obrigatório | String A chave do conjunto de propriedades usado ao resolver a variável. Forneça ref, o valor ou ambos.
            Primeiro, a Apigee tenta resolver
               
  | 
        
<AssignTo> | 
          Obrigatório | String Especifica a variável de fluxo a ser atribuída à variável resolvida.  | 
        
<DefaultValue> | 
          Opcional | String Especifica um valor padrão a ser usado quando a variável não puder ser resolvida.  | 
        
<IgnoreUnresolvedVariables>
Determina se o processamento é interrompido quando um conjunto de propriedades não é resolvido. Defina como
    true para ignorar variáveis não resolvidas e continuar o processamento.
IgnoreUnresolvedVariables não é aplicável quando <DefaultValue>
    é fornecido.
| Valor padrão | Falso | 
| Obrigatório? | Opcional | 
| Tipo | Booleano | 
| Elemento pai | 
        
          <ReadPropertySet>
        
       | 
    
| Elemento filho | Nenhum | 
Referência de erros
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas, bem como as variáveis
      de falha definidas pela Apigee específicas para a política <ReadPropertySet>.
      Essas informações são importantes para saber se você está desenvolvendo regras de falha para
  lidar com falhas. Para saber mais, consulte Tópicos importantes
    sobre erros de política e Como lidar
    com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
| Código de falha | Status HTTP | Causa | 
|---|---|---|
steps.readpropertyset.UnresolvedVariable | 
          500 | 
          
             Esse erro ocorrerá se uma variável especificada na política ReadPropertySet estiver: 
 Se   | 
        
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
| Nome do erro | Causa | 
|---|---|
steps.readpropertyset.EmptyReads | 
          A política não tem elementos filhos <Read>. | 
        
steps.readpropertyset.FieldUnset | 
          Esse código será retornado quando uma destas condições for verdadeira:
  | 
        
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução. Para mais informações, consulte Tópicos importantes sobre erros de política.
| Variáveis | Onde | Exemplo | 
|---|---|---|
fault.name="FAULT_NAME" | 
          FAULT_NAME é o nome da falha, conforme listado na tabela Erros de ambiente 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 usuário da política que causou 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, esquemas de política
    estão disponíveis no GitHub.