AWS 简单队列服务源¶
IntegrationSource 通过其 aws.sqs 属性支持 Amazon Web Services (AWS) Simple Queue Service (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>
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 SQS 源示例¶
下面是一个用于从 AWS SQS 接收数据的 IntegrationSource。
apiVersion: sources.knative.dev/v1alpha1
kind: IntegrationSource
metadata:
name: integration-source-aws-sqs
namespace: knative-samples
spec:
aws:
sqs:
arn: "arn:aws:s3:::my-queue"
region: "eu-north-1"
auth:
secret:
ref:
name: "my-secret"
sink:
ref:
apiVersion: eventing.knative.dev/v1
kind: Broker
name: default
aws.sqs 对象中,我们定义队列的名称(或 arn)及其区域。AWS 服务的凭证从 my-secret Kubernetes Secret 中引用
有关 Apache Camel Kamelet aws-sqs-source 的更多详细信息。