AWS 简单队列服务 Sink¶
IntegrationSink 通过其 aws.sqs 属性支持亚马逊网络服务 (AWS) 简单队列服务 (SQS)。
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 SQS Sink 示例¶
下面是一个 IntegrationSink,用于将数据发送到 AWS SQS
apiVersion: sinks.knative.dev/v1alpha1
kind: IntegrationSink
metadata:
name: integration-sink-aws-sqs
namespace: knative-samples
spec:
aws:
sqs:
arn: "my-queue"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
aws.sqs 对象中,我们定义队列的名称(或 arn)及其区域。AWS 服务的凭证从 my-secret Kubernetes Secret 中引用
有关 Apache Camel Kamelet aws-sqs-sink 的更多详细信息。