跳到内容

AWS 简单队列服务源

IntegrationSource 通过其 aws.sqs 属性支持 Amazon Web Services (AWS) Simple Queue Service (SQS) 服务。

Amazon 凭证

有两种方式进行 AWS 身份验证。

访问密钥和密匙

要使用 IAM 用户访问密钥和密匙,请在资源命名空间中创建 Kubernetes SecretSecret 可以像这样创建

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 的更多详细信息。

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。