AWS::QBusiness::DataSource HookConfiguration - AWS CloudFormation

AWS::QBusiness::DataSource HookConfiguration

Provides the configuration information for invoking a Lambda function in AWS Lambda to alter document metadata and content when ingesting documents into Amazon Q Business.

You can configure your Lambda function using the PreExtractionHookConfiguration parameter if you want to apply advanced alterations on the original or raw documents.

If you want to apply advanced alterations on the Amazon Q Business structured documents, you must configure your Lambda function using PostExtractionHookConfiguration.

You can only invoke one Lambda function. However, this function can invoke other functions it requires.

For more information, see Custom document enrichment.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "InvocationCondition" : DocumentAttributeCondition, "LambdaArn" : String, "RoleArn" : String, "S3BucketName" : String }

Properties

InvocationCondition

The condition used for when a Lambda function should be invoked.

For example, you can specify a condition that if there are empty date-time values, then Amazon Q Business should invoke a function that inserts the current date-time.

Required: No

Type: DocumentAttributeCondition

Update requires: No interruption

LambdaArn

The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion. For more information, see IAM roles for Custom Document Enrichment (CDE).

Required: No

Type: String

Pattern: ^arn:aws[a-zA-Z-]*:lambda:[a-z-]*-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?$

Minimum: 1

Maximum: 2048

Update requires: No interruption

RoleArn

The Amazon Resource Name (ARN) of a role with permission to run PreExtractionHookConfiguration and PostExtractionHookConfiguration for altering document metadata and content during the document ingestion process.

Required: No

Type: String

Pattern: ^arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}$

Minimum: 0

Maximum: 1284

Update requires: No interruption

S3BucketName

Stores the original, raw documents or the structured, parsed documents before and after altering them. For more information, see Data contracts for Lambda functions.

Required: No

Type: String

Pattern: ^[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]$

Minimum: 1

Maximum: 63

Update requires: No interruption