Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
SelfManagedKafka
L'oggetto che descrive un tipo di origine SelfManagedKafka dell'evento. Per ulteriori informazioni, consulta Utilizzo AWS Lambda con Apache Kafka autogestito nella Guida per gli sviluppatori.AWS Lambda
AWS Serverless Application Model (AWS SAM) genera una AWS::Lambda::EventSourceMappingrisorsa quando viene impostato questo tipo di evento.
Per utilizzare Schema Registry, devi definire autorizzazioni di ruolo IAM specifiche per la tua funzione. Vedi Configurazione completa con ruoli IAM per un esempio della configurazione richiesta.
Sintassi
Per dichiarare questa entità nel AWS SAM modello, utilizza la seguente sintassi.
YAML
BatchSize:IntegerBisectBatchOnFunctionError:BooleanConsumerGroupId:StringDestinationConfig:DestinationConfigEnabled:BooleanFilterCriteria:FilterCriteriaKafkaBootstrapServers:ListFunctionResponseTypes:ListKmsKeyArn:StringLoggingConfig:LoggingConfigMaximumRecordAgeInSeconds:IntegerMaximumRetryAttempts:IntegerMetricsConfig:MetricsConfigProvisionedPollerConfig:ProvisionedPollerConfigSchemaRegistryConfig:SchemaRegistryConfigSourceAccessConfigurations:SourceAccessConfigurationsStartingPosition:StringStartingPositionTimestamp:DoubleTopics:List
Properties
-
BatchSize -
Il numero massimo di record in ogni batch che Lambda estrae dal tuo stream e invia alla tua funzione.
Tipo: integer
Obbligatorio: no
Impostazione predefinita: 100
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
BatchSizeproprietà di unaAWS::Lambda::EventSourceMappingrisorsa.Minimum:
1Maximum:
10000 -
BisectBatchOnFunctionError -
Se la funzione restituisce un errore, dividi il batch in due e riprova.
Tipo: Booleano
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
BisectBatchOnFunctionErrorproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
ConsumerGroupId -
Una stringa che configura il modo in cui gli eventi verranno letti dagli argomenti di Kafka.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SelfManagedKafkaEventSourceConfigproprietà di una risorsa.AWS::Lambda::EventSourceMapping -
DestinationConfig -
Oggetto di configurazione che specifica la destinazione di un evento dopo che Lambda lo elabora.
Utilizzate questa proprietà per specificare la destinazione delle chiamate fallite dalla fonte di eventi Kafka autogestita.
Tipo: DestinationConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla proprietà di una risorsa.
DestinationConfigAWS::Lambda::EventSourceMapping -
Enabled -
Disabilita la mappatura dell'origine eventi per sospendere il polling e la chiamata.
Tipo: Booleano
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Enabledproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
FilterCriteria -
Un oggetto che definisce i criteri per determinare se Lambda deve elaborare un evento. Per ulteriori informazioni, consulta il filtro AWS Lambda degli eventi nella Guida per gli AWS Lambda sviluppatori.
Tipo: FilterCriteria
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FilterCriteriaproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
KafkaBootstrapServers -
L'elenco dei server bootstrap per i tuoi broker Kafka. Includi la porta, ad esempio
broker.example.com:xxxxTipo: elenco
Obbligatorio: no
CloudFormation compatibilità: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.
-
FunctionResponseTypes -
Un elenco dei tipi di risposta attualmente applicati alla mappatura delle sorgenti degli eventi. Per ulteriori informazioni, consulta la pagina Segnalazione di errori degli elementi batch nella Guida per gli sviluppatori di AWS Lambda .
Valori validi:
ReportBatchItemFailuresTipo: elenco
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
FunctionResponseTypesproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
KmsKeyArn -
L'Amazon Resource Name (ARN) della chiave per crittografare le informazioni relative a questo evento.
▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
KmsKeyArnproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
LoggingConfig -
La configurazione di registrazione per l'origine dell'evento.
Tipo: LoggingConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
LoggingConfigproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
MaximumRecordAgeInSeconds -
L'età massima di un record che Lambda invia a una funzione per l'elaborazione.
Tipo: integer
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
MaximumRecordAgeInSecondsproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
MetricsConfig -
La configurazione delle metriche per l'origine del tuo evento.
Tipo: MetricsConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
MetricsConfigproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
MaximumRetryAttempts -
Il numero massimo di ripetizioni consentite quando la funzione restituisce un errore.
Tipo: integer
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
MaximumRetryAttemptsproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
ProvisionedPollerConfig -
Configurazione per aumentare la quantità di poller utilizzati per calcolare le mappature delle sorgenti degli eventi. Questa configurazione consente un minimo di 1 poller e un massimo di 2000 poller. Per un esempio, fare riferimento a ProvisionedPollerConfig esempio
Tipo: ProvisionedPollerConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
ProvisionedPollerConfigproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. SchemaRegistryConfig-
Configurazione per l'utilizzo di un registro degli schemi con la fonte di eventi Kafka autogestita.
Nota
Questa funzionalità deve essere configurata
ProvisionedPollerConfig.Tipo: SchemaRegistryConfig
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SelfManagedKafkaEventSourceConfigproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
SourceAccessConfigurations -
Una serie di protocolli di autenticazione, componenti VPC e metadati OAuth 2.0 che proteggono e definiscono l'origine degli eventi. Ogni voce è un oggetto con un
Typecampo e, per la maggior parte dei tipi, un campo.URIPer l'elenco completo dei tipi e il valore cheURIassume per ciascuno di essi, consulta SourceAccessConfigurationla Guida per l'AWS CloudFormation utente.AWS SAM applica la seguente convalida prima di passare questa proprietà a Lambda:
-
È necessario specificare non più di un tipo di autenticazione. AWS SAM restituisce un errore se ne specifichi più di uno.
-
È necessario specificare
VPC_SUBNETeVPC_SECURITY_GROUPinsieme. AWS SAM restituisce un errore se ne specifichi uno senza l'altro. -
È necessario specificare un
URIvalore per ogni tipo tranneIAM_AUTHeIAM_OAUTHBEARER_AUTH, che accetta noURI. AWS SAM verifica solo che il valore sia presente e lo trasmette senza interpretarlo. Lambda convalida il valore e la combinazione di tipi durante la distribuzione.
AWS SAM aggiunge
secretsmanager:GetSecretValuel'autorizzazione per ogni ARN segreto specificato, incluso ilSERVER_ROOT_CA_CERTIFICATEsegreto, e le autorizzazioni dell'interfaccia di rete Amazon EC2 di cui Lambda ha bisogno quando si specificano le voci VPC. PerIAM_AUTHeIAM_OAUTHBEARER_AUTH, non AWS SAM aggiunge autorizzazioni per cluster o token. Concedi tu stesso queste autorizzazioni al ruolo di esecuzione della tua funzione. Quando nessuna di queste condizioni si applica, ad esempioIAM_AUTHsenza voci VPC, non AWS SAM aggiunge alcuna policy in linea al ruolo di esecuzione. Per le autorizzazioni richieste, consulta Configurazione dei metodi di autenticazione del cluster in Lambda nella Guida per gli sviluppatori.AWS LambdaValori validi:
BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | IAM_AUTH | IAM_OAUTHBEARER_AUTH | OAUTHBEARER_AUDIENCE | OAUTHBEARER_AUTH | OAUTHBEARER_IDENTITY_POOL | OAUTHBEARER_LOGICAL_CLUSTER | OAUTHBEARER_SCOPE | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATE | VPC_SECURITY_GROUP | VPC_SUBNETTipo: elenco di SourceAccessConfiguration
Obbligatorio: sì
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
SourceAccessConfigurationsproprietà di una risorsa.AWS::Lambda::EventSourceMapping -
-
StartingPosition -
La posizione in un flusso da cui iniziare la lettura.
-
AT_TIMESTAMP— Specificare l'ora a partire dalla quale iniziare a leggere i record. -
LATEST— Leggi solo i nuovi record. -
TRIM_HORIZON— Elabora tutti i record disponibili.
Valori validi:
AT_TIMESTAMP|LATEST|TRIM_HORIZON▬Tipo: stringa
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StartingPositionproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
-
StartingPositionTimestamp -
L'ora da cui iniziare a leggere, in secondi di tempo Unix. Definisce
StartingPositionTimestampquandoStartingPositionè specificato comeAT_TIMESTAMP.Tipo: numero a doppia precisione
Obbligatorio: no
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
StartingPositionTimestampproprietà di unaAWS::Lambda::EventSourceMappingrisorsa. -
Topics -
Il nome dell'argomento Kafka.
Tipo: elenco
Obbligatorio: sì
CloudFormation compatibilità: questa proprietà viene passata direttamente alla
Topicsproprietà di unaAWS::Lambda::EventSourceMappingrisorsa.
Esempi
Configurazione completa con ruoli IAM
L'esempio seguente mostra una configurazione completa che include la configurazione del ruolo IAM richiesta per l'utilizzo di 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 esempio
ProvisionedPollerConfig: MinimumPollers: 1 MaximumPollers: 200
Self-managed fonte di eventi Kafka
Di seguito è riportato un esempio di tipo di sorgente di SelfManagedKafka eventi.
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
Self-managed Fonte di eventi Kafka con autenticazione OAuth 2.0
L'esempio seguente si autentica con. SASL/OAUTHBEARER L'OAUTHBEARER_AUTHingresso punta al segreto che contiene le credenziali OAuth 2.0 e ogni voce di metadati contiene un valore letterale che Lambda passa al provider di identità o ai broker.
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - abc.xyz.com:9092 Topics: - MyKafkaTopic StartingPosition: LATEST ConsumerGroupId: consumergroup1 SourceAccessConfigurations: - Type: OAUTHBEARER_AUTH URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-oauth-secret-1a2b3c - Type: OAUTHBEARER_SCOPE URI: read write - Type: OAUTHBEARER_AUDIENCE URI: https://api.example.com - Type: SERVER_ROOT_CA_CERTIFICATE URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-server-root-ca-cert-7p8q9r - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678
Self-managed Fonte di eventi Kafka con autenticazione IAM
L'esempio seguente si autentica con IAM. La IAM_AUTH voce non accetta alcun URI campo perché Lambda firma ogni connessione con le credenziali del ruolo di esecuzione della funzione. Concedi al tuo ruolo di esecuzione le autorizzazioni del cluster richieste da Lambda, AWS SAM perché non le aggiunge.
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - abc.xyz.com:9092 Topics: - MyKafkaTopic StartingPosition: LATEST ConsumerGroupId: consumergroup1 SourceAccessConfigurations: - Type: IAM_AUTH - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678
Self-managed Fonte di eventi Kafka con autenticazione IAM e OAuth 2.0
L'esempio seguente si autentica con. IAM_OAUTHBEARER_AUTH Questa voce non contiene alcun URI campo, ma URI è necessario abbinarla a una OAUTHBEARER_AUDIENCE voce che rappresenti il pubblico previsto dai broker. Lambda richiede un token di identità Web di breve durata per il ruolo di esecuzione, che richiede l'sts:GetWebIdentityTokenautorizzazione, e i broker devono fidarsi dell' AWS emittente e accettare il valore del pubblico.
Events: SelfManagedKafkaEvent: Type: SelfManagedKafka Properties: KafkaBootstrapServers: - abc.xyz.com:9092 Topics: - MyKafkaTopic StartingPosition: LATEST ConsumerGroupId: consumergroup1 SourceAccessConfigurations: - Type: IAM_OAUTHBEARER_AUTH - Type: OAUTHBEARER_AUDIENCE URI: kafka-cluster - Type: VPC_SUBNET URI: subnet:subnet-12345678 - Type: VPC_SECURITY_GROUP URI: security_group:sg-12345678
Self-managed Kafka Event Source con AWS Glue Registro degli schemi
Di seguito è riportato un esempio di un tipo di origine di SelfManagedKafka eventi configurato con 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
Self-managed Kafka Event Source con Confluent Schema Registry
Di seguito è riportato un esempio di un tipo di sorgente di SelfManagedKafka eventi configurato con 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