AWS 简单通知服务接收器¶
IntegrationSink 通过其 aws.sns 属性支持 Amazon Web Services (AWS) Simple Notification Service (SNS) 服务。
Amazon 凭证¶
有两种方式进行 AWS 身份验证。
访问密钥和密匙¶
要使用 IAM 用户访问密钥和密匙,请在资源命名空间中创建 Kubernetes Secret。Secret 可以像这样创建
kubectl -n <namespace> create secret generic my-secret --from-literal=aws.accessKey=<accessKey> --from-literal=aws.secretKey=<secretKey>
IntegrationSink .spec.aws.auth 部分中引用 Secret,如下所示 auth:
secret:
ref:
name: "my-secret"
Pod 默认凭证¶
如果您使用 IAM 角色用于服务账户 或 Pod 身份,您可以创建一个 Kubernetes ServiceAccount 并将其与 AWS IAM 角色关联。然后在 IntegrationSink .spec.aws.auth 部分中指定 ServiceAccount 的名称。这将把 ServiceAccount 分配给为 IntegrationSink 创建的 Deployment 资源。
auth:
serviceAccountName: "my-service-account"
AWS SNS 接收器示例¶
下面是一个用于将数据发送到 AWS SNS 的 IntegrationSink
apiVersion: sinks.knative.dev/v1alpha1
kind: IntegrationSink
metadata:
name: integration-sink-aws-sns
namespace: knative-samples
spec:
aws:
sns:
arn: "my-topic"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
aws.sns 对象内部,我们定义了主题的名称(或 *arn*)及其区域。AWS 服务的凭据从 my-secret Kubernetes Secret 中引用。
关于 Apache Camel Kamelet aws-sns-sink 的更多详细信息。