Integration mit Event Notifications

Als Administrator von App Configuration möchten Sie möglicherweise Benachrichtigungen über Ereignisse in App Configuration an andere Benutzer oder menschliche Ziele senden, indem Sie E-Mails, SMS oder andere unterstützte Übermittlungskanäle verwenden. Darüber hinaus können Sie diese Ereignisbenachrichtigungen an andere Anwendungen senden, um eine Logik zu erstellen, indem Sie z. B. eine ereignisgesteuerte Programmierung mit Webhooks verwenden. Ermöglicht wird dies durch die Integration von App Configuration und Event Notifications.

Um Informationen an Event Notifications zu senden, müssen Sie Ihre App Configuration Service-Instanz mit Event Notifications verbinden. Weitere Informationen zum Arbeiten mit Event Notifications finden Sie unter Erste Schritte mit Event Notifications.

Wie werden Ereignisse von App Configuration gesammelt und gesendet?

Wenn ein interessantes Ereignis in Ihrer App Configuration Instanz stattfindet, kommuniziert App Configuration mit einer verbundenen Event Notifications Instanz, um eine Benachrichtigung an ein unterstütztes Ziel weiterzuleiten.

Ereignisse für App Configuration

In der folgenden Tabelle werden die App Configuration-Aktionen aufgeführt, die Ereignisse generieren.

Aktionen, die Ereignisbenachrichtigungen erzeugen
Ereignisname Ereignistyp Untertyp
Ressourcen-Konfiguration com.ibm.cloud.apprapp.config_aggregator.resource_config
Umgebungen com.ibm.cloud.apprapp.feature_flags.environments erstellen
aktualisieren
löschen
Sammlungen com.ibm.cloud.apprapp.feature_flags.collections erstellen
aktualisieren
löschen
Features com.ibm.cloud.apprapp.feature_flags.features erstellen
aktualisieren
löschen
Feature-Flag umschalten com.ibm.cloud.apprapp.feature_flag_toggle enabled
inaktiviert
Regeln für Merkmale com.ibm.cloud.apprapp.feature_flags.feature_rules erstellen
aktualisieren
löschen
Eigenschaften com.ibm.cloud.apprapp.feature_flags.properties erstellen
aktualisieren
löschen
Segmente com.ibm.cloud.apprapp.feature_flags.segments erstellen
aktualisieren
löschen
Gitconfigs com.ibm.cloud.apprapp.feature_flags.gitconfigs erstellen
aktualisieren
löschen
Originconfigs com.ibm.cloud.apprapp.feature_flags.originconfigs Aktualisieren
Integrationen com.ibm.cloud.apprapp.feature_flags.integrations verbunden
nicht verbunden
Instanz-Import com.ibm.cloud.apprapp.feature_flags.instance_import
Gitconfig fördern com.ibm.cloud.apprapp.feature_flags.gitconfig_promote
Gitconfig wiederherstellen com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

Benachrichtigungen mit Event Notifications aktivieren

Ereignisse, die von einer Instanz des App Configuration Dienstes erzeugt werden, können an eine Instanz des Event Notifications Dienstes weitergeleitet werden, die im selben Konto verfügbar ist. Sie können nur eine App Configuration Instanz für eine Event Notifications Service-Instanz konfigurieren. Für den Einstieg benötigen Sie Folgendes:

  • Servicezugriff verwalten für den Service App Configuration.
  • Servicezugriff verwalten für den Service Event Notifications. Um eine bestehende Event Notifications Service-Instanz in Ihrem Konto anzuzeigen, benötigen Sie außerdem einen Viewer-Plattformzugang oder höher.

Verbindung zu Event Notifications in der Benutzerschnittstelle herstellen

Bevor Sie mit der Integration von Event Notifications mit App Configuration beginnen, müssen Sie die Instanz einen Dienst Event Notifications erstellen im gleichen Konto wie Ihre Instanz App Configuration einrichten. App Configuration Vergewissern Sie sich, dass Sie über den IAM-Rollenmanager für IBM und die IAM-Autorisierung von Dienst zu Dienst verfügen.

Wenn Sie App Configuration CLI oder API verwenden, um eine Integration mit einer Event Notifications Dienstinstanz zu erstellen, stellen Sie sicher, dass Sie die Autorisierung für den Zugriff zwischen Diensten aktiviert haben, bevor Sie die Integration mit Event Notifications vornehmen. Weitere Informationen finden Sie in Zugriffsberechtigungen zwischen Services mithilfe von Autorisierungen erteilen.

Führen Sie die folgenden Schritte aus, um in einen Event Notifications-Service zu integrieren:

  1. Klicken Sie im Dashboard Ihrer App Configuration-Serviceinstanz auf Integrationen. Standardmäßig zeigen die Integrationen die Services an, die zusammen mit Integrationen im aktuellen App Configuration-Service unterstützt werden.

  2. Klicken Sie in der Kachel Event Notifications auf Verbinden +. Daraufhin wird die Seitenanzeige Verbindung zu Event Notifications angezeigt.

    Erstellen Event Notifications
    Event Notifications

  3. Geben Sie die Quellendetails ein. Die bereitgestellten Quellendetails werden in Event Notificationsreferenziert.

    • Name-Geben Sie den Namen für Ihre App Configuration-Instanz ein, auf die in Event Notificationsverwiesen werden soll.
    • Beschreibung-Geben Sie optional eine Kurzbeschreibung zu dieser Quelle an.
  4. Geben Sie die folgenden Details für die Event Notifications-Instanz an, wenn Sie bereits über eine Event Notifications-Instanz verfügen. Klicken Sie andernfalls auf Neue Instanz erstellen.

    • Ressourcengruppe-Wählen Sie in der Liste die Ressourcengruppe aus, in der Ihre Event Notifications-Instanz erstellt wird.
    • Event Notifications-Serviceinstanz-Wählen Sie die Serviceinstanz Event Notifications aus der Liste aus.
  5. Klicken Sie auf Speichern, um die Integration zu übernehmen.

    Wenn keine IAM-Service-zu-Service-Autorisierung aktiviert ist und die Integrationsdetails nicht gespeichert werden, wird ein Fehler angezeigt.

Die integrierten Event Notifications-Details werden unter Verbundene Instanz aufgelistet.

Das Überlaufmenü der verbundenen Instanz besteht aus folgenden Elementen:

  • Aktualisieren-Wählen Sie diese Option aus, wenn Sie die Details der Integration der Event Notifications-Instanz aktualisieren möchten.
  • Verbindung trennen-Wählen Sie diese Option aus, um die Verbindung zu der Event Notifications-Instanz zu trennen, die zuvor in Ihre App Configuration-Serviceinstanz integriert wurde.

Nach einer erfolgreichen Integration müssen Sie Topics, Ziele und Subskriptionen in Event Notifications erstellen und über Ereignisse benachrichtigt werden, die von Ihrer App Configuration-Serviceinstanz generiert werden. Weitere Details finden Sie in der Dokumentation zuEvent Notifications.

Wenn Sie ein Thema in Ihrer Event Notifications-Serviceinstanz erstellen, gehen Sie wie folgt vor:

  • Wählen Sie Quelle als App Configurationaus.
  • Wählen Sie den Ereignistypen gemäß Ihren Anforderungen aus. Weitere Informationen finden Sie unter Ereignistyp.
  • Wählen Sie den optionalen Ereignissubtyp aus.
  • Wählen Sie die optionale Wertigkeit aus.
  • Definieren Sie die erweiterten Bedingungen, die optional sind.

Zugriffsberechtigungen zwischen Services mithilfe von Autorisierungen erteilen

Mit IBM Cloud® Identity and Access Management (IAM) können Sie eine Autorisierung erstellen oder entfernen, mit der einem Service Zugriff auf einen anderen Service erteilt wird. Mithilfe der Autorisierungsdelegierung können Zugriffsrichtlinien, mit denen Zugriff auf abhängige Services erteilt wird, automatisch erstellt werden.

Autorisierung in der Konsole erstellen

  1. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Autorisierungen aus.

  2. Klicken Sie auf Erstellen.

  3. Wählen Sie ein Quellenkonto aus.

    • Wählen Sie Dieses Konto aus, wenn sich der Quellenservice, der Zugriff auf den Zielservice benötigt, in diesem Konto befindet.
    • Wählen Sie Anderes Konto aus, wenn sich der Quellenservice, der Zugriff auf den Zielservice benötigt, in einem anderen Konto befindet. Geben Sie dann die Konto-ID des Quellkontos ein.
  4. Wählen Sie einen Quellenservice als App Configuration aus.

  5. Geben Sie an, ob die Berechtigung für alle Ressourcen oder Ressourcen basierend auf ausgewählten Attributen gelten soll. Wenn Sie Ressourcen basierend auf ausgewählten Attributen ausgewählt haben, geben Sie Attribute hinzufügen an: nur Quellenressourcengruppe oder nur Quellenserviceinstanz.

  6. Wählen Sie einen Zielservice als Event Notifications aus.

  7. Geben Sie für den Zieldienst an, ob die Autorisierung für alle Instanzen, nur für eine bestimmte Instanz im Konto oder nur für Instanzen in einer bestimmten Ressourcengruppe gelten soll.

  8. Wählen Sie eine Rolle aus, um dem Quellenservice die Zugriffsberechtigung zuzuweisen, der auf den Zielservice zugreift.

  9. Klicken Sie auf Autorisieren.

Autorisierung über die Befehlszeilenschnittstelle (CLI) erstellen

Führen Sie den Befehl ibmcloud iam authorization-policy-create aus, um einen Quellenservice für den Zugriff auf einen Zielservice zu berechtigen.

Weitere Informationen zu allen Parametern, die für diesen Befehl verfügbar sind, finden Sie unter ibmcloud iam authorization-policy-create.

Details der Benachrichtigungsnutzdaten

Erfolgreiche Ereignisse, die von App Configuration generiert werden, enthalten verschiedene Felder, die Ihnen helfen, die Quelle und Details des Ereignisses zu identifizieren.

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

Weitere Informationen zu Ereignisbenachrichtigungseigenschaften finden Sie in der folgenden Tabelle.

Obligatorische Felder

Obligatorische Felder in der Nutzlast von Ereignisbenachrichtigungen
Eigenschaft Beschreibung
subject Der Betreff der Benachrichtigung. Der Betreff ist der Name der Ressource, z. B. der Name der Umgebung, der Name des Merkmals, der Name der Sammlung, der Name des Segments oder der Name von gitconfig.
type Der Typ des Ereignisses zusammen mit einem optionalen Subtyp.
ibmendefaultshort Von Menschen lesbare Kurzbeschreibung der Meldung.
ibmendefaultlong Von Menschen lesbare lange Beschreibung der Meldung.
en_source_id Dasselbe wie ibmensourceid.
source Die Quelle der Meldung. Dieser Wert ist immer derselbe.
ibmensourceid Die Quellen-ID. Dieselbe wie die Quell-ID der Event Notifications Service-Instanz, zu der die Integration erstellt wird.
notification_id Von Event Notifications hinzugefügter Identifikator für die Rückverfolgbarkeit der Meldung.
id Von App Configuration hinzugefügte Kennung für die Meldungsverfolgung.
specversion Version der Nutzlast der Benachrichtigung.
time Zeitpunkt, zu dem die Meldung vom Dienst App Configuration erstellt wurde.

Optionale Felder

Optionale Felder in der Nutzlast einer Ereignisbenachrichtigung
Eigenschaft Beschreibung
datacontenttype Der Inhaltstyp des Datenfeldes.
data Der maschinenlesbare Inhalt ist ein json-Format, das weitere Einzelheiten über die Meldung enthält. Es hat ein festes Format für das Erstellen, Aktualisieren bzw. Löschen von Aktionen. Sehen Sie sich die Datenfeldbeispiele für jede Ressource an.

Beispiele für Datenfelder

Die folgenden Abschnitte enthalten Beispiele für die Feldstruktur von data für verschiedene Ereignistypen und -untertypen.

Ressourcen-Konfiguration

Ereignistyp: 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::"
}
Umgebungen

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.environments

Erstellen

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

Aktualisieren

Metadatenfelder sind immer vorhanden.

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

Löschen

{
  "environment_id": "prod"
}
Sammlungen

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.collections

Erstellen

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

Aktualisieren

Metadatenfelder sind immer vorhanden.

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

Löschen

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

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.features

Erstellen

Enthält zusätzliche Attribute environment_id. Enthält nicht das Attribut 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"
}

Aktualisieren

Metadatenfelder sind immer vorhanden. Enthält nicht das Attribut 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"
    }
  }
}

Löschen

{
  "feature_id": "member-only-discount"
}
Regeln für Merkmale

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.feature_rules

Erstellen

Enthält zusätzliche Attribute environment_id, feature_id und collections. Enthält nicht das Attribut 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"
    }
  ]
}

Aktualisieren

Metadatenfelder sind immer vorhanden. Enthält nicht das Attribut 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
    }
  }
}

Löschen

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

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.properties

Erstellen

Enthält zusätzliche Attribute environment_id. Enthält nicht das Attribut 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"
}

Aktualisieren

Metadatenfelder sind immer vorhanden. Enthält nicht das Attribut 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"
    }
  }
}

Löschen

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

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.segments

Enthält nicht das Attribut rules.

Erstellen

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

Aktualisieren

Enthält nicht das Attribut 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"
    }
  }
}

Löschen

{
  "segment_id": "ibmers"
}
Gitconfigs

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.gitconfigs

Erstellen

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

Aktualisieren

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

Löschen

{
  "git_config_id": "test"
}
Originconfigs

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.originconfigs

Aktualisieren

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

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.integrations

Verbunden und unverbunden

{
  "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 fördern

Ereignistyp: 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"
  }
}
Gitconfig wiederherstellen

Ereignistyp: com.ibm.cloud.apprapp.feature_flags.gitconfig_restore

Enthält nicht das Attribut changes.

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