

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Definizione delle regole per i flag di funzionalità multivarianti
<a name="appconfig-creating-multi-variant-feature-flags-rules-operators"></a>

Una regola variante è un'espressione composta da uno o più operandi e un operatore. Un operando è un valore specifico utilizzato durante la valutazione di una regola. I valori degli operandi possono essere statici, ad esempio un numero letterale o una stringa, o variabili, ad esempio il valore trovato in un contesto o il risultato di un'altra espressione. Un operatore, ad esempio «maggiore di», è un test o un'azione applicata ai relativi operandi che produce un valore. Un'espressione di regola variante deve produrre un «vero» o un «falso» per essere valida.

**Operandi**


****  

| Tipo | Description | Esempio | 
| --- | --- | --- | 
|  Stringa  |  Una sequenza di caratteri UTF-8, racchiusa tra virgolette doppie.  |  <pre>"apple", "Ḽơᶉëᶆ ȋṕšᶙṁ"</pre>  | 
|  Numero intero  |  Un valore intero a 64 bit.  |  <pre>-7, 42 </pre>  | 
|  Float  |  Un valore a virgola mobile IEEE-754 a 64 bit.  |  <pre>3.14, 1.234e-5</pre>  | 
|  Time stamp  |  Un momento temporale specifico, come descritto dalla nota del [W3C](https://www.w3.org/TR/NOTE-datetime) sui formati di data e ora.  |  <pre>2012-03-04T05:06:07-08:00, 2024-01</pre>  | 
|  Booleano  |  Un valore vero o falso.  |  <pre>true, false</pre>  | 
|  Valore di contesto  |  Un valore parametrizzato sotto forma di \$1 *key* che viene recuperato dal contesto durante la valutazione della regola.  |  <pre>$country, $userId</pre>  | 

**Operatori di confronto**


****  

| Operatore | Description | Esempio | 
| --- | --- | --- | 
|  eq  |  Determina se un valore di contesto è uguale a un determinato valore.  |  <pre>(eq $state "Virginia")</pre>  | 
|  gt  |  Determina se un valore di contesto è maggiore di un determinato valore.  |  <pre>(gt $age 65)</pre>  | 
|  gte  |  Determina se un valore di contesto è maggiore o uguale a un determinato valore.  |  <pre>(gte $age 65)</pre>  | 
|  lt  |  Determina se un valore di contesto è inferiore a un determinato valore.  |  <pre>(lt $age 65)</pre>  | 
|  lte  |  Determina se un valore di contesto è minore o uguale a un determinato valore.  |  <pre>(lte $age 65)</pre>  | 

**Operatori logici**


****  

| Operatore | Description | Esempio | 
| --- | --- | --- | 
|  and  |  Determina se entrambi gli operandi sono veri.  |  <pre>(and <br />    (eq $state "Virginia") <br />    (gt $age 65)<br />)</pre>  | 
|  or  |  Determina se almeno uno degli operandi è vero.  |  <pre>(or<br />    (eq $state "Virginia") <br />    (gt $age 65)<br />)</pre>  | 
|  not  |  Inverte il valore di un'espressione.  |  <pre>(not (eq $state "Virginia"))</pre>  | 

**Operatori personalizzati**


****  

| Operatore | Description | Esempio | 
| --- | --- | --- | 
|  inizia\$1con  |  Determina se un valore di contesto inizia con un determinato prefisso.  |  <pre>(begins_with $state "A")</pre>  | 
|  termina\$1con  |  Determina se un valore di contesto termina con un determinato prefisso.  |  <pre>(ends_with $email "amazon.com")</pre>  | 
|  contiene  |  Determina se un valore di contesto contiene una determinata sottostringa.  |  <pre>(contains $promoCode "WIN")</pre>  | 
|  in  |  Determina se un valore di contesto è contenuto in un elenco di costanti.  |  <pre>(in $userId ["123", "456"])</pre>  | 
|  fiammiferi  |  Determina se un valore di contesto corrisponde a un determinato modello di espressione regolare.  |  <pre>(matches in::$greeting pattern::"h.*y")</pre>  | 
|  exists  |  Determina se è stato fornito un valore per una chiave di contesto.  |  <pre>(exists key::"country")</pre>  | 
|  dividi  |  Restituisce una determinata percentuale di traffico in base a un hash coerente dei valori di contesto forniti. `true` Per una spiegazione dettagliata di come `split` funziona, consultate la sezione successiva di questo argomento,. [Comprensione dell'operatore split](appconfig-creating-multi-variant-feature-flags-rules.md#appconfig-creating-multi-variant-feature-flags-rules-operators-split) Si noti che `seed` si tratta di una proprietà facoltativa. Se non lo specifichi`seed`, l'hash è coerente a *livello locale*, il che significa che il traffico verrà suddiviso in modo coerente per quel flag, ma altri flag che ricevono lo stesso valore di contesto potrebbero suddividere il traffico in modo diverso. Se fornito, `seed` è garantito che ogni valore univoco suddividerà il traffico in modo uniforme tra feature flag, profili di configurazione e. Account AWS  |  <pre>(split pct::10 by::$userId seed::"abc")</pre>  | 