As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
SelfManagedKafka
O objeto que descreve um tipo de fonte de evento SelfManagedKafka
. Para obter mais informações, consulte Usando AWS Lambda com o Apache Kafka autogerenciado no Guia do desenvolvedor.AWS Lambda
AWS Serverless Application Model (AWS SAM) gera um AWS::Lambda::EventSourceMappingrecurso quando esse tipo de evento é definido.
Para usar o Schema Registry, você precisa definir permissões específicas de função do IAM para sua função. Consulte Configuração completa com funções do IAM para ver um exemplo da configuração necessária.
Sintaxe
Para declarar essa entidade em seu AWS SAM modelo, use a sintaxe a seguir.
YAML
BatchSize:
Integer
ConsumerGroupId:String
DestinationConfig:DestinationConfig
Enabled:Boolean
FilterCriteria:FilterCriteria
KafkaBootstrapServers:List
KmsKeyArn:String
ProvisionedPollerConfig:ProvisionedPollerConfig
SchemaRegistryConfig:SchemaRegistryConfig
SourceAccessConfigurations:SourceAccessConfigurations
StartingPosition:String
StartingPositionTimestamp:Double
Topics:List
Propriedades
-
BatchSize
-
O número máximo de registros em cada batch que o Lambda extrai da sua transmissão e envia para sua função.
Tipo: inteiro
Obrigatório: não
Padrão: 100
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
BatchSize
propriedade de umAWS::Lambda::EventSourceMapping
recurso.Mínimo:
1
Maximum:
10000
-
ConsumerGroupId
-
Uma string que configura como os eventos serão lidos nos tópicos do Kafka.
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SelfManagedKafkaConfiguration
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
DestinationConfig
-
Um objeto de configuração que especifica o destino de um evento depois que o Lambda processá-lo.
Use essa propriedade para especificar o destino de invocações com falha da fonte de eventos autogerenciada do Kafka.
Digite: DestinationConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
DestinationConfig
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
Enabled
-
Desabilita o mapeamento de origens de eventos para pausar a sondagem e a invocação.
Tipo: booliano
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Enabled
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
FilterCriteria
-
Um objeto que define os critérios para determinar se o Lambda deve processar um evento. Para obter mais informações, consulte Filtrando eventos do AWS Lambda no Guia do desenvolvedor do AWS Lambda .
Digite: FilterCriteria
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
FilterCriteria
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
KafkaBootstrapServers
-
A lista de servidores de bootstrap para seus corretores Kafka. Inclua a porta, por exemplo
broker.example.com:
xxxx
Tipo: lista
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
-
KmsKeyArn
-
O nome do recurso da Amazon (ARN) da chave para criptografar informações relacionadas a esse evento.
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
KmsKeyArn
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
ProvisionedPollerConfig
-
Configuração para aumentar a quantidade de pollers usados para computar mapeamentos de origem de eventos. Essa configuração permite um mínimo de 1 poller e um máximo de 20 pollers. Para obter um exemplo, consulte ProvisionedPollerConfig exemplo
Digite: ProvisionedPollerConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
ProvisionedPollerConfig
propriedade de umAWS::Lambda::EventSourceMapping
recurso. SchemaRegistryConfig
-
Configuração para usar um registro de esquema com a fonte de eventos autogerenciada do Kafka.
nota
Esse recurso
ProvisionedPollerConfig
precisa ser configurado.Tipo: SchemaRegistryConfig
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
SelfManagedKafkaEventSourceConfig
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
SourceAccessConfigurations
-
Uma matriz do protocolo de autenticação, os componentes da VPC ou o host virtual para proteger e definir a fonte de eventos.
Valores válidos:
BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATE
Tipo: lista de SourceAccessConfiguration
Obrigatório: Sim
AWS CloudFormation compatibilidade: essa propriedade faz parte da SelfManagedKafkaEventSourceConfigpropriedade de um
AWS::Lambda::EventSourceMapping
recurso. -
StartingPosition
-
A posição em um fluxo da qual você deseja iniciar a leitura.
-
AT_TIMESTAMP
– Especifique um tempo a partir do qual iniciar a leitura dos registros. -
LATEST
– Leia somente registros novos. -
TRIM_HORIZON
– Processe todos os registros disponíveis.
Valores válidos:
AT_TIMESTAMP
|LATEST
|TRIM_HORIZON
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
StartingPosition
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
-
StartingPositionTimestamp
-
O tempo a partir do qual iniciar a leitura, em segundos no horário do Unix. Defina
StartingPositionTimestamp
quandoStartingPosition
é especificado como .AT_TIMESTAMP
Tipo: duplo
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
StartingPositionTimestamp
propriedade de umAWS::Lambda::EventSourceMapping
recurso. -
Topics
-
O nome do tópico do Kafka.
Tipo: lista
Obrigatório: Sim
AWS CloudFormation compatibilidade: essa propriedade é passada diretamente para a
Topics
propriedade de umAWS::Lambda::EventSourceMapping
recurso.
Exemplos
Configuração completa com funções do IAM
O exemplo a seguir mostra uma configuração completa, incluindo a configuração de função do IAM necessária para usar o Schema Registry:
Parameters: PreCreatedSubnetOne: Type: String PreCreatedSubnetTwo: Type: String Resources: MyLambdaExecutionRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Action: [sts:AssumeRole] Effect: Allow Principal: Service: [lambda.amazonaws.com] Policies: - PolicyName: KafkaAuthPolicy PolicyDocument: Statement: - Action: [secretsmanager:GetSecretValue, kms:Decrypt] Effect: "Allow" Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******', 'arn:aws:kms:us-west-2:123456789012:key/keyId'] - PolicyName: ENIPolicy PolicyDocument: Statement: - Action: [ec2:CreateNetworkInterface, ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface, ec2:DescribeSubnets, ec2:DescribeSecurityGroups] Effect: Allow Resource: '*' - PolicyName: SchemaRegistryPolicy PolicyDocument: Statement: - Action: [glue:GetRegistry] Effect: Allow Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}' - PolicyName: SchemaVersionsPolicy PolicyDocument: Statement: - Action: [glue:GetSchemaVersions] Effect: Allow Resource: '*' ManagedPolicyArns: - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Tags: - {Value: SAM, Key: lambda:createdBy} MyKafkaProcessor: Type: AWS::Serverless::Function Properties: Runtime: nodejs18.x Handler: index.handler CodeUri: ${codeuri} Role: Fn::GetAtt: [MyLambdaExecutionRole, Arn] Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - my-kafka-broker-1:9092 - my-kafka-broker-2:9092 Topics: - SchemaRegistryTestTopic StartingPosition: LATEST SourceAccessConfigurations: - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678 - Type: BASIC_AUTH URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c ProvisionedPollerConfig: MinimumPollers: 1 SchemaRegistryConfig: AccessConfigs: - Type: BASIC_AUTH URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c SchemaValidationConfigs: - Attribute: KEY EventRecordFormat: JSON SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
ProvisionedPollerConfig exemplo
ProvisionedPollerConfig: MinimumPollers: 1 MaximumPollers: 20
Fonte autogerenciada de eventos Kafka
O exemplo a seguir mostra o tipo de origem de um evento SelfManagedKafka
.
YAML
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: BatchSize: 1000 Enabled: true KafkaBootstrapServers: - abc.xyz.com:xxxx SourceAccessConfigurations: - Type: BASIC_AUTH URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c Topics: - MyKafkaTopic
Fonte de eventos Kafka autogerenciada com registro de esquemas AWS Glue
Veja a seguir um exemplo de um tipo de fonte de SelfManagedKafka
evento configurado com o AWS Glue Schema Registry.
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - abc.xyz.com:9092 Topics: - SchemaRegistryTestTopic StartingPosition: LATEST ProvisionedPollerConfig: MinimumPollers: 1 SchemaRegistryConfig: SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry EventRecordFormat: JSON SchemaValidationConfigs: - Attribute: KEY - Attribute: VALUE SourceAccessConfigurations: - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678
Fonte de eventos Kafka autogerenciada com Confluent Schema Registry
Veja a seguir um exemplo de um tipo de fonte de SelfManagedKafka
evento configurado com o Confluent Schema Registry.
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - abc.xyz.com:9092 Topics: - SchemaRegistryTestTopic StartingPosition: LATEST ProvisionedPollerConfig: MinimumPollers: 1 SchemaRegistryConfig: SchemaRegistryURI: https://my-schema-registry.confluent.cloud AccessConfigs: - Type: BASIC_AUTH URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret EventRecordFormat: JSON SchemaValidationConfigs: - Attribute: KEY - Attribute: VALUE SourceAccessConfigurations: - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678 - Type: BASIC_AUTH URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:kafka-secret