SinkBindingリファレンス¶
このトピックでは、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 |
キーと値のセットとの関係を表します。有効な演算子は、In 、NotIn 、Exists 、DoesNotExist です。 |
matchExpressions を使用する場合は必須 |
selector.matchExpressions.values |
文字列値の配列。operator がIn またはNotIn の場合、values配列は空であってはなりません。operator がExists またはDoesNotExist の場合、values配列は空である必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
matchExpressions を使用する場合は必須 |
selector.matchLabels |
キーと値のペアのマップ。matchLabels マップの各キーと値のペアは、matchExpressions の要素と同等です。ここで、keyフィールドはmatchLabels.<key> 、operator はIn 、values 配列には"matchLabels."のみが含まれます。 |
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" } }