Integrazione con Event Notifications

Come amministratore di App Configuration, si potrebbe voler inviare notifiche di eventi in App Configuration ad altri utenti o a destinazioni umane, utilizzando e-mail, SMS o altri canali di consegna supportati. Inoltre, potresti voler inviare queste notifiche di eventi ad altre applicazioni per creare la logica utilizzando la programmazione basata sugli eventi che utilizza i webhook, ad esempio. Ciò è reso possibile dall'integrazione tra App Configuration e Event Notifications.

Per inviare le informazioni a Event Notifications, devi connettere la tua istanza del servizio App Configuration a Event Notifications. Per ulteriori informazioni sull'utilizzo di Event Notifications, vedi Introduzione a Event Notifications.

Come vengono raccolti e inviati gli eventi da App Configuration?

Quando si verifica un evento di interesse nella tua istanza App Configuration, App Configuration comunica con un'istanza Event Notifications connessa per inoltrare una notifica a una destinazione supportata.

Eventi per App Configuration

La seguente tabella elenca le azioni App Configuration che generano un evento.

Azioni che generano notifiche di eventi
Nome evento Tipo di evento Tipo secondario
Configurazione delle risorse com.ibm.cloud.apprapp.config_aggregator.resource_config
Ambienti com.ibm.cloud.apprapp.feature_flags.environments creare
aggiornare
cancellare
Raccolte com.ibm.cloud.apprapp.feature_flags.collections creare
aggiornare
cancellare
Funzioni com.ibm.cloud.apprapp.feature_flags.features creare
aggiornare
cancellare
Attiva/disattiva indicatore funzione com.ibm.cloud.apprapp.feature_flag_toggle abilitato
disabilitato
Regole di funzionamento com.ibm.cloud.apprapp.feature_flags.feature_rules creare
aggiornare
cancellare
Proprietà com.ibm.cloud.apprapp.feature_flags.properties creare
aggiornare
cancellare
Segmenti com.ibm.cloud.apprapp.feature_flags.segments creare
aggiornare
cancellare
Gitconfigs com.ibm.cloud.apprapp.feature_flags.gitconfigs creare
aggiornare
cancellare
Origineconfigs com.ibm.cloud.apprapp.feature_flags.originconfigs Aggiorna
Integrazioni com.ibm.cloud.apprapp.feature_flags.integrations collegato
scollegato
Importazione dell'istanza com.ibm.cloud.apprapp.feature_flags.instance_import
Promuovere Gitconfig com.ibm.cloud.apprapp.feature_flags.gitconfig_promote
Ripristino di Gitconfig com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

Abilitazione delle notifiche con Event Notifications

Gli eventi generati da un'istanza del servizio App Configuration possono essere inoltrati a un'istanza del servizio Event Notifications disponibile nello stesso account. Puoi configurare una sola istanza del servizio App Configuration a una sola istanza del servizio Event Notifications. Per iniziare, è necessario:

Connessione a Event Notifications nell'IU

Prima di iniziare l'integrazione di Event Notifications con App Configuration, è necessario che l'istanza creare un servizio Event Notifications sia presente nello stesso account dell'istanza App Configuration. Assicurarsi di disporre di IAM role Manager per IBM App Configuration e di IAM service-to-service authorization.

Se si utilizza la CLI o l'API di App Configuration per creare un'integrazione con un'istanza di servizio di Event Notifications, assicurarsi di aver abilitato l'autorizzazione a concedere l'accesso tra i servizi prima di integrare con Event Notifications. Per ulteriori informazioni, vedi il documento relativo all'utilizzo delle autorizzazioni per concedere l'accesso tra i servizi.

Per integrare un servizio Event Notifications, completa la seguente procedura:

  1. Dal tuo dashboard dell'istanza del servizio App Configuration, fai clic su Integrations. Per default, le integrazioni visualizzano i servizi supportati insieme alle integrazioni nel servizio App Configuration corrente.

  2. Dal riquadro Event Notifications, fare clic su Connetti +. Visualizza il pannello laterale Connect to Event Notifications.

    Creare Event Notifications
    * Creare Event Notifications
    *

  3. Inserire il sito Dettagli sulla fonte. I dettagli di origine forniti verranno indicati in Event Notifications.

    • Nome- immetti il nome per la tua istanza App Configuration a cui fare riferimento in Event Notifications.
    • Descrizione- Facoltativamente, fornire una breve descrizione su questa origine.
  4. Fornisci i seguenti dettagli Istanza Event Notifications, se hai già un'istanza Event Notifications. Altrimenti, fare clic su Crea nuova istanza.

    • Gruppo di risorse- Seleziona il gruppo di risorse in cui viene creata la tua istanza Event Notifications dall'elenco.
    • Event Notifications- seleziona l'istanza del servizio Event Notifications dall'elenco.
  5. Fare clic su Salva per applicare l'integrazione.

    Viene visualizzato un errore se non è abilitata alcuna autorizzazione service - to - service IAM e i dettagli dell'integrazione non verranno salvati.

I dettagli Event Notifications integrati sono riportati in Istanza connessa.

Il menu di overflow dell'istanza connessa consiste in:

  • Aggiorna- Seleziona questa opzione per aggiornare i dettagli di integrazione dell'istanza Event Notifications.
  • Disconnect- Seleziona questa opzione per disconnettere l'istanza Event Notifications integrata in precedenza con la tua istanza del servizio App Configuration.

Dopo una corretta integrazione, devi creare Argomenti, destinazioni e sottoscrizioni in Event Notifications per ricevere una notifica degli eventi generati dalla tua istanza del servizio App Configuration. Per ulteriori dettagli, vedi la documentazione diEvent Notifications.

Quando crei un argomento nella tua istanza del servizio Event Notifications, attieniti alla seguente procedura:

  • Seleziona Source come App Configuration.
  • Selezionare il Tipo di evento in base ai requisiti. Per ulteriori informazioni, vedi tipo di evento.
  • Selezionare il Sottotipo evento, che è facoltativo.
  • Selezionare la Severità, che è facoltativa.
  • Definire le Condizioni avanzate, che sono facoltative.

Utilizzo delle autorizzazioni per concedere l'accesso tra i servizi

Utilizza IBM Cloud® Identity and Access Management (IAM) per creare o rimuovere un'autorizzazione che conceda a un servizio l'accesso a un altro servizio. Utilizza la delega di autorizzazione per creare automaticamente politiche di accesso che garantiscano l'accesso ai servizi dipendenti.

Creare un'autorizzazione nella console

  1. Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Autorizzazioni.

  2. Fai clic su Crea.

  3. Selezionare un account di origine.

    • Se il servizio di origine che deve accedere al servizio di destinazione si trova in questo account, selezionare Questo account.
    • Se il servizio di origine che deve accedere al servizio di destinazione si trova in un account differente, selezionare Altro account. Quindi, immettere l'ID account del conto di origine.
  4. Seleziona un servizio di origine come App Configuration.

  5. Specificare se si desidera che l'autorizzazione sia per tutte le risorse o le risorse in base agli attributi selezionati. Se è stato selezionato Risorse in base agli attributi selezionati, specificare Aggiungi attributi: solo il gruppo di risorse di origine o solo l'istanza del servizio di origine.

  6. Selezionare un Servizio di destinazione come Event Notifications.

  7. Per il servizio di destinazione, specifica se vuoi che l'autorizzazione sia per tutte le istanze, solo per una specifica istanza nell'account o solo per le istanze in un determinato gruppo di risorse.

  8. Seleziona un ruolo per assegnare l'accesso al servizio di origine che accede al servizio di destinazione.

  9. Fai clic su Autorizza.

Creazione di un'autorizzazione tramite la CLI

Per autorizzare un servizio di origine ad accedere ad un servizio di destinazione, eseguire il comando ibmcloud iam authorization-policy-create.

Per ulteriori informazioni su tutti i parametri disponibili per questo comando, consulta ibmcloud iam authorization - policy - create.

Dettagli payload di notifica

Gli eventi riusciti generati da App Configuration contengono diversi campi che ti aiutano a identificare l'origine e i dettagli dell'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"
}

Esaminare la seguente tabella per ulteriori informazioni sulle proprietà di notifica eventi.

Campi obbligatori

Campi obbligatori nel payload delle notifiche di un evento
Proprietà Descrizione
subject L'oggetto della notifica. L'oggetto è il nome della risorsa, come il nome dell'ambiente, il nome del flag della caratteristica, il nome della raccolta, il nome del segmento o il nome di gitconfig.
type Il tipo di evento e un sottotipo opzionale.
ibmendefaultshort Breve descrizione leggibile dall'uomo della notifica.
ibmendefaultlong Descrizione lunga della notifica, leggibile dall'uomo.
en_source_id Come ibmensourceid.
source La fonte della notifica. Questo valore è sempre lo stesso.
ibmensourceid L'ID della fonte. Identico all'ID di origine dell'istanza del servizio Event Notifications verso cui viene creata l'integrazione.
notification_id Identificatore aggiunto da Event Notifications per la tracciabilità delle notifiche.
id Identificatore aggiunto da App Configuration per il tracciamento delle notifiche.
specversion Versione del payload della notifica.
time Ora in cui la notifica è stata creata dal servizio App Configuration.

Campi facoltativi

Campi opzionali nel payload delle notifiche di un evento
Proprietà Descrizione
datacontenttype Il tipo di contenuto del campo dati.
data Il contenuto leggibile dalla macchina è un formato json che specifica ulteriori dettagli sulla notifica. Ha un formato fisso per le azioni di creazione, aggiornamento e cancellazione rispettivamente. Fare riferimento agli esempi di campi dati per ciascuna risorsa.

Esempi di campi dati

Le sezioni seguenti forniscono esempi della struttura del campo data per diversi tipi e sottotipi di eventi.

Configurazione delle risorse

Tipo di evento: 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::"
}
Ambienti

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.environments

Creazione

{
  "name": "Prod",
  "environment_id": "prod",
  "tags": "v1,v2",
  "description": "Production environment of Blue charge application",
  "color_code": "#FDD13A"
}

Aggiorna

I campi dei metadati sono sempre presenti.

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

Elimina

{
  "environment_id": "prod"
}
Raccolte

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.collections

Creazione

{
  "name": "Blue charge",
  "collection_id": "blue-charge",
  "description": "Collection for Blue charge application",
  "tags": "v-1"
}

Aggiorna

I campi dei metadati sono sempre presenti.

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

Elimina

{
  "collection_id": "blue-charge"
}
Funzioni

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.features

Creazione

Contiene attributi aggiuntivi environment_id. Non contiene l'attributo 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"
}

Aggiorna

I campi dei metadati sono sempre presenti. Non contiene l'attributo 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"
    }
  }
}

Elimina

{
  "feature_id": "member-only-discount"
}
Regole di funzionamento

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.feature_rules

Creazione

Contiene gli attributi aggiuntivi environment_id, feature_id e collections. Non contiene l'attributo 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"
    }
  ]
}

Aggiorna

I campi dei metadati sono sempre presenti. Non contiene l'attributo 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
    }
  }
}

Elimina

{
  "environment_id": "prod",
  "feature_id": "member-only-discount",
  "rule_id": "rule_4",
  "collections": [
    {
      "collection_id": "blue-charge"
    }
  ]
}
Proprietà

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.properties

Creazione

Contiene attributi aggiuntivi environment_id. Non contiene l'attributo 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"
}

Aggiorna

I campi dei metadati sono sempre presenti. Non contiene l'attributo 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"
    }
  }
}

Elimina

{
  "property_id": "my-hostname-port"
}
Segmenti

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.segments

Non contiene l'attributo rules.

Creazione

{
  "name": "IBMers",
  "segment_id": "ibmers",
  "description": "List of IBMers",
  "tags": "internal,v1"
}

Aggiorna

Non contiene l'attributo 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"
    }
  }
}

Elimina

{
  "segment_id": "ibmers"
}
Gitconfigs

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.gitconfigs

Creazione

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

Aggiorna

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

Elimina

{
  "git_config_id": "test"
}
Origineconfigs

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.originconfigs

Aggiorna

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

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.integrations

Collegato e scollegato

{
  "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::\"}"
}
Promuovere Gitconfig

Tipo di evento: 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"
  }
}
Ripristino di Gitconfig

Tipo di evento: com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

Non contiene l'attributo changes.

{
  "metadata": {
    "collection_id": "blue-charge",
    "environment_id": "prod",
    "git_config_id": "test"
  }
}