Amazon Managed Service para Apache Flink Amazon se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Propiedades de tiempo de ejecución en Managed Service for Apache Flink
Puede usar las propiedades de tiempo de ejecución para configurar su aplicación sin tener que volver a compilar el código de la aplicación.
Este tema contiene las siguientes secciones:
Trabajar con las propiedades del tiempo de ejecución en la consola
Puede añadir, actualizar o eliminar propiedades de tiempo de ejecución de su aplicación Managed Service for Apache Flink mediante. AWS Management Console
nota
Si utiliza una versión anterior compatible de Apache Flink y desea actualizar sus aplicaciones existentes a Apache Flink 1.19.1, puede hacerlo mediante las actualizaciones de versión integradas de Apache Flink. Con las actualizaciones de versión locales, conserva la trazabilidad de las aplicaciones con respecto a un único ARN en todas las versiones de Apache Flink, incluidas las instantáneas, los registros, las métricas, las etiquetas, las configuraciones de Flink y más. Puede utilizar esta función en cualquier estado. RUNNING
READY
Para obtener más información, consulte Actualizaciones de versión locales para Apache Flink.
Actualización de propiedades de tiempo de ejecución para un servicio gestionado para la aplicación Apache Flink
Abra la consola de Managed Service para Apache Flink en https://console.aws.amazon.com/flink.
Elija su Managed Service para la aplicación Apache Flink. Elija Detalles de la aplicación.
En la página de su aplicación, elija Configurar.
Amplíe la sección Propiedades.
Utilice los controles de la sección Propiedades para definir un grupo de propiedades con pares de valor clave. Utilice estos controles para añadir, actualizar o eliminar grupos de propiedades y propiedades de tiempo de ejecución.
Elija Actualizar.
Trabajar con propiedades de tiempo de ejecución en la CLI
Puede agregar, actualizar o eliminar propiedades en tiempo de ejecución mediante AWS CLI.
En esta sección se incluyen ejemplos de solicitudes de acciones de API para configurar las propiedades de tiempo de ejecución de una aplicación. Para obtener información sobre cómo utilizar un archivo JSON como entrada para una acción de API, consulte Código de ejemplo de la API de Managed Service for Apache Flink.
nota
Sustituya el ID de cuenta de muestra (
) en los siguientes ejemplos por su ID de cuenta.012345678901
Añadir propiedades de tiempo de ejecución al crear una aplicación
El siguiente ejemplo de solicitud para la CreateApplication
acción agrega dos grupos de propiedades de tiempo de ejecución (ProducerConfigProperties
y ConsumerConfigProperties
) al crear una aplicación:
{ "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" } } ] } } }
Añadir y actualizar las propiedades del tiempo de ejecución en una aplicación existente
El siguiente ejemplo de solicitud de la acción UpdateApplication
agrega o actualiza las propiedades de tiempo de ejecución de una aplicación 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
Si usa una clave que no tiene una propiedad de tiempo de ejecución correspondiente en un grupo de propiedades, Managed Service para Apache Flink agrega el par de valor clave como una nueva propiedad. Si usa una clave para una propiedad de tiempo de ejecución existente en un grupo de propiedades, Managed Service para Apache Flink actualiza el valor de la propiedad.
Eliminar propiedades de tiempo de ejecución
El siguiente ejemplo de solicitud de la acción UpdateApplication
elimina todas las propiedades de tiempo de ejecución y grupos de propiedades de una aplicación existente:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 3, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [] } } }
importante
Si omite un grupo de propiedades existente o una clave de propiedad existente en un grupo de propiedades, ese grupo de propiedades o propiedad se elimina.
Acceder a las propiedades del tiempo de ejecución en una aplicación de Managed Service for Apache Flink
Las propiedades de tiempo de ejecución se recuperan en el código de la aplicación Java mediante el método estático KinesisAnalyticsRuntime.getApplicationProperties()
, que devuelve un objeto Map<String, Properties>
.
En el siguiente ejemplo de código Java, se recuperan las propiedades de tiempo de ejecución de su aplicación:
Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
Puede recuperar un grupo de propiedades (como un objeto Java.Util.Properties
) de la siguiente manera:
Properties consumerProperties = applicationProperties.get("ConsumerConfigProperties");
Por lo general, se configura una fuente o un receptor de Apache Flink pasando el objeto Properties
sin necesidad de recuperar las propiedades individuales. El siguiente ejemplo de código muestra cómo crear una fuente de Flink pasando un objeto Properties
recuperado de las propiedades de tiempo de ejecución:
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 ver ejemplos de código, consulte Managed Service para Apache Flink: ejemplos.