

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use as propriedades de runtime no Managed Service for Apache Flink
<a name="how-properties"></a>

Você pode usar *propriedades de runtime* para configurar seu aplicativo sem recompilar o código do aplicativo. 

**Topics**
+ [Gerencie propriedades de runtime usando o console](#how-properties-console)
+ [Gerencie propriedades de runtime usando a CLI](#how-properties-cli)
+ [Acesse propriedades de runtime em um aplicativo Managed Service for Apache Flink](#how-properties-access)

## Gerencie propriedades de runtime usando o console
<a name="how-properties-console"></a>

Você pode adicionar, atualizar ou remover propriedades de runtime do seu aplicativo Managed Service for Apache Flink usando o Console de gerenciamento da AWS.

**nota**  
Se você estiver usando uma versão anterior compatível do Apache Flink e quiser atualizar seus aplicativos existentes para o Apache Flink 1.19.1, pode fazer isso usando atualizações de versão do Apache Flink in-place. Com as atualizações de versão in-place, você mantém a rastreabilidade do aplicativo em relação a um único ARN nas versões do Apache Flink, incluindo snapshots, registros, métricas, tags, configurações do Flink e muito mais. Você pode usar esse recurso em um estado `RUNNING` e `READY`. Para obter mais informações, consulte [Use atualizações de versão in-place para o Apache Flink](how-in-place-version-upgrades.md).

**Atualizar propriedades de runtime for Managed Service for Apache Flink**

1. Faça login no e abra Console de gerenciamento da AWS o console Amazon MSF em https://console.aws.amazon.com /flink.

1. Selecione o seu aplicativo Managed Service for Apache Flink. Selecione **Detalhes do aplicativo**.

1. Na página do seu aplicativo, selecione **Configurar**.

1. Expanda a seção **Propriedades**.

1. Use os controles na seção **Propriedades** para definir um grupo de propriedades com pares de valor-chave. Use esses controles para adicionar, atualizar ou remover grupos de propriedades e propriedades de runtime.

1. Selecione **Atualizar**.

## Gerencie propriedades de runtime usando a CLI
<a name="how-properties-cli"></a>

É possível adicionar, atualizar ou remover propriedades de runtime usando [AWS CLI](https://docs.aws.amazon.com/cli). 

Esta seção inclui exemplos de solicitações de ações de API para configurar propriedades de runtime para um aplicativo. Para obter informações sobre como usar um arquivo JSON como entrada de uma ação da API, consulte [Exemplo de código de API para o Managed Service for Apache Flink](api-examples.md).

**nota**  
Substitua o exemplo de ID da conta (*`012345678901`*) nos exemplos a seguir pelo ID da sua conta.

### Adicione propriedades de runtime ao criar um aplicativo
<a name="how-properties-create"></a>

O exemplo a seguir de solicitação para a ação [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) adiciona dois grupos de propriedades de runtime (`ProducerConfigProperties` e `ConsumerConfigProperties`) quando você cria um aplicativo:

```
{
    "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"
               }
            }
         ]
      }
    }
}
```

### Adicione e atualize propriedades de runtime em um aplicativo existente
<a name="how-properties-update"></a>

O exemplo a seguir de solicitação para a ação [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) adiciona ou atualiza as propriedades de runtime de um aplicativo existente:

```
{
  "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 você usar uma chave que não tenha uma propriedade de runtime correspondente em um grupo de propriedades, o Managed Service for Apache Flink adicionará o par de chave-valor como uma nova propriedade. Se você usar uma chave para uma propriedade de runtime existente em um grupo de propriedades, o Managed Service for Apache Flink atualizará o valor da propriedade. 

### Remova propriedades de runtime
<a name="how-properties-remove"></a>

O exemplo a seguir de solicitação para a ação [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) remove todas as propriedades de runtime e grupos de propriedades de um aplicativo existente:

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

**Importante**  
Se você omitir um grupo de propriedades existente ou uma chave de propriedade existente em um grupo de propriedades, esse grupo de propriedades ou propriedade será removido.

## Acesse propriedades de runtime em um aplicativo Managed Service for Apache Flink
<a name="how-properties-access"></a>

Você recupera as propriedades de runtime no código do aplicativo Java usando o método estático `KinesisAnalyticsRuntime.getApplicationProperties()`, que retorna um objeto `Map<String, Properties>`.

O exemplo de código Java a seguir recupera as propriedades de runtime do seu aplicativo:

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

Você recupera um grupo de propriedades (como um objeto `Java.Util.Properties`) da seguinte forma:

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

Normalmente, você configura uma fonte ou coletor do Apache Flink passando no objeto `Properties` sem precisar recuperar as propriedades individuais. O exemplo de código a seguir demonstra como criar uma fonte do Flink transmitindo em um objeto `Properties` recuperado das propriedades de 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;
}
```

Para obter exemplos de código, consulte [Exemplos de como criar e trabalhar com aplicativos no Managed Service for Apache Flink.](examples-collapsibles.md).