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:
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
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
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
BatchSize
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource übergeben.Minimum:
1
Maximum:
10000
-
ConsumerGroupId
-
Eine Zeichenfolge, die konfiguriert, wie Ereignisse aus Kafka-Themen gelesen werden.
Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SelfManagedKafkaConfiguration
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource ü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
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
DestinationConfig
Eigenschaft einer Ressource übergeben.AWS::Lambda::EventSourceMapping
-
Enabled
-
Deaktiviert den Ereignis-Quellzuweisung zum Anhalten und Aufrufen von Abfragen.
Typ: Boolesch
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
Enabled
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource ü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
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
FilterCriteria
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource übergeben. -
KafkaBootstrapServers
-
Die Liste der Bootstrap-Server für Ihre Kafka-Broker. Geben Sie zum Beispiel den Port an
broker.example.com:
xxxx
Typ: Liste
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.
-
KmsKeyArn
-
Der Amazon-Ressourcenname (ARN) des Schlüssels zur Verschlüsselung von Informationen im Zusammenhang mit diesem Ereignis.
Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
KmsKeyArn
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource ü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 20 Pollern. Ein Beispiel finden Sie unter ProvisionedPollerConfig Beispiel
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
ProvisionedPollerConfig
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource übergeben. SchemaRegistryConfig
-
Konfiguration für die Verwendung einer Schemaregistrierung mit der selbstverwalteten Kafka-Ereignisquelle.
Anmerkung
Diese Funktion muss konfiguriert
ProvisionedPollerConfig
werden.Typ: SchemaRegistryConfig
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
SelfManagedKafkaEventSourceConfig
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource ü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_CERTIFICATE
Typ: Liste von SourceAccessConfiguration
Erforderlich: Ja
AWS CloudFormation Kompatibilität: Diese Eigenschaft ist Teil der SelfManagedKafkaEventSourceConfigEigenschaft einer
AWS::Lambda::EventSourceMapping
Ressource. -
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_HORIZON
Typ: Zeichenfolge
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StartingPosition
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource übergeben. -
-
StartingPositionTimestamp
-
Die Zeit, ab der mit dem Lesen begonnen werden soll, in Unix-Zeitsekunden. Definiert
StartingPositionTimestamp
, wann als angegebenStartingPosition
istAT_TIMESTAMP
.Type: Double
Required: No
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
StartingPositionTimestamp
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource übergeben. -
Topics
-
Der Name des Kafka-Themas.
Typ: Liste
Erforderlich: Ja
AWS CloudFormation Kompatibilität: Diese Eigenschaft wird direkt an die
Topics
Eigenschaft einerAWS::Lambda::EventSourceMapping
Ressource ü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: 20
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