Integración con Event Notifications
Como administrador de App Configuration, es posible que desee enviar notificaciones de eventos en App Configuration a otros usuarios, o destinos humanos, mediante el uso de correo electrónico, SMS u otros canales de entrega compatibles. Además, es posible que desee enviar estas notificaciones de eventos a otras aplicaciones para construir la lógica mediante el uso de la programación dirigida por eventos que utiliza webhooks, por ejemplo. Esto es posible gracias a la integración entre App Configuration y Event Notifications.
Para enviar información a Event Notifications, debe conectar su instancia de servicio App Configuration a Event Notifications. Para obtener más información sobre cómo trabajar con Event Notifications, consulte Iniciación a Event Notifications.
¿Cómo recoge y envía App Configuration los eventos?
Cuando se produce un evento de interés en su instancia App Configuration, App Configuration se comunica con una instancia Event Notifications conectada para reenviar una notificación a un destino compatible.
Sucesos de App Configuration
En la tabla siguiente se listan las acciones de App Configuration que generan un suceso.
| Nombre de suceso | Tipo de suceso | Subtipo |
|---|---|---|
| Configuración de recursos | com.ibm.cloud.apprapp.config_aggregator.resource_config |
|
| Entornos | com.ibm.cloud.apprapp.feature_flags.environments |
crear actualizar suprimir |
| Recopilaciones | com.ibm.cloud.apprapp.feature_flags.collections |
crear actualizar suprimir |
| Características | com.ibm.cloud.apprapp.feature_flags.features |
crear actualizar suprimir |
| Conmutador de distintivo de característica | com.ibm.cloud.apprapp.feature_flag_toggle |
habilitado inhabilitado |
| Reglas sobre dispositivos | com.ibm.cloud.apprapp.feature_flags.feature_rules |
crear actualizar suprimir |
| Propiedades | com.ibm.cloud.apprapp.feature_flags.properties |
crear actualizar suprimir |
| Segmentos | com.ibm.cloud.apprapp.feature_flags.segments |
crear actualizar suprimir |
| Gitconfigs | com.ibm.cloud.apprapp.feature_flags.gitconfigs |
crear actualizar suprimir |
| Originconfigs | com.ibm.cloud.apprapp.feature_flags.originconfigs |
actualizar |
| Integraciones | com.ibm.cloud.apprapp.feature_flags.integrations |
conectado desconectado |
| Importación de instancias | com.ibm.cloud.apprapp.feature_flags.instance_import |
|
| Gitconfig promover | com.ibm.cloud.apprapp.feature_flags.gitconfig_promote |
|
| Restauración de Gitconfig | com.ibm.cloud.apprapp.feature_flags.gitconfig_restore |
Habilitación de notificaciones con Event Notifications
Los eventos generados por una instancia del servicio App Configuration pueden reenviarse a una instancia del servicio Event Notifications que esté disponible en la misma cuenta. Sólo se puede configurar una instancia de App Configuration para una instancia de servicio de Event Notifications. Para empezar, necesita:
- Gestione el acceso al servicio en el servicio App Configuration.
- Gestione el acceso al servicio en el servicio Event Notifications. Para ver una instancia de servicio Event Notifications existente en su cuenta, también necesita acceso a la plataforma Viewer o superior.
Conectar a Event Notifications en la interfaz de usuario
Antes de empezar a integrar Event Notifications con App Configuration, necesita una instancia de crear un servicio Event Notifications en la misma cuenta que su instancia de App Configuration. Asegúrese de que dispone de IAM role Manager para IBM App Configuration, y de IAM service-to-service authorization.
Si utiliza la CLI o la API de App Configuration para crear la integración con una instancia de servicio de Event Notifications, asegúrese de que ha habilitado la autorización para conceder acceso entre servicios antes de realizar la integración con Event Notifications. Para obtener más información, consulte Uso de autorizaciones para otorgar acceso entre servicios.
Para realizar la integración con un servicio Event Notifications, realice los pasos siguientes:
-
En el panel de control de instancia de servicio de App Configuration, pulse Integraciones. De forma predeterminada, las integraciones muestran los servicios soportados junto con las integraciones en el servicio App Configuration actual.
-
En el mosaico Event Notifications, pulse Conectar +. Esto muestra el panel lateral Conectar a Event Notifications.
Event Notifications -
Introduzca los datos de la fuente. Se hará referencia a los detalles de origen proporcionados en Event Notifications.
- Nombre: especifique el nombre de la instancia de App Configuration a la que se hará referencia en Event Notifications.
- Descripción-Opcionalmente, proporcione una breve descripción sobre este origen.
-
Proporcione los siguientes detalles de instancia deEvent Notifications, si ya tiene una instancia de Event Notifications. De lo contrario, pulse Crear nueva instancia.
- Grupo de recursos-Seleccione el grupo de recursos donde se crea la instancia de Event Notifications de la lista.
- Instancia de servicio deEvent Notifications: seleccione la instancia de servicio de Event Notifications en la lista.
-
Haga clic en Guardar para aplicar la integración.
Se muestra un error si no se ha habilitado ninguna autorización de servicio a servicio de IAM y no se guardarán los detalles de integración.
Los detalles de Event Notifications integrados se listan en Instancia conectada.
El menú de desbordamiento de la instancia conectada consta de:
- Renovar-Seleccione esta opción para renovar los detalles de la integración de instancias de Event Notifications.
- Desconectar-Seleccione esta opción para desconectar la instancia de Event Notifications integrada anteriormente con la instancia de servicio de App Configuration.
Después de una integración satisfactoria, debe crear temas, destinos y suscripciones en Event Notifications para que se le notifique de los sucesos generados por la instancia de servicio de App Configuration. Para obtener más detalles, consulte la documentación deEvent Notifications.
Cuando cree un tema en la instancia de servicio de Event Notifications, siga estos pasos:
- Seleccione el Origen como App Configuration.
- Seleccione el Tipo de suceso en función de sus requisitos. Para obtener más información, consulte tipo de suceso.
- Seleccione el Subtipo de suceso, que es opcional.
- Seleccione la Gravedad, que es opcional.
- Defina las Condiciones avanzadas, que son opcionales.
Utilización de autorizaciones para otorgar acceso entre servicios
Utilice IBM Cloud® Identity and Access Management (IAM) para crear o eliminar una autorización que otorgue a un servicio acceso a otro servicio. Utilice la delegación de autorización para crear automáticamente políticas de acceso que otorguen acceso a servicios dependientes.
Creación de una autorización en la consola
-
En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Autorizaciones.
-
Pulse Crear.
-
Seleccione una cuenta de origen.
- Si el servicio de origen que necesita acceso al servicio de destino está en esta cuenta, seleccione Esta cuenta.
- Si el servicio de origen que necesita acceso al servicio de destino está en una cuenta diferente, seleccione Otra cuenta. A continuación, introduzca el ID de cuenta de la cuenta de origen.
-
Seleccione un Servicio de origen como App Configuration.
-
Especifique si desea que la autorización sea para todos los recursos o recursos basándose en los atributos seleccionados. Si ha seleccionado Recursos basados en atributos seleccionados, especifique Añadir atributos: sólo grupo de recursos de origen o sólo instancia de servicio de origen.
-
Seleccione un Servicio de destino como Event Notifications.
-
Para el servicio de destino, especifique si desea que la autorización sea para todas las instancias, sólo para una instancia específica de la cuenta o sólo para las instancias de un determinado grupo de recursos.
-
Seleccione un rol para asignar acceso al servicio de origen que accede al servicio de destino.
-
Pulse Autorizar.
Creación de una autorización utilizando la CLI
Para autorizar a un servicio de origen a acceder a un servicio de destino, ejecute el mandato ibmcloud iam authorization-policy-create.
Para obtener más información sobre todos los parámetros que están disponibles para este mandato, consulte ibmcloud iam authorization-policy-create.
Detalles de carga útil de notificación
Los eventos generados con éxito por App Configuration contienen varios campos que le ayudan a identificar la fuente y los detalles del evento.
{
"data": {
"changes": {
"enabled": {
"new_value": true,
"old_value": false
}
},
"metadata": {
"environment_id": "production",
"feature_id": "member-only-discount",
"collections": [
{
"collection_id": "blue-charge"
}
]
}
},
"datacontenttype": "application/json",
"en_source_id": "crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::",
"ibmendefaultlong": "The features \"Member only discount\" were updated in your IBM Cloud App Configuration instance.",
"ibmendefaultshort": "Your features \"Member only discount\" were updated",
"ibmensourceid": "crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::",
"id": "appconfig-txid-fb62ce40175c1b2426b491843d9cbce4",
"notification_id": "5b5473f5-802d-4562-a859-9d31e7699443",
"source": "IBM Cloud App Configuration Feature flags",
"specversion": "1.0",
"subject": "Member only discount",
"time": "2026-03-06T05:12:25Z",
"type": "com.ibm.cloud.apprapp.feature_flags.features:update"
}
Revise la tabla siguiente para obtener más información sobre las propiedades de notificación de sucesos.
Campos obligatorios
| Propiedad | Descripción |
|---|---|
subject |
El asunto de la notificación. El asunto es el nombre del recurso, como el nombre del entorno, el nombre del indicador de función, el nombre de la colección, el nombre del segmento o el nombre de gitconfig. |
type |
El tipo de evento junto con un subtipo opcional. |
ibmendefaultshort |
Breve descripción legible por humanos de la notificación. |
ibmendefaultlong |
Descripción larga y legible de la notificación. |
en_source_id |
Igual que ibmensourceid. |
source |
La fuente de la notificación. Este valor es siempre el mismo. |
ibmensourceid |
La identificación de la fuente. Igual que el ID de origen de la instancia de servicio Event Notifications en la que se crea la integración. |
notification_id |
Identificador añadido por Event Notifications para la trazabilidad de las notificaciones. |
id |
Identificador añadido por App Configuration para el seguimiento de notificaciones. |
specversion |
Versión de la carga útil de la notificación. |
time |
Hora a la que el servicio App Configuration creó la notificación. |
Campos opcionales
| Propiedad | Descripción |
|---|---|
datacontenttype |
El tipo de contenido del campo de datos. |
data |
El contenido legible por máquina es un formato json que especifica más detalles sobre la notificación. Tiene un formato fijo para las acciones de crear, actualizar y eliminar respectivamente. Consulte los ejemplos de campos de datos para cada uno de los recursos. |
Ejemplos de campos de datos
En las siguientes secciones se ofrecen ejemplos de la estructura de campos de data para distintos tipos y subtipos de sucesos.
Configuración de recursos
Tipo de suceso: com.ibm.cloud.apprapp.config_aggregator.resource_config
{
"account_id": "4f631ea3b3204b2b878a295604994acf",
"service_name": "kms",
"config_type": "key",
"type_id": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14:key:8a429ea2-ae32-4253-8233-a533fb5d4b14",
"resource_crn": "crn:v1:bluemix:public:kms:au-syd:a/4f631ea3b3204b2b878a295604994acf:a3d454ea-38f4-4ae1-92e1-6a4aaac24e14::",
"last_config_refresh_time": "2026-02-03T14:18:50Z",
"apprapp_instance_crn": "crn:v1:bluemix:public:apprapp:br-sao:a/4f631ea3b3204b2b878a295604994acf:73446d14-0098-43af-8450-4b338833d0e7::"
}
Entornos
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.environments
Crear
{
"name": "Prod",
"environment_id": "prod",
"tags": "v1,v2",
"description": "Production environment of Blue charge application",
"color_code": "#FDD13A"
}
Actualizar
Los campos de metadatos siempre están presentes.
{
"metadata": {
"environment_id": "prod"
},
"changes": {
"name": {
"old_value": "Production",
"new_value": "Production us-south-1"
},
"description": {
"old_value": "My prod environment",
"new_value": "us-south-1 prod environment"
},
"color_code": {
"old_value": "#111111",
"new_value": "#000000"
},
"tags": {
"old_value": "v1,v2",
"new_value": "1.0"
}
}
}
Suprimir
{
"environment_id": "prod"
}
Recopilaciones
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.collections
Crear
{
"name": "Blue charge",
"collection_id": "blue-charge",
"description": "Collection for Blue charge application",
"tags": "v-1"
}
Actualizar
Los campos de metadatos siempre están presentes.
{
"metadata": {
"collection_id": "blue-charge"
},
"changes": {
"name": {
"old_value": "Blue charge",
"new_value": "My blue charge app"
},
"description": {
"old_value": "my old description",
"new_value": "my new description"
},
"tags": {
"old_value": "v1",
"new_value": "v2"
}
}
}
Suprimir
{
"collection_id": "blue-charge"
}
Características
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.features
Crear
Contiene el atributo adicional environment_id. No contiene el atributo segment_rules.
{
"name": "Member only discount",
"feature_id": "member-only-discount",
"type": "NUMERIC",
"enabled_value": 10,
"disabled_value": 0,
"enabled": true,
"rollout_percentage": 100,
"collections": [
{
"collection_id": "blue-charge"
},
{
"collection_id": "web-app"
}
],
"environment_id": "dev"
}
Actualizar
Los campos de metadatos siempre están presentes. No contiene el atributo segment_rules.
{
"metadata": {
"feature_id": "member-only-discount",
"environment_id": "prod",
"collections": [
{
"collection_id": "blue-charge"
},
{
"collection_id": "web-app"
}
]
},
"changes": {
"rollout_percentage": {
"old_value": 88,
"new_value": 44
},
"name": {
"old_value": "discount",
"new_value": "member only discount"
},
"description": {
"old_value": "new description",
"new_value": "old description"
},
"enabled_value": {
"old_value": 10,
"new_value": 5
},
"disabled_value": {
"old_value": 0,
"new_value": -1
},
"enabled": {
"old_value": false,
"new_value": true
},
"tags": {
"old_value": "v1",
"new_value": "v1,e1"
}
}
}
Suprimir
{
"feature_id": "member-only-discount"
}
Reglas sobre dispositivos
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.feature_rules
Crear
Contiene atributos adicionales environment_id, feature_id, y collections. No contiene el atributo rules.
{
"rule_name": "Rule 4",
"rule_id": "rule_4",
"value": 12,
"order": 4,
"rollout_percentage": 100,
"environment_id": "dev",
"feature_id": "f1",
"collections": [
{
"collection_id": "blue-charge"
}
]
}
Actualizar
Los campos de metadatos siempre están presentes. No contiene el atributo rules.
{
"metadata": {
"rule_id": "rule_4",
"feature_id": "member-only-discount",
"environment_id": "prod",
"collections": [
{
"collection_id": "blue-charge"
},
{
"collection_id": "web-app"
}
]
},
"changes": {
"rollout_percentage": {
"new_value": 100,
"old_value": 50
},
"rule_name": {
"new_value": "My Rule 4",
"old_value": "Rule 4"
},
"value": {
"new_value": 56,
"old_value": 12
}
}
}
Suprimir
{
"environment_id": "prod",
"feature_id": "member-only-discount",
"rule_id": "rule_4",
"collections": [
{
"collection_id": "blue-charge"
}
]
}
Propiedades
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.properties
Crear
Contiene el atributo adicional environment_id. No contiene el atributo segment_rules.
{
"name": "Deployment replicas",
"property_id": "deployment-replicas",
"description": "Replicas for springboot server",
"tags": "v1",
"type": "NUMERIC",
"value": 5,
"collections": [
{
"collection_id": "blue-charge"
},
{
"collection_id": "web-app"
}
],
"environment_id": "prod"
}
Actualizar
Los campos de metadatos siempre están presentes. No contiene el atributo segment_rules.
{
"metadata": {
"environment_id": "prod",
"property_id": "replicas",
"collections": [
{
"collection_id": "blue-charge"
},
{
"collection_id": "web-app"
}
]
},
"changes": {
"description": {
"old_value": "old description",
"new_value": "new description"
},
"value": {
"old_value": 3,
"new_value": 2
},
"name": {
"old_value": "Replicas",
"new_value": "Replicas for springboot server"
},
"tags": {
"old_value": "v1",
"new_value": "version: 1.1, pre-release"
}
}
}
Suprimir
{
"property_id": "my-hostname-port"
}
Segmentos
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.segments
No contiene el atributo rules.
Crear
{
"name": "IBMers",
"segment_id": "ibmers",
"description": "List of IBMers",
"tags": "internal,v1"
}
Actualizar
No contiene el atributo rules.
{
"metadata": {
"segment_id": "ibmers"
},
"changes": {
"description": {
"old_value": "List of IBMers",
"new_value": "IBMers list"
},
"tags": {
"old_value": "v-3",
"new_value": "in,cn"
}
}
}
Suprimir
{
"segment_id": "ibmers"
}
Gitconfigs
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfigs
Crear
{
"collection_id": "blue-charge",
"environment_id": "prod",
"git_branch": "main",
"git_config_id": "test",
"git_config_name": "test",
"git_file_path": "backup.json",
"git_url": "git_project_url"
}
Actualizar
{
"metadata": {
"collection_id": "blue-charge",
"environment_id": "prod",
"git_config_id": "test"
},
"changes": {
"git_file_path": {
"old_value": "backup.json",
"new_value": "bcdr-apr-2026.json"
},
"git_config_name": {
"old_value": "new test",
"new_value": "test"
}
}
}
Suprimir
{
"git_config_id": "test"
}
Originconfigs
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.originconfigs
Actualizar
{
"changes": {
"allowed_origins": {
"old_value": "[https://www.bluecharge.com, https://blog.hubspot.com, http://localhost:3000]",
"new_value": "[https://www.bluecharge.com, https://blog.hubspot.com, http://localhost:3000, https://feature-rbk-5270.release-builder-kit.nonprod.xyz.com, http://localhost:8013]"
}
}
}
Integraciones
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.integrations
Conectado y desconectado
{
"integration_id": "lckkhp34t",
"integration_type": "EVENT_NOTIFICATIONS",
"metadata": "{\"event_notifications_endpoint\": \"https://us-south.event-notifications.cloud.ibm.com\", \"event_notifications_source_id\": \"crn:v1:bluemix:public:apprapp:br-sao:a/dc420e985bb849d6b8352f71dac26ab8:c6d52ad4-adaa-492b-941b-daa9e8d63d3a::\", \"event_notifications_instance_crn\": \"crn:v1:bluemix:public:event-notifications:us-south:a/dc420e985bb849d6b8352f71dac26ab8:eae2796f-510b-4ffd-b534-6de0d2b916a8::\"}"
}
Gitconfig promover
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfig_promote
{
"metadata": {
"collection_id": "blue-charge",
"environment_id": "prod",
"git_config_id": "test"
},
"changes": {
"git_commit_id": "897fba998c600c1198a0786a96156",
"git_commit_message": "custom config data written from App config instance",
"last_sync_time": "2026-03-04T23:47:16Z"
}
}
Restauración de Gitconfig
Tipo de suceso: com.ibm.cloud.apprapp.feature_flags.gitconfig_restore
No contiene el atributo changes.
{
"metadata": {
"collection_id": "blue-charge",
"environment_id": "prod",
"git_config_id": "test"
}
}