eoapi-cdk 8.2.0__tar.gz → 8.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {eoapi_cdk-8.2.0/src/eoapi_cdk.egg-info → eoapi_cdk-8.2.1}/PKG-INFO +1 -1
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/setup.py +2 -2
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk/__init__.py +132 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk/_jsii/__init__.py +1 -1
- eoapi_cdk-8.2.1/src/eoapi_cdk/_jsii/eoapi-cdk@8.2.1.jsii.tgz +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1/src/eoapi_cdk.egg-info}/PKG-INFO +1 -1
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk.egg-info/SOURCES.txt +1 -1
- eoapi_cdk-8.2.0/src/eoapi_cdk/_jsii/eoapi-cdk@8.2.0.jsii.tgz +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/LICENSE +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/MANIFEST.in +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/README.md +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/pyproject.toml +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/setup.cfg +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk/py.typed +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk.egg-info/dependency_links.txt +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk.egg-info/requires.txt +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.1}/src/eoapi_cdk.egg-info/top_level.txt +0 -0
|
@@ -5,7 +5,7 @@ kwargs = json.loads(
|
|
|
5
5
|
"""
|
|
6
6
|
{
|
|
7
7
|
"name": "eoapi-cdk",
|
|
8
|
-
"version": "8.2.
|
|
8
|
+
"version": "8.2.1",
|
|
9
9
|
"description": "A set of constructs deploying pgSTAC with CDK",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"url": "https://github.com/developmentseed/eoapi-cdk.git",
|
|
@@ -26,7 +26,7 @@ kwargs = json.loads(
|
|
|
26
26
|
],
|
|
27
27
|
"package_data": {
|
|
28
28
|
"eoapi_cdk._jsii": [
|
|
29
|
-
"eoapi-cdk@8.2.
|
|
29
|
+
"eoapi-cdk@8.2.1.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"eoapi_cdk": [
|
|
32
32
|
"py.typed"
|
|
@@ -3024,11 +3024,14 @@ class StacItemLoader(
|
|
|
3024
3024
|
pgstac_db: PgStacDatabase,
|
|
3025
3025
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3026
3026
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3027
|
+
lambda_function_options: typing.Any = None,
|
|
3027
3028
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3028
3029
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3029
3030
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
3030
3031
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3031
3032
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3033
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3034
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3032
3035
|
) -> None:
|
|
3033
3036
|
'''
|
|
3034
3037
|
:param scope: -
|
|
@@ -3036,11 +3039,14 @@ class StacItemLoader(
|
|
|
3036
3039
|
:param pgstac_db: (experimental) The PgSTAC database instance to load items into. This database must have the pgstac extension installed and be properly configured with collections before items can be loaded. The loader will use AWS Secrets Manager to securely access database credentials.
|
|
3037
3040
|
:param batch_size: (experimental) SQS batch size for lambda event source. This determines the maximum number of STAC items that will be processed together in a single lambda invocation. Larger batch sizes improve database insertion efficiency but require more memory and longer processing time. **Batching Behavior**: SQS will wait to accumulate up to this many messages before triggering the Lambda, OR until the maxBatchingWindow timeout is reached, whichever comes first. This creates an efficient balance between throughput and latency. Default: 500
|
|
3038
3041
|
:param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
|
|
3042
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3039
3043
|
:param lambda_runtime: (experimental) The lambda runtime to use for the item loading function. The function is implemented in Python and uses pypgstac for database operations. Ensure the runtime version is compatible with the pgstac version specified in the database configuration. Default: lambda.Runtime.PYTHON_3_11
|
|
3040
3044
|
:param lambda_timeout_seconds: (experimental) The timeout for the item load lambda in seconds. This should accommodate the time needed to process up to ``batchSize`` items and perform database insertions. The SQS visibility timeout will be set to this value plus 10 seconds. Default: 300
|
|
3041
3045
|
:param max_batching_window_minutes: (experimental) Maximum batching window in minutes. Even if the batch size isn't reached, the lambda will be triggered after this time period to ensure timely processing of items. This prevents items from waiting indefinitely in low-volume scenarios. **Important**: This timeout works in conjunction with batchSize - SQS will trigger the Lambda when EITHER the batch size is reached OR this time window expires, ensuring items are processed in a timely manner regardless of volume. Default: 1
|
|
3042
3046
|
:param max_concurrency: (experimental) Maximum concurrent executions for the StacItemLoader Lambda function. This limit will be applied to the Lambda function and will control how many concurrent batches will be released from the SQS queue. Default: 2
|
|
3043
3047
|
:param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may improve performance when processing large batches of STAC items, especially for memory-intensive database operations. Default: 1024
|
|
3048
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3049
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3044
3050
|
|
|
3045
3051
|
:stability: experimental
|
|
3046
3052
|
'''
|
|
@@ -3052,11 +3058,14 @@ class StacItemLoader(
|
|
|
3052
3058
|
pgstac_db=pgstac_db,
|
|
3053
3059
|
batch_size=batch_size,
|
|
3054
3060
|
environment=environment,
|
|
3061
|
+
lambda_function_options=lambda_function_options,
|
|
3055
3062
|
lambda_runtime=lambda_runtime,
|
|
3056
3063
|
lambda_timeout_seconds=lambda_timeout_seconds,
|
|
3057
3064
|
max_batching_window_minutes=max_batching_window_minutes,
|
|
3058
3065
|
max_concurrency=max_concurrency,
|
|
3059
3066
|
memory_size=memory_size,
|
|
3067
|
+
subnet_selection=subnet_selection,
|
|
3068
|
+
vpc=vpc,
|
|
3060
3069
|
)
|
|
3061
3070
|
|
|
3062
3071
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -3139,11 +3148,14 @@ class StacItemLoader(
|
|
|
3139
3148
|
"pgstac_db": "pgstacDb",
|
|
3140
3149
|
"batch_size": "batchSize",
|
|
3141
3150
|
"environment": "environment",
|
|
3151
|
+
"lambda_function_options": "lambdaFunctionOptions",
|
|
3142
3152
|
"lambda_runtime": "lambdaRuntime",
|
|
3143
3153
|
"lambda_timeout_seconds": "lambdaTimeoutSeconds",
|
|
3144
3154
|
"max_batching_window_minutes": "maxBatchingWindowMinutes",
|
|
3145
3155
|
"max_concurrency": "maxConcurrency",
|
|
3146
3156
|
"memory_size": "memorySize",
|
|
3157
|
+
"subnet_selection": "subnetSelection",
|
|
3158
|
+
"vpc": "vpc",
|
|
3147
3159
|
},
|
|
3148
3160
|
)
|
|
3149
3161
|
class StacItemLoaderProps:
|
|
@@ -3153,11 +3165,14 @@ class StacItemLoaderProps:
|
|
|
3153
3165
|
pgstac_db: PgStacDatabase,
|
|
3154
3166
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3155
3167
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3168
|
+
lambda_function_options: typing.Any = None,
|
|
3156
3169
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3157
3170
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3158
3171
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
3159
3172
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3160
3173
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3174
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3175
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3161
3176
|
) -> None:
|
|
3162
3177
|
'''(experimental) Configuration properties for the StacItemLoader construct.
|
|
3163
3178
|
|
|
@@ -3173,11 +3188,14 @@ class StacItemLoaderProps:
|
|
|
3173
3188
|
:param pgstac_db: (experimental) The PgSTAC database instance to load items into. This database must have the pgstac extension installed and be properly configured with collections before items can be loaded. The loader will use AWS Secrets Manager to securely access database credentials.
|
|
3174
3189
|
:param batch_size: (experimental) SQS batch size for lambda event source. This determines the maximum number of STAC items that will be processed together in a single lambda invocation. Larger batch sizes improve database insertion efficiency but require more memory and longer processing time. **Batching Behavior**: SQS will wait to accumulate up to this many messages before triggering the Lambda, OR until the maxBatchingWindow timeout is reached, whichever comes first. This creates an efficient balance between throughput and latency. Default: 500
|
|
3175
3190
|
:param environment: (experimental) Additional environment variables for the lambda function. These will be merged with the default environment variables including PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
|
|
3191
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3176
3192
|
:param lambda_runtime: (experimental) The lambda runtime to use for the item loading function. The function is implemented in Python and uses pypgstac for database operations. Ensure the runtime version is compatible with the pgstac version specified in the database configuration. Default: lambda.Runtime.PYTHON_3_11
|
|
3177
3193
|
:param lambda_timeout_seconds: (experimental) The timeout for the item load lambda in seconds. This should accommodate the time needed to process up to ``batchSize`` items and perform database insertions. The SQS visibility timeout will be set to this value plus 10 seconds. Default: 300
|
|
3178
3194
|
:param max_batching_window_minutes: (experimental) Maximum batching window in minutes. Even if the batch size isn't reached, the lambda will be triggered after this time period to ensure timely processing of items. This prevents items from waiting indefinitely in low-volume scenarios. **Important**: This timeout works in conjunction with batchSize - SQS will trigger the Lambda when EITHER the batch size is reached OR this time window expires, ensuring items are processed in a timely manner regardless of volume. Default: 1
|
|
3179
3195
|
:param max_concurrency: (experimental) Maximum concurrent executions for the StacItemLoader Lambda function. This limit will be applied to the Lambda function and will control how many concurrent batches will be released from the SQS queue. Default: 2
|
|
3180
3196
|
:param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may improve performance when processing large batches of STAC items, especially for memory-intensive database operations. Default: 1024
|
|
3197
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3198
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3181
3199
|
|
|
3182
3200
|
:stability: experimental
|
|
3183
3201
|
|
|
@@ -3190,16 +3208,21 @@ class StacItemLoaderProps:
|
|
|
3190
3208
|
lambdaTimeoutSeconds: 300
|
|
3191
3209
|
});
|
|
3192
3210
|
'''
|
|
3211
|
+
if isinstance(subnet_selection, dict):
|
|
3212
|
+
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
3193
3213
|
if __debug__:
|
|
3194
3214
|
type_hints = typing.get_type_hints(_typecheckingstub__4bbe16b8ca579680ab8c75903813675de5c4f4e8877137194262298af5f8093d)
|
|
3195
3215
|
check_type(argname="argument pgstac_db", value=pgstac_db, expected_type=type_hints["pgstac_db"])
|
|
3196
3216
|
check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
|
|
3197
3217
|
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
3218
|
+
check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
|
|
3198
3219
|
check_type(argname="argument lambda_runtime", value=lambda_runtime, expected_type=type_hints["lambda_runtime"])
|
|
3199
3220
|
check_type(argname="argument lambda_timeout_seconds", value=lambda_timeout_seconds, expected_type=type_hints["lambda_timeout_seconds"])
|
|
3200
3221
|
check_type(argname="argument max_batching_window_minutes", value=max_batching_window_minutes, expected_type=type_hints["max_batching_window_minutes"])
|
|
3201
3222
|
check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
|
|
3202
3223
|
check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
|
|
3224
|
+
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
3225
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
3203
3226
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3204
3227
|
"pgstac_db": pgstac_db,
|
|
3205
3228
|
}
|
|
@@ -3207,6 +3230,8 @@ class StacItemLoaderProps:
|
|
|
3207
3230
|
self._values["batch_size"] = batch_size
|
|
3208
3231
|
if environment is not None:
|
|
3209
3232
|
self._values["environment"] = environment
|
|
3233
|
+
if lambda_function_options is not None:
|
|
3234
|
+
self._values["lambda_function_options"] = lambda_function_options
|
|
3210
3235
|
if lambda_runtime is not None:
|
|
3211
3236
|
self._values["lambda_runtime"] = lambda_runtime
|
|
3212
3237
|
if lambda_timeout_seconds is not None:
|
|
@@ -3217,6 +3242,10 @@ class StacItemLoaderProps:
|
|
|
3217
3242
|
self._values["max_concurrency"] = max_concurrency
|
|
3218
3243
|
if memory_size is not None:
|
|
3219
3244
|
self._values["memory_size"] = memory_size
|
|
3245
|
+
if subnet_selection is not None:
|
|
3246
|
+
self._values["subnet_selection"] = subnet_selection
|
|
3247
|
+
if vpc is not None:
|
|
3248
|
+
self._values["vpc"] = vpc
|
|
3220
3249
|
|
|
3221
3250
|
@builtins.property
|
|
3222
3251
|
def pgstac_db(self) -> PgStacDatabase:
|
|
@@ -3267,6 +3296,17 @@ class StacItemLoaderProps:
|
|
|
3267
3296
|
result = self._values.get("environment")
|
|
3268
3297
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
3269
3298
|
|
|
3299
|
+
@builtins.property
|
|
3300
|
+
def lambda_function_options(self) -> typing.Any:
|
|
3301
|
+
'''(experimental) Can be used to override the default lambda function properties.
|
|
3302
|
+
|
|
3303
|
+
:default: - defined in the construct.
|
|
3304
|
+
|
|
3305
|
+
:stability: experimental
|
|
3306
|
+
'''
|
|
3307
|
+
result = self._values.get("lambda_function_options")
|
|
3308
|
+
return typing.cast(typing.Any, result)
|
|
3309
|
+
|
|
3270
3310
|
@builtins.property
|
|
3271
3311
|
def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
|
|
3272
3312
|
'''(experimental) The lambda runtime to use for the item loading function.
|
|
@@ -3346,6 +3386,26 @@ class StacItemLoaderProps:
|
|
|
3346
3386
|
result = self._values.get("memory_size")
|
|
3347
3387
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3348
3388
|
|
|
3389
|
+
@builtins.property
|
|
3390
|
+
def subnet_selection(
|
|
3391
|
+
self,
|
|
3392
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
3393
|
+
'''(experimental) Subnet into which the lambda should be deployed.
|
|
3394
|
+
|
|
3395
|
+
:stability: experimental
|
|
3396
|
+
'''
|
|
3397
|
+
result = self._values.get("subnet_selection")
|
|
3398
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
3399
|
+
|
|
3400
|
+
@builtins.property
|
|
3401
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
3402
|
+
'''(experimental) VPC into which the lambda should be deployed.
|
|
3403
|
+
|
|
3404
|
+
:stability: experimental
|
|
3405
|
+
'''
|
|
3406
|
+
result = self._values.get("vpc")
|
|
3407
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
3408
|
+
|
|
3349
3409
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3350
3410
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3351
3411
|
|
|
@@ -3499,10 +3559,13 @@ class StactoolsItemGenerator(
|
|
|
3499
3559
|
item_load_topic_arn: builtins.str,
|
|
3500
3560
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3501
3561
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3562
|
+
lambda_function_options: typing.Any = None,
|
|
3502
3563
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3503
3564
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3504
3565
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3505
3566
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3567
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3568
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3506
3569
|
) -> None:
|
|
3507
3570
|
'''
|
|
3508
3571
|
:param scope: -
|
|
@@ -3510,10 +3573,13 @@ class StactoolsItemGenerator(
|
|
|
3510
3573
|
:param item_load_topic_arn: (experimental) ARN of the SNS topic to publish generated items to. This is typically the topic from a StacItemLoader construct. Generated STAC items will be published here for downstream processing and database insertion.
|
|
3511
3574
|
:param batch_size: (experimental) SQS batch size for lambda event source. This determines how many generation requests are processed together in a single lambda invocation. Unlike the loader, generation typically processes items individually, so smaller batch sizes are common. Default: 10
|
|
3512
3575
|
:param environment: (experimental) Additional environment variables for the lambda function. These will be merged with default environment variables including ITEM_LOAD_TOPIC_ARN and LOG_LEVEL. Use this for custom configuration or to pass credentials for external data sources.
|
|
3576
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3513
3577
|
:param lambda_runtime: (experimental) The lambda runtime to use for the item generation function. The function is containerized using Docker and can accommodate various stactools packages. The runtime version should be compatible with the packages you plan to use for STAC item generation. Default: lambda.Runtime.PYTHON_3_11
|
|
3514
3578
|
:param lambda_timeout_seconds: (experimental) The timeout for the item generation lambda in seconds. This should accommodate the time needed to: - Install stactools packages using uvx - Download and process source data - Generate STAC metadata - Publish results to SNS The SQS visibility timeout will be set to this value plus 10 seconds. Default: 120
|
|
3515
3579
|
:param max_concurrency: (experimental) Maximum number of concurrent executions. This controls how many item generation tasks can run simultaneously. Higher concurrency enables faster processing of large batches but may strain downstream systems or external data sources. Default: 100
|
|
3516
3580
|
:param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may be needed for processing large geospatial datasets or when stactools packages have high memory requirements. More memory also provides proportionally more CPU power. Default: 1024
|
|
3581
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3582
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3517
3583
|
|
|
3518
3584
|
:stability: experimental
|
|
3519
3585
|
'''
|
|
@@ -3525,10 +3591,13 @@ class StactoolsItemGenerator(
|
|
|
3525
3591
|
item_load_topic_arn=item_load_topic_arn,
|
|
3526
3592
|
batch_size=batch_size,
|
|
3527
3593
|
environment=environment,
|
|
3594
|
+
lambda_function_options=lambda_function_options,
|
|
3528
3595
|
lambda_runtime=lambda_runtime,
|
|
3529
3596
|
lambda_timeout_seconds=lambda_timeout_seconds,
|
|
3530
3597
|
max_concurrency=max_concurrency,
|
|
3531
3598
|
memory_size=memory_size,
|
|
3599
|
+
subnet_selection=subnet_selection,
|
|
3600
|
+
vpc=vpc,
|
|
3532
3601
|
)
|
|
3533
3602
|
|
|
3534
3603
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -3592,10 +3661,13 @@ class StactoolsItemGenerator(
|
|
|
3592
3661
|
"item_load_topic_arn": "itemLoadTopicArn",
|
|
3593
3662
|
"batch_size": "batchSize",
|
|
3594
3663
|
"environment": "environment",
|
|
3664
|
+
"lambda_function_options": "lambdaFunctionOptions",
|
|
3595
3665
|
"lambda_runtime": "lambdaRuntime",
|
|
3596
3666
|
"lambda_timeout_seconds": "lambdaTimeoutSeconds",
|
|
3597
3667
|
"max_concurrency": "maxConcurrency",
|
|
3598
3668
|
"memory_size": "memorySize",
|
|
3669
|
+
"subnet_selection": "subnetSelection",
|
|
3670
|
+
"vpc": "vpc",
|
|
3599
3671
|
},
|
|
3600
3672
|
)
|
|
3601
3673
|
class StactoolsItemGeneratorProps:
|
|
@@ -3605,10 +3677,13 @@ class StactoolsItemGeneratorProps:
|
|
|
3605
3677
|
item_load_topic_arn: builtins.str,
|
|
3606
3678
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3607
3679
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3680
|
+
lambda_function_options: typing.Any = None,
|
|
3608
3681
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3609
3682
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3610
3683
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3611
3684
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3685
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3686
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3612
3687
|
) -> None:
|
|
3613
3688
|
'''(experimental) Configuration properties for the StactoolsItemGenerator construct.
|
|
3614
3689
|
|
|
@@ -3620,10 +3695,13 @@ class StactoolsItemGeneratorProps:
|
|
|
3620
3695
|
:param item_load_topic_arn: (experimental) ARN of the SNS topic to publish generated items to. This is typically the topic from a StacItemLoader construct. Generated STAC items will be published here for downstream processing and database insertion.
|
|
3621
3696
|
:param batch_size: (experimental) SQS batch size for lambda event source. This determines how many generation requests are processed together in a single lambda invocation. Unlike the loader, generation typically processes items individually, so smaller batch sizes are common. Default: 10
|
|
3622
3697
|
:param environment: (experimental) Additional environment variables for the lambda function. These will be merged with default environment variables including ITEM_LOAD_TOPIC_ARN and LOG_LEVEL. Use this for custom configuration or to pass credentials for external data sources.
|
|
3698
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3623
3699
|
:param lambda_runtime: (experimental) The lambda runtime to use for the item generation function. The function is containerized using Docker and can accommodate various stactools packages. The runtime version should be compatible with the packages you plan to use for STAC item generation. Default: lambda.Runtime.PYTHON_3_11
|
|
3624
3700
|
:param lambda_timeout_seconds: (experimental) The timeout for the item generation lambda in seconds. This should accommodate the time needed to: - Install stactools packages using uvx - Download and process source data - Generate STAC metadata - Publish results to SNS The SQS visibility timeout will be set to this value plus 10 seconds. Default: 120
|
|
3625
3701
|
:param max_concurrency: (experimental) Maximum number of concurrent executions. This controls how many item generation tasks can run simultaneously. Higher concurrency enables faster processing of large batches but may strain downstream systems or external data sources. Default: 100
|
|
3626
3702
|
:param memory_size: (experimental) Memory size for the lambda function in MB. Higher memory allocation may be needed for processing large geospatial datasets or when stactools packages have high memory requirements. More memory also provides proportionally more CPU power. Default: 1024
|
|
3703
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3704
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3627
3705
|
|
|
3628
3706
|
:stability: experimental
|
|
3629
3707
|
|
|
@@ -3636,15 +3714,20 @@ class StactoolsItemGeneratorProps:
|
|
|
3636
3714
|
batchSize: 10
|
|
3637
3715
|
});
|
|
3638
3716
|
'''
|
|
3717
|
+
if isinstance(subnet_selection, dict):
|
|
3718
|
+
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
3639
3719
|
if __debug__:
|
|
3640
3720
|
type_hints = typing.get_type_hints(_typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0a1cb82c)
|
|
3641
3721
|
check_type(argname="argument item_load_topic_arn", value=item_load_topic_arn, expected_type=type_hints["item_load_topic_arn"])
|
|
3642
3722
|
check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
|
|
3643
3723
|
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
3724
|
+
check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
|
|
3644
3725
|
check_type(argname="argument lambda_runtime", value=lambda_runtime, expected_type=type_hints["lambda_runtime"])
|
|
3645
3726
|
check_type(argname="argument lambda_timeout_seconds", value=lambda_timeout_seconds, expected_type=type_hints["lambda_timeout_seconds"])
|
|
3646
3727
|
check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
|
|
3647
3728
|
check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
|
|
3729
|
+
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
3730
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
3648
3731
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3649
3732
|
"item_load_topic_arn": item_load_topic_arn,
|
|
3650
3733
|
}
|
|
@@ -3652,6 +3735,8 @@ class StactoolsItemGeneratorProps:
|
|
|
3652
3735
|
self._values["batch_size"] = batch_size
|
|
3653
3736
|
if environment is not None:
|
|
3654
3737
|
self._values["environment"] = environment
|
|
3738
|
+
if lambda_function_options is not None:
|
|
3739
|
+
self._values["lambda_function_options"] = lambda_function_options
|
|
3655
3740
|
if lambda_runtime is not None:
|
|
3656
3741
|
self._values["lambda_runtime"] = lambda_runtime
|
|
3657
3742
|
if lambda_timeout_seconds is not None:
|
|
@@ -3660,6 +3745,10 @@ class StactoolsItemGeneratorProps:
|
|
|
3660
3745
|
self._values["max_concurrency"] = max_concurrency
|
|
3661
3746
|
if memory_size is not None:
|
|
3662
3747
|
self._values["memory_size"] = memory_size
|
|
3748
|
+
if subnet_selection is not None:
|
|
3749
|
+
self._values["subnet_selection"] = subnet_selection
|
|
3750
|
+
if vpc is not None:
|
|
3751
|
+
self._values["vpc"] = vpc
|
|
3663
3752
|
|
|
3664
3753
|
@builtins.property
|
|
3665
3754
|
def item_load_topic_arn(self) -> builtins.str:
|
|
@@ -3705,6 +3794,17 @@ class StactoolsItemGeneratorProps:
|
|
|
3705
3794
|
result = self._values.get("environment")
|
|
3706
3795
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
3707
3796
|
|
|
3797
|
+
@builtins.property
|
|
3798
|
+
def lambda_function_options(self) -> typing.Any:
|
|
3799
|
+
'''(experimental) Can be used to override the default lambda function properties.
|
|
3800
|
+
|
|
3801
|
+
:default: - defined in the construct.
|
|
3802
|
+
|
|
3803
|
+
:stability: experimental
|
|
3804
|
+
'''
|
|
3805
|
+
result = self._values.get("lambda_function_options")
|
|
3806
|
+
return typing.cast(typing.Any, result)
|
|
3807
|
+
|
|
3708
3808
|
@builtins.property
|
|
3709
3809
|
def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
|
|
3710
3810
|
'''(experimental) The lambda runtime to use for the item generation function.
|
|
@@ -3770,6 +3870,26 @@ class StactoolsItemGeneratorProps:
|
|
|
3770
3870
|
result = self._values.get("memory_size")
|
|
3771
3871
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3772
3872
|
|
|
3873
|
+
@builtins.property
|
|
3874
|
+
def subnet_selection(
|
|
3875
|
+
self,
|
|
3876
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
3877
|
+
'''(experimental) Subnet into which the lambda should be deployed.
|
|
3878
|
+
|
|
3879
|
+
:stability: experimental
|
|
3880
|
+
'''
|
|
3881
|
+
result = self._values.get("subnet_selection")
|
|
3882
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
3883
|
+
|
|
3884
|
+
@builtins.property
|
|
3885
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
3886
|
+
'''(experimental) VPC into which the lambda should be deployed.
|
|
3887
|
+
|
|
3888
|
+
:stability: experimental
|
|
3889
|
+
'''
|
|
3890
|
+
result = self._values.get("vpc")
|
|
3891
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
3892
|
+
|
|
3773
3893
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3774
3894
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3775
3895
|
|
|
@@ -4626,11 +4746,14 @@ def _typecheckingstub__3993e1684b5582edef005457882c4cfe3c53062e1f47dc584d35a9cfa
|
|
|
4626
4746
|
pgstac_db: PgStacDatabase,
|
|
4627
4747
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4628
4748
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4749
|
+
lambda_function_options: typing.Any = None,
|
|
4629
4750
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4630
4751
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4631
4752
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
4632
4753
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4633
4754
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4755
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4756
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4634
4757
|
) -> None:
|
|
4635
4758
|
"""Type checking stubs"""
|
|
4636
4759
|
pass
|
|
@@ -4640,11 +4763,14 @@ def _typecheckingstub__4bbe16b8ca579680ab8c75903813675de5c4f4e8877137194262298af
|
|
|
4640
4763
|
pgstac_db: PgStacDatabase,
|
|
4641
4764
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4642
4765
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4766
|
+
lambda_function_options: typing.Any = None,
|
|
4643
4767
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4644
4768
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4645
4769
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
4646
4770
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4647
4771
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4772
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4773
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4648
4774
|
) -> None:
|
|
4649
4775
|
"""Type checking stubs"""
|
|
4650
4776
|
pass
|
|
@@ -4656,10 +4782,13 @@ def _typecheckingstub__243b4e1875cc07228a55b3a2ffc4c24ad6d9b88594875765ecf973953
|
|
|
4656
4782
|
item_load_topic_arn: builtins.str,
|
|
4657
4783
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4658
4784
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4785
|
+
lambda_function_options: typing.Any = None,
|
|
4659
4786
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4660
4787
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4661
4788
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4662
4789
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4790
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4791
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4663
4792
|
) -> None:
|
|
4664
4793
|
"""Type checking stubs"""
|
|
4665
4794
|
pass
|
|
@@ -4669,10 +4798,13 @@ def _typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0
|
|
|
4669
4798
|
item_load_topic_arn: builtins.str,
|
|
4670
4799
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4671
4800
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4801
|
+
lambda_function_options: typing.Any = None,
|
|
4672
4802
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4673
4803
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4674
4804
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4675
4805
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4806
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4807
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4676
4808
|
) -> None:
|
|
4677
4809
|
"""Type checking stubs"""
|
|
4678
4810
|
pass
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|