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.
Utilice las 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:
Administre las propiedades del tiempo de ejecución mediante 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 actuales 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, podrá seguir la trazabilidad de las aplicaciones con respecto a una sola ARN en todas las versiones de Apache Flink, incluidas las instantáneas, los registros, las métricas, las etiquetas, las configuraciones de Flink y mucho más. Puede utilizar esta función en cualquier estado. RUNNING
READY
Para obtener más información, consulte Utilice 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 for 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.
Administre las propiedades del tiempo de ejecución mediante 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 API acciones para configurar las propiedades del tiempo de ejecución de una aplicación. Para obtener información sobre cómo utilizar un JSON archivo como entrada para una API acción, consulteCódigo de ejemplo de la API de Managed Service for Apache Flink.
nota
Sustituya el ejemplo de ID de cuenta (
) en los ejemplos siguientes con su ID de cuenta.012345678901
Agregue 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" } } ] } } }
Agregue y actualice 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 las propiedades del 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.
Acceda 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 Ejemplos para crear aplicaciones de Managed Service for Apache Flink y trabajar con ellas.