primus.infrastructure.constructs.async_score_processing module

class primus.infrastructure.constructs.async_score_processing.AsyncScoreProcessing(*args: Any, **kwargs)

Bases: Construct

Reusable async score processing resources for a deployment-owned runtime.

Creates a new construct node.

Parameters:
  • scope – The scope in which to define this construct.

  • id – The scoped construct ID. Must be unique amongst siblings. If the ID includes a path separator (/), then it will be replaced by double dash --.

__init__(scope: Construct, construct_id: str, *, props: AsyncScoreProcessingProps) → None

Creates a new construct node.

Parameters:
  • scope – The scope in which to define this construct.

  • id – The scoped construct ID. Must be unique amongst siblings. If the ID includes a path separator (/), then it will be replaced by double dash --.

class primus.infrastructure.constructs.async_score_processing.AsyncScoreProcessingProps(resource_prefix: 'str', environment_name: 'str', image_repository: 'ecr.IRepository', image_tag_or_digest: 'str', runtime_config_secret: 'secretsmanager.ISecret', request_queue: 'sqs.IQueue | None' = None, response_queue: 'sqs.IQueue | None' = None, secret_environment: 'Mapping[str, str]'=<factory>, environment_variables: 'Mapping[str, str]'=<factory>, additional_policy_statements: 'Sequence[iam.PolicyStatement]' = <factory>, bedrock_model_resources: 'Sequence[str]' = <factory>, visibility_timeout: 'Duration' = <aws_cdk.Duration object at 0x7fddedda2d50>, retention_period: 'Duration' = <aws_cdk.Duration object at 0x7fddf47c6490>, queue_removal_policy: 'RemovalPolicy' = <RemovalPolicy.RETAIN: 'RETAIN'>, dead_letter_max_receive_count: 'int' = 3, lambda_timeout: 'Duration' = <aws_cdk.Duration object at 0x7fddedd8f090>, lambda_memory_size: 'int' = 3008, log_retention: 'logs.RetentionDays' = <RetentionDays.ONE_MONTH: 'ONE_MONTH'>, log_removal_policy: 'RemovalPolicy' = <RemovalPolicy.RETAIN: 'RETAIN'>, reserved_concurrency: 'int | None' = None, max_event_source_concurrency: 'int | None' = None, batch_size: 'int' = 1, enable_dead_letter_queue_alarms: 'bool' = True)

Bases: object

__init__(resource_prefix: str, environment_name: str, image_repository: IRepository, image_tag_or_digest: str, runtime_config_secret: ISecret, request_queue: IQueue | None = None, response_queue: IQueue | None = None, secret_environment: Mapping[str, str]=<factory>, environment_variables: Mapping[str, str]=<factory>, additional_policy_statements: Sequence[PolicyStatement] = <factory>, bedrock_model_resources: Sequence[str] = <factory>, visibility_timeout: Duration = <aws_cdk.Duration object>, retention_period: Duration = <aws_cdk.Duration object>, queue_removal_policy: RemovalPolicy = RemovalPolicy.RETAIN, dead_letter_max_receive_count: int = 3, lambda_timeout: Duration = <aws_cdk.Duration object>, lambda_memory_size: int = 3008, log_retention: RetentionDays = RetentionDays.ONE_MONTH, log_removal_policy: RemovalPolicy = RemovalPolicy.RETAIN, reserved_concurrency: int | None = None, max_event_source_concurrency: int | None = None, batch_size: int = 1, enable_dead_letter_queue_alarms: bool = True) → None
additional_policy_statements: Sequence[PolicyStatement]
batch_size: int = 1
bedrock_model_resources: Sequence[str]
dead_letter_max_receive_count: int = 3
enable_dead_letter_queue_alarms: bool = True
environment_name: str
environment_variables: Mapping[str, str]
image_repository: IRepository
image_tag_or_digest: str
lambda_memory_size: int = 3008
lambda_timeout: Duration = <aws_cdk.Duration object>
log_removal_policy: RemovalPolicy = 'RETAIN'
log_retention: RetentionDays = 'ONE_MONTH'
max_event_source_concurrency: int | None = None
queue_removal_policy: RemovalPolicy = 'RETAIN'
request_queue: IQueue | None = None
reserved_concurrency: int | None = None
resource_prefix: str
response_queue: IQueue | None = None
retention_period: Duration = <aws_cdk.Duration object>
runtime_config_secret: ISecret
secret_environment: Mapping[str, str]
visibility_timeout: Duration = <aws_cdk.Duration object>
class primus.infrastructure.constructs.async_score_processing.AsyncScoreProcessingQueues(request_queue: 'sqs.IQueue', response_queue: 'sqs.IQueue', request_dead_letter_queue: 'sqs.IQueue | None' = None, response_dead_letter_queue: 'sqs.IQueue | None' = None)

Bases: object

__init__(request_queue: IQueue, response_queue: IQueue, request_dead_letter_queue: IQueue | None = None, response_dead_letter_queue: IQueue | None = None) → None
request_dead_letter_queue: IQueue | None = None
request_queue: IQueue
response_dead_letter_queue: IQueue | None = None
response_queue: IQueue