AWS DynamoDB Streams¶
IntegrationSource 通过其 aws.ddbStreams 属性支持 Amazon Web Services (AWS) DynamoDB Streams 服务。
Amazon 凭证¶
有两种方式进行 AWS 身份验证。
访问密钥和密匙¶
要使用 IAM 用户访问密钥和密匙,请在资源命名空间中创建 Kubernetes Secret。Secret 可以像这样创建
kubectl -n <namespace> create secret generic my-secret --from-literal=aws.accessKey=<accessKey> --from-literal=aws.secretKey=<secretKey>
IntegrationSource .spec.aws.auth 部分中像这样引用 Secret auth:
secret:
ref:
name: "my-secret"
Pod 默认凭证¶
如果您使用 IAM 角色用于服务账户或 Pod 身份,您可以创建一个 Kubernetes ServiceAccount 并将其与 AWS IAM 角色关联。然后在 IntegrationSource 的 .spec.aws.auth 部分指定 ServiceAccount 的名称。这将把 ServiceAccount 分配给为 IntegrationSource 创建的 Deployment 资源。
auth:
serviceAccountName: "my-service-account"
AWS DynamoDB Streams 示例¶
下面是一个用于从 Amazon DynamoDB Streams 接收事件的 IntegrationSource。
apiVersion: sources.knative.dev/v1alpha1
kind: IntegrationSource
metadata:
name: integration-source-aws-ddb
namespace: knative-samples
spec:
aws:
ddbStreams:
table: "my-table"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
sink:
ref:
apiVersion: eventing.knative.dev/v1
kind: Broker
name: default
在 aws.ddbStreams 对象内部,我们定义了表的名称及其区域。AWS 服务的凭证是从 my-secret Kubernetes Secret 中引用的。
更多关于 Apache Camel Kamelet aws-ddb-streams-source 的详情。