Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SelfManagedKafka
L'objet décrivant un type de source d'événement SelfManagedKafka. Pour plus d'informations, consultez la section Utilisation AWS Lambda avec Apache Kafka autogéré dans le Guide du AWS Lambda développeur.
AWS Serverless Application Model (AWS SAM) génère une AWS::Lambda::EventSourceMappingressource lorsque ce type d'événement est défini.
Pour utiliser Schema Registry, vous devez définir des autorisations de rôle IAM spécifiques pour votre fonction. Voir Configuration complète avec des rôles IAM pour un exemple de configuration requise.
Syntaxe
Pour déclarer cette entité dans votre AWS SAM modèle, utilisez la syntaxe suivante.
YAML
BatchSize:IntegerBisectBatchOnFunctionError:BooleanConsumerGroupId:StringDestinationConfig:DestinationConfigEnabled:BooleanFilterCriteria:FilterCriteriaKafkaBootstrapServers:ListFunctionResponseTypes:ListKmsKeyArn:StringMaximumRecordAgeInSeconds:IntegerMaximumRetryAttempts:IntegerProvisionedPollerConfig:ProvisionedPollerConfigSchemaRegistryConfig:SchemaRegistryConfigSourceAccessConfigurations:SourceAccessConfigurationsStartingPosition:StringStartingPositionTimestamp:DoubleTopics:List
Propriétés
-
BatchSize -
Nombre maximal d’enregistrements dans chaque lot que Lambda extrait de votre flux et envoie à votre fonction.
Type : entier
Obligatoire : non
Par défaut : 100
CloudFormation compatibilité : cette propriété est transmise directement à la
BatchSizepropriété d'uneAWS::Lambda::EventSourceMappingressource.Minimum :
1Maximum :
10000 -
BisectBatchOnFunctionError -
Si la fonction renvoie une erreur, fractionnez le lot en deux et recommencez.
Type : valeur booléenne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
BisectBatchOnFunctionErrorpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
ConsumerGroupId -
Chaîne qui configure la façon dont les événements seront lus à partir des rubriques Kafka.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
SelfManagedKafkaConfigurationpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
DestinationConfig -
Objet de configuration qui spécifie la destination d'un événement après son traitement par Lambda.
Utilisez cette propriété pour spécifier la destination des invocations échouées de la source d'événements Kafka autogérée.
Type : DestinationConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
DestinationConfigpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
Enabled -
Désactive le mappage de source d'événement pour suspendre l'interrogation et l'appel.
Type : valeur booléenne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
Enabledpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
FilterCriteria -
Objet qui définit les critères permettant de déterminer si Lambda doit traiter un événement. Pour de plus amples informations, veuillez consulter AWS Lambda le filtrage d’événements dans le AWS Lambda Manuel du développeur.
Type : FilterCriteria
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
FilterCriteriapropriété d'uneAWS::Lambda::EventSourceMappingressource. -
KafkaBootstrapServers -
La liste des serveurs d’amorçage pour vos agents Kafka. Inclure le port, par exemple
broker.example.com:xxxxType : liste
Obligatoire : non
CloudFormation compatibilité : cette propriété est unique AWS SAM et n'a pas d' CloudFormation équivalent.
-
FunctionResponseTypes -
Une liste des type de réponse actuellement appliquées au mappage de la source d'événement. Pour plus d'informations, veuillez consulter la rubrique Signalement des échecs d'éléments par lot dans le Guide du développeur AWS Lambda .
Valeurs valides :
ReportBatchItemFailuresType : liste
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
FunctionResponseTypespropriété d'uneAWS::Lambda::EventSourceMappingressource. -
KmsKeyArn -
Le nom de ressource Amazon (ARN) de la clé permettant de chiffrer les informations relatives à cet événement.
Type : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
KmsKeyArnpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
MaximumRecordAgeInSeconds -
L'âge maximal d'une demande que Lambda envoie à une fonction pour traitement.
Type : entier
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
MaximumRecordAgeInSecondspropriété d'uneAWS::Lambda::EventSourceMappingressource. -
MaximumRetryAttempts -
Nombre maximum de tentatives autorisées lorsque la fonction renvoie une erreur.
Type : entier
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
MaximumRetryAttemptspropriété d'uneAWS::Lambda::EventSourceMappingressource. -
ProvisionedPollerConfig -
Configuration pour augmenter le nombre de sondeurs utilisés pour calculer les mappages de sources d'événements. Cette configuration permet un minimum de 1 sondeur et un maximum de 2 000 sondeurs. Pour un exemple, reportez-vous à ProvisionedPollerConfig exemple
Type : ProvisionedPollerConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
ProvisionedPollerConfigpropriété d'uneAWS::Lambda::EventSourceMappingressource. SchemaRegistryConfig-
Configuration pour l'utilisation d'un registre de schémas avec la source d'événements Kafka autogérée.
Note
Cette fonctionnalité doit
ProvisionedPollerConfigêtre configurée.Type : SchemaRegistryConfig
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
SelfManagedKafkaEventSourceConfigpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
SourceAccessConfigurations -
Tableau du protocole d’authentification, composants VPC ou hôte virtuel pour sécuriser et définir votre source d’événement.
Valeurs valides :
BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATEType : liste de propriétés SourceAccessConfiguration
Obligatoire : oui
CloudFormation compatibilité : cette propriété fait partie de la SelfManagedKafkaEventSourceConfigpropriété d'une
AWS::Lambda::EventSourceMappingressource. -
StartingPosition -
Position de début de la lecture dans le flux.
-
AT_TIMESTAMP: spécifier l'heure à partir de laquelle la lecture des enregistrements doit commencer. -
LATEST: lire uniquement les nouveaux enregistrements. -
TRIM_HORIZON: traiter tous les enregistrements disponibles.
Valeurs valides :
AT_TIMESTAMP|LATEST|TRIM_HORIZONType : chaîne
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
StartingPositionpropriété d'uneAWS::Lambda::EventSourceMappingressource. -
-
StartingPositionTimestamp -
L'heure à partir de laquelle commencer la lecture, en secondes au format horaire Unix. Définissez
StartingPositionTimestamplorsqueStartingPositionest défini surAT_TIMESTAMP.Type : double
Obligatoire : non
CloudFormation compatibilité : cette propriété est transmise directement à la
StartingPositionTimestamppropriété d'uneAWS::Lambda::EventSourceMappingressource. -
Topics -
Nom de la rubrique Kafka.
Type : liste
Obligatoire : oui
CloudFormation compatibilité : cette propriété est transmise directement à la
Topicspropriété d'uneAWS::Lambda::EventSourceMappingressource.
Exemples
Configuration complète avec des rôles IAM
L'exemple suivant montre une configuration complète, y compris la configuration de rôle IAM requise pour utiliser 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 exemple
ProvisionedPollerConfig: MinimumPollers: 1 MaximumPollers: 200
Source d’événements Kafka autogéré
Voici un exemple de type de source d'événement 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
Source d'événements Kafka autogérée avec registre de schémas AWS Glue
Voici un exemple de type de source d'SelfManagedKafkaévénement configuré avec 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
Source d'événements Kafka autogérée avec registre de schémas Confluent
Voici un exemple de type de source d'SelfManagedKafkaévénement configuré avec 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