

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# MSK
<a name="sam-property-function-msk"></a>

`MSK` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Amazon MSK AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

Schema Registry를 사용하려면 함수에 대한 특정 IAM 역할 권한을 정의해야 합니다. 필수 구성의 예시는 [IAM 역할로 설정 완료하기](#sam-property-function-msk-example-complete)를 참조하세요.

## 구문
<a name="sam-property-function-msk-syntax"></a>

 AWS SAM 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

### YAML
<a name="sam-property-function-msk-syntax.yaml"></a>

```
  [BatchSize](#sam-function-msk-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-msk-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-msk-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-msk-enabled): Boolean
  [FilterCriteria](#sam-function-msk-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-msk-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-msk-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-msk-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-msk-maximumretryattempts): Integer
  [LoggingConfig](#sam-function-msk-loggingconfig): [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)
  [MetricsConfig](#sam-function-msk-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)
  [ProvisionedPollerConfig](#sam-function-msk-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-msk-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  SourceAccessConfigurations: [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  [StartingPosition](#sam-function-msk-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-msk-stream): String
  [Topics](#sam-function-msk-topics): List
```

## 속성
<a name="sam-property-function-msk-properties"></a>

 `BatchSize`   <a name="sam-function-msk-batchsize"></a>
Lambda가 스트림 또는 대기열에서 풀링하여 함수로 보내는 각 배치의 최대 레코드 수입니다. Lambda는 동기식 간접 호출에 대한 페이로드 제한(6MB)까지 단일 호출로 배치의 모든 레코드를 함수로 전달합니다.  
*기본값*: 100  
*유효 범위*: 최소값 1. 최대값은 10,000입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.

 `BisectBatchOnFunctionError`   <a name="sam-function-msk-bisectbatchonfunctionerror"></a>
함수가 오류를 제시하면 비치를 2개로 분할해서 다시 시도합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` 속성으로 직접 전달됩니다.

 `ConsumerGroupId`   <a name="sam-function-msk-consumergroupid"></a>
Kafka 주제에서 이벤트를 읽는 방법을 구성하는 문자열입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[AmazonManagedKafkaConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)` 속성으로 직접 전달됩니다.

 `DestinationConfig`   <a name="sam-function-msk-destinationconfig"></a>
Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.  
이 속성을 사용하여 Amazon MSK 이벤트 소스에서 실패한 간접 호출의 대상을 지정합니다.  
*유형*: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-msk-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-msk-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FunctionResponseTypes`   <a name="sam-function-msk-functionresponsetypes"></a>
이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html)를 참조하세요.  
*유효한 값*: `ReportBatchItemFailures`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-msk-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-msk-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-msk-maximumrecordageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 기록의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-msk-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` 속성으로 직접 전달됩니다.

 `LoggingConfig`   <a name="sam-function-msk-loggingconfig"></a>
이벤트 소스 매핑에 대한 로깅 구성을 지정하는 구성 객체입니다.  
*Type*: [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-msk-metricsconfig"></a>
이벤트 소스 매핑에 대한 지표 구성을 지정하는 구성 객체입니다.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)` 속성으로 직접 전달됩니다.

 `ProvisionedPollerConfig`   <a name="sam-function-msk-provisionedpollerconfig"></a>
이벤트 소스 매핑을 컴퓨팅하는 데 사용되는 폴러의 양을 늘리기 위한 구성입니다. 이 구성은 최소 1개의 폴러와 최대 2,000개의 폴러를 허용합니다. 예시는 [ProvisionedPollerConfig 예시](#sam-property-function-msk-example-provisionedpollerconfig)에서 확인하세요.  
*유형*: [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` 속성으로 직접 전달됩니다.

`SchemaRegistryConfig`  <a name="sam-function-msk-schemaregistryconfig"></a>
Kafka 이벤트 소스와 스키마 레지스트리를 사용하기 위한 구성입니다.  
이 기능에는 `ProvisionedPollerConfig` 구성이 필요합니다.
*유형*: SchemaRegistryConfig  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)` 속성으로 직접 전달됩니다.

 `SourceAccessConfigurations`   <a name="sam-function-msk-sourceaccessconfigurations"></a>
이벤트 소스를 보호하고 정의하는 데 사용되는 인증 프로토콜, VPC 구성 요소 또는 가상 호스트의 배열입니다.  
*유효한 값*: `CLIENT_CERTIFICATE_TLS_AUTH`  
*유형*: [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html) 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 [AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig) 속성의 일부입니다.

 `StartingPosition`   <a name="sam-function-msk-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유효한 값*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-msk-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

 `Stream`   <a name="sam-function-msk-stream"></a>
데이터 스트림 혹은 스트림 컨슈머의 Amazon 리소스 이름(ARN).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `Topics`   <a name="sam-function-msk-topics"></a>
Kafka 주제의 이름입니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-function-msk--examples"></a>

### IAM 역할로 설정 완료
<a name="sam-property-function-msk-example-complete"></a>

다음 예시는 Schema Registry 사용을 위해 필요한 IAM 역할 구성을 포함한 완료된 설정을 보여줍니다.

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String
  MskClusterName4:
    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: KafkaClusterPermissions
        PolicyDocument:
          Statement:
          - Action: [kafka:DescribeClusterV2, kafka:GetBootstrapBrokers]
            Effect: Allow
            Resource: 'arn:aws:kafka:us-east-1:123456789012:cluster/*'
      - 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}

  MyMskCluster:
    Type: AWS::MSK::Cluster
    Properties:
      BrokerNodeGroupInfo:
        ClientSubnets:
        - Ref: PreCreatedSubnetOne
        - Ref: PreCreatedSubnetTwo
        InstanceType: kafka.t3.small
        StorageInfo:
          EBSStorageInfo:
            VolumeSize: 1
      ClusterName:
        Ref: MskClusterName4
      KafkaVersion: 3.8.x
      NumberOfBrokerNodes: 2

  MyMskStreamProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        MyMskEvent:
          Type: MSK
          Properties:
            StartingPosition: LATEST
            Stream:
              Ref: MyMskCluster
            SourceAccessConfigurations:
            - Type: SASL_SCRAM_512_AUTH
              URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            Topics:
            - SchemaRegistryTestTopic
            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 예시
<a name="sam-property-function-msk-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### 기존 클러스터를 위한 Amazon MSK 예제
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster"></a>

다음은 이미 AWS 계정에 존재하는 Amazon MSK 클러스터의 `MSK` 이벤트 소스 유형의 예입니다.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream: arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2
      Topics:
        - MyTopic
```

### 동일한 템플릿에 선언된 클러스터에 대한 Amazon MSK 예제
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template"></a>

다음은 동일한 템플릿 파일에 선언된 Amazon MSK 클러스터의 `MSK` 이벤트 소스 유형입니다.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster   # This must be the name of an MSK cluster declared in the same template file
      Topics:
        - MyTopic
```

#### Schema Registry를 사용한 MSK 이벤트 소스
<a name="sam-property-function-msk-example-schemaregistry"></a>

다음은 Schema Registry로 구성된 `MSK` 이벤트 소스 유형의 예시입니다.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

#### Confluent Schema Registry를 사용한 MSK 이벤트 소스
<a name="sam-property-function-msk-example-schemaregistry-confluent"></a>

다음은 Confluent Schema Registry로 구성된 `MSK` 이벤트 소스 유형의 예시입니다.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      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
```