Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
SelfManagedKafka
Das Objekt, das einen SelfManagedKafka Ereignisquellentyp beschreibt. Weitere Informationen finden Sie unter Verwendung AWS Lambda mit selbstverwaltetem Apache Kafka im AWS Lambda Entwicklerhandbuch.
AWS Serverless Application Model (AWS SAM) generiert eine AWS::Lambda::EventSourceMappingRessource, wenn dieser Ereignistyp gesetzt ist.
Um Schema Registry verwenden zu können, müssen Sie spezifische IAM-Rollenberechtigungen für Ihre Funktion definieren. Ein Beispiel für die erforderliche Konfiguration finden Sie unter Vollständige Einrichtung mit IAM-Rollen.
Syntax
Verwenden Sie die folgende Syntax, um diese Entität in Ihrer AWS SAM Vorlage zu deklarieren.
YAML
BatchSize:IntegerBisectBatchOnFunctionError:BooleanConsumerGroupId:StringDestinationConfig:DestinationConfigEnabled:BooleanFilterCriteria:FilterCriteriaKafkaBootstrapServers:ListFunctionResponseTypes:ListKmsKeyArn:StringMaximumRecordAgeInSeconds:IntegerMaximumRetryAttempts:IntegerProvisionedPollerConfig:ProvisionedPollerConfigSchemaRegistryConfig:SchemaRegistryConfigSourceAccessConfigurations:SourceAccessConfigurationsStartingPosition:StringStartingPositionTimestamp:DoubleTopics:List
Eigenschaften
-
BatchSize -
Die maximale Anzahl von Datensätzen in jedem Batch, die Lambda aus Ihrem Stream abruft und an Ihre Funktion sendet.
Typ: Ganzzahl
Required: No
Standard: 100
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
BatchSizeEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben.Minimum:
1Maximum:
10000 -
BisectBatchOnFunctionError -
Wenn die Funktion einen Fehler zurückgibt, teilen Sie den Stapel in zwei Teile auf und versuchen Sie es erneut.
Typ: Boolesch
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
BisectBatchOnFunctionErrorEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
ConsumerGroupId -
Eine Zeichenfolge, die konfiguriert, wie Ereignisse aus Kafka-Themen gelesen werden.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SelfManagedKafkaConfigurationEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
DestinationConfig -
Ein Konfigurationsobjekt, das das Ziel eines Ereignisses angibt, nachdem Lambda es verarbeitet hat.
Verwenden Sie diese Eigenschaft, um das Ziel fehlgeschlagener Aufrufe aus der selbstverwalteten Kafka-Ereignisquelle anzugeben.
Typ: DestinationConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DestinationConfigEigenschaft einer Ressource übergeben.AWS::Lambda::EventSourceMapping -
Enabled -
Deaktiviert den Ereignis-Quellzuweisung zum Anhalten und Aufrufen von Abfragen.
Typ: Boolesch
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
EnabledEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
FilterCriteria -
Ein Objekt, das die Kriterien definiert, anhand derer bestimmt wird, ob Lambda ein Ereignis verarbeiten soll. Weitere Informationen finden Sie unter AWS Lambda Ereignisfilterung im AWS Lambda Entwicklerhandbuch.
Typ: FilterCriteria
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
FilterCriteriaEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
KafkaBootstrapServers -
Die Liste der Bootstrap-Server für Ihre Kafka-Broker. Geben Sie zum Beispiel den Port an
broker.example.com:xxxxTyp: Liste
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.
-
FunctionResponseTypes -
Eine Liste der Antworttypen, die derzeit auf die Ereignisquellenzuordnung angewendet werden. Weitere Informationen finden Sie unter Melden von Batch-Elementen im AWS Lambda -Leitfaden für Entwickler.
Gültige Werte:
ReportBatchItemFailuresTyp: Liste
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
FunctionResponseTypesEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
KmsKeyArn -
Der Amazon-Ressourcenname (ARN) des Schlüssels zur Verschlüsselung von Informationen im Zusammenhang mit diesem Ereignis.
Typ: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
KmsKeyArnEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
MaximumRecordAgeInSeconds -
Das maximale Alter eines Datensatzes, den Lambda zur Verarbeitung an eine Funktion sendet.
Typ: Ganzzahl
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
MaximumRecordAgeInSecondsEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
MaximumRetryAttempts -
Die maximale Anzahl der Wiederholungen, wenn die Funktion einen Fehler zurückgibt.
Typ: Ganzzahl
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
MaximumRetryAttemptsEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
ProvisionedPollerConfig -
Konfiguration zur Erhöhung der Anzahl von Pollern, die zur Berechnung von Ereignisquellenzuordnungen verwendet werden. Diese Konfiguration ermöglicht mindestens einen Poller und ein Maximum von 2000 Pollern. Ein Beispiel finden Sie unter ProvisionedPollerConfig Beispiel
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ProvisionedPollerConfigEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. SchemaRegistryConfig-
Konfiguration für die Verwendung einer Schemaregistrierung mit der selbstverwalteten Kafka-Ereignisquelle.
Anmerkung
Diese Funktion muss konfiguriert
ProvisionedPollerConfigwerden.Typ: SchemaRegistryConfig
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SelfManagedKafkaEventSourceConfigEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
SourceAccessConfigurations -
Ein Array des Authentifizierungsprotokolls, der VPC-Komponenten oder des virtuellen Hosts zum Sichern und Definieren Ihrer Ereignisquelle.
Gültige Werte:
BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATETyp: Liste von SourceAccessConfiguration
Erforderlich: Ja
CloudFormation Kompatibilität: Diese Eigenschaft ist Teil der SelfManagedKafkaEventSourceConfigEigenschaft einer
AWS::Lambda::EventSourceMappingRessource. -
StartingPosition -
Die Position im Stream, an der mit dem Lesen begonnen wird.
-
AT_TIMESTAMP— Geben Sie einen Zeitpunkt an, ab dem mit dem Lesen von Datensätzen begonnen werden soll. -
LATEST— Nur neue Datensätze lesen. -
TRIM_HORIZON— Verarbeitet alle verfügbaren Datensätze.
Zulässige Werte:
AT_TIMESTAMP|LATEST|TRIM_HORIZONTyp: Zeichenfolge
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StartingPositionEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
-
StartingPositionTimestamp -
Die Zeit, ab der mit dem Lesen begonnen werden soll, in Unix-Zeitsekunden. Definiert
StartingPositionTimestamp, wann als angegebenStartingPositionistAT_TIMESTAMP.Type: Double
Required: No
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StartingPositionTimestampEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben. -
Topics -
Der Name des Kafka-Themas.
Typ: Liste
Erforderlich: Ja
CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
TopicsEigenschaft einerAWS::Lambda::EventSourceMappingRessource übergeben.
Beispiele
Schließen Sie das Setup mit IAM-Rollen ab
Das folgende Beispiel zeigt ein vollständiges Setup einschließlich der erforderlichen IAM-Rollenkonfiguration für die Verwendung von 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 Beispiel
ProvisionedPollerConfig: MinimumPollers: 1 MaximumPollers: 200
Selbstverwaltete Kafka-Eventquelle
Im Folgenden finden Sie ein Beispiel für einen SelfManagedKafka Ereignisquellentyp.
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
Selbstverwaltete Kafka-Ereignisquelle mit AWS Glue Schemaregistrierung
Im Folgenden finden Sie ein Beispiel für einen mit AWS Glue Schema Registry konfigurierten SelfManagedKafka Ereignisquellentyp.
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
Selbstverwaltete Kafka-Ereignisquelle mit Confluent Schema Registry
Im Folgenden finden Sie ein Beispiel für einen SelfManagedKafka Ereignisquellentyp, der mit Confluent Schema Registry konfiguriert wurde.
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