コンテンツにスキップ

SinkBindingリファレンス

API version v1

このトピックでは、SinkBindingオブジェクトの設定可能なパラメーターに関するリファレンス情報を提供します。

サポートされているパラメーター

SinkBindingリソースは、次のパラメーターをサポートしています。

フィールド 説明 必須またはオプション
apiVersion APIバージョンを指定します。例:sources.knative.dev/v1 必須
kind このリソースオブジェクトをSinkBindingオブジェクトとして識別します。 必須
metadata SinkBindingオブジェクトを一意に識別するメタデータを指定します。例:name 必須
spec このSinkBindingオブジェクトの設定情報を指定します。 必須
spec.sink シンクとして使用するURIに解決されるオブジェクトへの参照。 必須
spec.subject Bindingの実装によって「ランタイムコントラクト」が拡張されるリソースへの参照。 必須
spec.ceOverrides シンクに送信されるイベントの出力形式と変更を制御するための上書きを定義します。 オプション

サブジェクトパラメーター

サブジェクトパラメーターは、Bindingの実装によって「ランタイムコントラクト」が拡張されるリソースを参照します。

subject定義は、次のフィールドをサポートしています。

フィールド 説明 必須またはオプション
apiVersion 参照先のAPIバージョン。 必須
kind 参照先のKind。 必須
namespace 参照先の名前空間。省略した場合、デフォルトではそれを保持しているオブジェクトになります。 オプション
name 参照先の名前。 selectorを設定する場合は使用しないでください。
selector 参照先のセレクター。 nameを設定する場合は使用しないでください。
selector.matchExpressions ラベルセレクター要件のリスト。要件はANDで結合されます。 matchExpressionsまたはmatchLabelsのいずれかを使用します。
selector.matchExpressions.key セレクターが適用されるラベルキー。 matchExpressionsを使用する場合は必須
selector.matchExpressions.operator キーと値のセットとの関係を表します。有効な演算子は、InNotInExistsDoesNotExistです。 matchExpressionsを使用する場合は必須
selector.matchExpressions.values 文字列値の配列。operatorInまたはNotInの場合、values配列は空であってはなりません。operatorExistsまたはDoesNotExistの場合、values配列は空である必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 matchExpressionsを使用する場合は必須
selector.matchLabels キーと値のペアのマップ。matchLabelsマップの各キーと値のペアは、matchExpressionsの要素と同等です。ここで、keyフィールドはmatchLabels.<key>operatorInvalues配列には"matchLabels."のみが含まれます。要件はANDで結合されます。 matchExpressionsまたはmatchLabelsのいずれかを使用します。

サブジェクトパラメーターの例

次のYAMLが与えられた場合、default名前空間のmysubjectという名前のDeploymentが選択されます。

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: apps/v1
    kind: Deployment
    namespace: default
    name: mysubject
  ...

次のYAMLが与えられた場合、default名前空間でラベルworking=exampleを持つ任意のJobが選択されます。

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: batch/v1
    kind: Job
    namespace: default
    selector:
      matchLabels:
        working: example
  ...

次のYAMLが与えられた場合、default名前空間でラベルworking=exampleまたはworking=sampleを持つ任意のPodが選択されます。

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  subject:
    apiVersion: v1
    kind: Pod
    namespace: default
    selector:
      - matchExpression:
        key: working
        operator: In
        values:
          - example
          - sample
  ...

CloudEventの上書き

CloudEventの上書きは、シンクに送信されるイベントの出力形式と変更を制御するための上書きを定義します。

ceOverrides定義は、次のフィールドをサポートしています。

フィールド 説明 必須またはオプション
extensions 送信イベントで追加または上書きされる属性を指定します。各extensionsキーと値のペアは、属性拡張としてイベントに個別に設定されます。 オプション

注意

有効なCloudEvent属性名のみが拡張機能として許可されます。拡張機能の上書き構成から仕様定義属性を設定することはできません。たとえば、type属性を変更することはできません。

CloudEventの上書きの例

apiVersion: sources.knative.dev/v1
kind: SinkBinding
metadata:
  name: bind-heartbeat
spec:
  ...
  ceOverrides:
    extensions:
      extra: this is an extra attribute
      additional: 42

契約

これにより、subjectに次のK_CE_OVERRIDES環境変数が設定されます。

{ "extensions": { "extra": "this is an extra attribute", "additional": "42" } }

私たちはサイトのトラフィックを理解するために分析とCookieを使用します。サイトの利用に関する情報はこの目的のためにGoogleと共有されます。詳細はこちら