

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à.

# Utilizzo delle proprietà di runtime in Managed Service for Apache Flink
<a name="how-properties"></a>

È possibile utilizzare le *proprietà di runtime* per configurare l'applicazione senza ricompilare il codice dell'applicazione. 

**Topics**
+ [Gestisci le proprietà di runtime utilizzando la console](#how-properties-console)
+ [Gestisci le proprietà di runtime utilizzando la CLI](#how-properties-cli)
+ [Accedi alle proprietà di runtime in un'applicazione Managed Service for Apache Flink](#how-properties-access)

## Gestisci le proprietà di runtime utilizzando la console
<a name="how-properties-console"></a>

È possibile aggiungere, aggiornare o rimuovere le proprietà di runtime dall'applicazione Managed Service for Apache Flink utilizzando. Console di gestione AWS

**Nota**  
Se utilizzi una versione precedente supportata di Apache Flink e desideri aggiornare le tue applicazioni esistenti ad Apache Flink 1.19.1, puoi farlo utilizzando gli aggiornamenti di versione di Apache Flink in loco. Con gli aggiornamenti di versione in loco, mantieni la tracciabilità delle applicazioni su un singolo ARN tra le versioni di Apache Flink, tra cui istantanee, log, metriche, tag, configurazioni Flink e altro ancora. È `RUNNING` `READY` possibile utilizzare questa funzionalità in qualsiasi stato. Per ulteriori informazioni, consulta [Usa gli aggiornamenti di versione sul posto per Apache Flink](how-in-place-version-upgrades.md).

**Aggiornamento delle proprietà di runtime per un'applicazione del servizio gestito per Apache Flink**

1. Accedi a e apri Console di gestione AWS la console Amazon MSF all'indirizzo https://console.aws.amazon.com /flink.

1. Scegli l'applicazione del servizio gestito per Apache Flink. Scegli **Dettagli dell'applicazione**.

1. Nella pagina della tua applicazione, scegli **Configura**.

1. Espandi la sezione **Proprietà**.

1. Utilizza i controlli nella sezione **Proprietà** per definire un gruppo di proprietà con coppie chiave-valore. Utilizza questi controlli per aggiungere, aggiornare o rimuovere gruppi di proprietà e proprietà di runtime.

1. Scegliere **Aggiorna**.

## Gestisci le proprietà di runtime utilizzando la CLI
<a name="how-properties-cli"></a>

Puoi aggiungere, aggiornare o rimuovere le proprietà di runtime utilizzando la [AWS CLI](https://docs.aws.amazon.com/cli). 

Questa sezione include esempi di richieste di operazioni API per la configurazione delle proprietà di runtime per un'applicazione. Per informazioni su come utilizzare un file JSON come input per un'operazione API, consulta [Codice di esempio dell'API Managed Service per Apache Flink](api-examples.md).

**Nota**  
Sostituisci l'ID account di esempio (*`012345678901`*) nell'esempio seguente con il tuo ID account.

### Aggiungi proprietà di runtime durante la creazione di un'applicazione
<a name="how-properties-create"></a>

Il seguente esempio di richiesta per l'operazione [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) aggiunge due gruppi di proprietà di runtime (`ProducerConfigProperties` e `ConsumerConfigProperties`) quando crei un'applicazione:

```
{
    "ApplicationName": "MyApplication",
    "ApplicationDescription": "my java test app",
    "RuntimeEnvironment": "FLINK-1_19",
    "ServiceExecutionRole": "arn:aws:iam::012345678901:role/MF-stream-rw-role",
    "ApplicationConfiguration": {
        "ApplicationCodeConfiguration": {
            "CodeContent": {
                "S3ContentLocation": {
                    "BucketARN": "arn:aws:s3:::ka-app-code-username",
                    "FileKey": "java-getting-started-1.0.jar"
                }
            },
            "CodeContentType": "ZIPFILE"
        },
        "EnvironmentProperties":  { 
         "PropertyGroups": [ 
            { 
               "PropertyGroupId": "ProducerConfigProperties",
               "PropertyMap" : {
                    "flink.stream.initpos" : "LATEST",
                    "aws.region" : "us-west-2",
                    "AggregationEnabled" : "false"
               }
            },
            { 
               "PropertyGroupId": "ConsumerConfigProperties",
               "PropertyMap" : {
                    "aws.region" : "us-west-2"
               }
            }
         ]
      }
    }
}
```

### Aggiungere e aggiornare le proprietà di runtime in un'applicazione esistente
<a name="how-properties-update"></a>

La seguente richiesta per l'operazione [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) aggiunge o aggiorna le proprietà di runtime per un'applicazione esistente:

```
{
  "ApplicationName": "MyApplication",
  "CurrentApplicationVersionId": 2,
  "ApplicationConfigurationUpdate": {
    "EnvironmentPropertyUpdates": {
      "PropertyGroups": [ 
        { 
          "PropertyGroupId": "ProducerConfigProperties",
          "PropertyMap" : {
            "flink.stream.initpos" : "LATEST",
            "aws.region" : "us-west-2",
            "AggregationEnabled" : "false"
          }
        },
        { 
          "PropertyGroupId": "ConsumerConfigProperties",
          "PropertyMap" : {
            "aws.region" : "us-west-2"
          }
        }
      ]
    }
  }
}
```

**Nota**  
Se utilizzi una chiave che non ha una proprietà di runtime corrispondente in un gruppo di proprietà, il servizio gestito per Apache Flink aggiunge la coppia chiave-valore come nuova proprietà. Se utilizzi una chiave per una proprietà di runtime esistente in un gruppo di proprietà, il servizio gestito per Apache Flink aggiorna il valore della proprietà. 

### Rimuovere le proprietà di runtime
<a name="how-properties-remove"></a>

La seguente richiesta per l'operazione [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) rimuove tutte le proprietà di runtime e i gruppi di proprietà da un'applicazione esistente:

```
{
  "ApplicationName": "MyApplication",
  "CurrentApplicationVersionId": 3,
  "ApplicationConfigurationUpdate": {
    "EnvironmentPropertyUpdates": {
      "PropertyGroups": []
    }
  }
}
```

**Importante**  
Se ometti un gruppo di proprietà esistente o una chiave di proprietà esistente in un gruppo di proprietà, tale gruppo di proprietà o proprietà vengono rimossi.

## Accedi alle proprietà di runtime in un'applicazione Managed Service for Apache Flink
<a name="how-properties-access"></a>

È possibile recuperare le proprietà di runtime nel codice dell'applicazione Java utilizzando il metodo statico `KinesisAnalyticsRuntime.getApplicationProperties()`, che restituisce un oggetto `Map<String, Properties>`.

Il seguente esempio di codice Java recupera le proprietà di runtime per l'applicazione:

```
 Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
```

Recupera un gruppo di proprietà (come oggetto `Java.Util.Properties`) nel modo seguente:

```
Properties consumerProperties = applicationProperties.get("ConsumerConfigProperties");
```

In genere si configura un'origine o un sink Apache Flink passando nell'oggetto `Properties` senza bisogno di recuperare le singole proprietà. Il seguente esempio di codice dimostra come creare un'origine Flink passando un oggetto `Properties` recuperato dalle proprietà di runtime:

```
private static FlinkKinesisProducer<String> createSinkFromApplicationProperties() throws IOException {
  Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
  FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<String>(new SimpleStringSchema(),
    applicationProperties.get("ProducerConfigProperties"));

  sink.setDefaultStream(outputStreamName);
  sink.setDefaultPartition("0");
  return sink;
}
```

Per alcuni esempi di codice, consultare [Esempi di creazione e utilizzo di Managed Service per applicazioni Apache Flink](examples-collapsibles.md).