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