7.3. Plugins CLI Knative


Le CLI Knative (kn) supporte l'utilisation de plugins, qui vous permettent d'étendre les fonctionnalités de votre installation kn en ajoutant des commandes personnalisées et d'autres commandes partagées qui ne font pas partie de la distribution principale. Les plugins de l'interface de programmation Knative (kn) sont utilisés de la même manière que la fonctionnalité principale kn.

Actuellement, Red Hat prend en charge le plugin kn-source-kafka et le plugin kn-event.

Important

Le plugin kn-event est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas leur utilisation en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

7.3.1. Construire des événements en utilisant le plugin kn-event

Vous pouvez utiliser l'interface de type constructeur de la commande kn event build pour créer un événement. Vous pouvez ensuite envoyer cet événement ultérieurement ou l'utiliser dans un autre contexte.

Conditions préalables

  • Vous avez installé le CLI Knative (kn).

Procédure

  • Créer un événement :

    $ kn event build --field <field-name>=<value> --type <type-name> --id <id> --output <format>

    où :

    • L'option --field ajoute des données à l'événement sous la forme d'une paire champ-valeur. Vous pouvez l'utiliser plusieurs fois.
    • L'option --type vous permet de spécifier une chaîne de caractères désignant le type d'événement.
    • L'indicateur --id précise l'identifiant de l'événement.
    • Vous pouvez utiliser les arguments json ou yaml avec l'option --output pour modifier le format de sortie de l'événement.

      Tous ces indicateurs sont facultatifs.

      Construire un événement simple

      $ kn event build -o yaml

      Événement résultant au format YAML

      data: {}
      datacontenttype: application/json
      id: 81a402a2-9c29-4c27-b8ed-246a253c9e58
      source: kn-event/v0.4.0
      specversion: "1.0"
      time: "2021-10-15T10:42:57.713226203Z"
      type: dev.knative.cli.plugin.event.generic

      Création d'un exemple d'événement de transaction

      $ kn event build \
          --field operation.type=local-wire-transfer \
          --field operation.amount=2345.40 \
          --field operation.from=87656231 \
          --field operation.to=2344121 \
          --field automated=true \
          --field signature='FGzCPLvYWdEgsdpb3qXkaVp7Da0=' \
          --type org.example.bank.bar \
          --id $(head -c 10 < /dev/urandom | base64 -w 0) \
          --output json

      Événement résultant au format JSON

      {
        "specversion": "1.0",
        "id": "RjtL8UH66X+UJg==",
        "source": "kn-event/v0.4.0",
        "type": "org.example.bank.bar",
        "datacontenttype": "application/json",
        "time": "2021-10-15T10:43:23.113187943Z",
        "data": {
          "automated": true,
          "operation": {
            "amount": "2345.40",
            "from": 87656231,
            "to": 2344121,
            "type": "local-wire-transfer"
          },
          "signature": "FGzCPLvYWdEgsdpb3qXkaVp7Da0="
        }
      }

7.3.2. Envoi d'événements à l'aide du plugin kn-event

Vous pouvez utiliser la commande kn event send pour envoyer un événement. Les événements peuvent être envoyés soit à des adresses publiques, soit à des ressources adressables à l'intérieur d'un cluster, comme les services Kubernetes, ainsi que les services Knative, les brokers et les canaux. La commande utilise la même interface de type constructeur que la commande kn event build.

Conditions préalables

  • Vous avez installé le CLI Knative (kn).

Procédure

  • Envoyer un événement :

    $ kn event send --field <field-name>=<value> --type <type-name> --id <id> --to-url <url> --to <cluster-resource> --namespace <namespace>

    où :

    • L'option --field ajoute des données à l'événement sous la forme d'une paire champ-valeur. Vous pouvez l'utiliser plusieurs fois.
    • L'option --type vous permet de spécifier une chaîne de caractères désignant le type d'événement.
    • L'indicateur --id précise l'identifiant de l'événement.
    • Si vous envoyez l'événement à une destination accessible au public, indiquez l'URL à l'aide de l'indicateur --to-url.
    • Si vous envoyez l'événement à une ressource Kubernetes en cluster, spécifiez la destination à l'aide de l'indicateur --to.

      • Spécifiez la ressource Kubernetes en utilisant le format <Kind>:<ApiVersion>:<name>.
    • L'option --namespace spécifie l'espace de noms. S'il est omis, l'espace de noms est pris dans le contexte actuel.

      Tous ces indicateurs sont facultatifs, à l'exception de la spécification de la destination, pour laquelle vous devez utiliser --to-url ou --to.

      L'exemple suivant montre l'envoi d'un événement à une URL :

      Example command

      $ kn event send \
          --field player.id=6354aa60-ddb1-452e-8c13-24893667de20 \
          --field player.game=2345 \
          --field points=456 \
          --type org.example.gaming.foo \
          --to-url http://ce-api.foo.example.com/

      L'exemple suivant montre l'envoi d'un événement à une ressource du cluster :

      Example command

      $ kn event send \
          --type org.example.kn.ping \
          --id $(uuidgen) \
          --field event.type=test \
          --field event.data=98765 \
          --to Service:serving.knative.dev/v1:event-display

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.