Use as propriedades de runtime no Managed Service for Apache Flink - Managed Service for Apache Flink

Anteriormente, o Amazon Managed Service for Apache Flink (Amazon MSF) era conhecido como Amazon Kinesis Data Analytics for Apache Flink.

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

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

Gerencie propriedades de runtime usando o console

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.

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.

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

  3. Na página do seu aplicativo, selecione Configurar.

  4. Expanda a seção Propriedades.

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

  6. Selecione Atualizar.

Gerencie propriedades de runtime usando a CLI

É possível adicionar, atualizar ou remover propriedades de runtime usando AWS 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.

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

O exemplo a seguir de solicitação para a ação CreateApplication 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

O exemplo a seguir de solicitação para a ação UpdateApplication 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

O exemplo a seguir de solicitação para a ação UpdateApplication 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

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