eoapi-cdk 8.2.0__tar.gz → 8.2.2__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.2}/PKG-INFO +1 -1
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/setup.py +2 -2
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/src/eoapi_cdk/__init__.py +138 -2
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/src/eoapi_cdk/_jsii/__init__.py +1 -1
- eoapi_cdk-8.2.2/src/eoapi_cdk/_jsii/eoapi-cdk@8.2.2.jsii.tgz +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2/src/eoapi_cdk.egg-info}/PKG-INFO +1 -1
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/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.2}/LICENSE +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/MANIFEST.in +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/README.md +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/pyproject.toml +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/setup.cfg +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/src/eoapi_cdk/py.typed +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/src/eoapi_cdk.egg-info/dependency_links.txt +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/src/eoapi_cdk.egg-info/requires.txt +0 -0
- {eoapi_cdk-8.2.0 → eoapi_cdk-8.2.2}/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.2",
|
|
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.2.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"eoapi_cdk": [
|
|
32
32
|
"py.typed"
|
|
@@ -3024,23 +3024,29 @@ 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: -
|
|
3035
3038
|
:param id: -
|
|
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
|
-
: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.
|
|
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. If you want to enable the option to upload a boilerplate collection record in the event that the collection record does not yet exist for an item that is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
|
|
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
|
|
|
@@ -3172,12 +3187,15 @@ class StacItemLoaderProps:
|
|
|
3172
3187
|
|
|
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
|
-
: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.
|
|
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. If you want to enable the option to upload a boilerplate collection record in the event that the collection record does not yet exist for an item that is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
|
|
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:
|
|
@@ -3262,11 +3291,26 @@ class StacItemLoaderProps:
|
|
|
3262
3291
|
These will be merged with the default environment variables including
|
|
3263
3292
|
PGSTAC_SECRET_ARN. Use this for custom configuration or debugging flags.
|
|
3264
3293
|
|
|
3294
|
+
If you want to enable the option to upload a boilerplate collection record
|
|
3295
|
+
in the event that the collection record does not yet exist for an item that
|
|
3296
|
+
is set to be loaded, set the variable ``"CREATE_COLLECTIONS_IF_MISSING": "TRUE"``.
|
|
3297
|
+
|
|
3265
3298
|
:stability: experimental
|
|
3266
3299
|
'''
|
|
3267
3300
|
result = self._values.get("environment")
|
|
3268
3301
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
3269
3302
|
|
|
3303
|
+
@builtins.property
|
|
3304
|
+
def lambda_function_options(self) -> typing.Any:
|
|
3305
|
+
'''(experimental) Can be used to override the default lambda function properties.
|
|
3306
|
+
|
|
3307
|
+
:default: - defined in the construct.
|
|
3308
|
+
|
|
3309
|
+
:stability: experimental
|
|
3310
|
+
'''
|
|
3311
|
+
result = self._values.get("lambda_function_options")
|
|
3312
|
+
return typing.cast(typing.Any, result)
|
|
3313
|
+
|
|
3270
3314
|
@builtins.property
|
|
3271
3315
|
def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
|
|
3272
3316
|
'''(experimental) The lambda runtime to use for the item loading function.
|
|
@@ -3346,6 +3390,26 @@ class StacItemLoaderProps:
|
|
|
3346
3390
|
result = self._values.get("memory_size")
|
|
3347
3391
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3348
3392
|
|
|
3393
|
+
@builtins.property
|
|
3394
|
+
def subnet_selection(
|
|
3395
|
+
self,
|
|
3396
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
3397
|
+
'''(experimental) Subnet into which the lambda should be deployed.
|
|
3398
|
+
|
|
3399
|
+
:stability: experimental
|
|
3400
|
+
'''
|
|
3401
|
+
result = self._values.get("subnet_selection")
|
|
3402
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
3403
|
+
|
|
3404
|
+
@builtins.property
|
|
3405
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
3406
|
+
'''(experimental) VPC into which the lambda should be deployed.
|
|
3407
|
+
|
|
3408
|
+
:stability: experimental
|
|
3409
|
+
'''
|
|
3410
|
+
result = self._values.get("vpc")
|
|
3411
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
3412
|
+
|
|
3349
3413
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3350
3414
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3351
3415
|
|
|
@@ -3499,10 +3563,13 @@ class StactoolsItemGenerator(
|
|
|
3499
3563
|
item_load_topic_arn: builtins.str,
|
|
3500
3564
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3501
3565
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3566
|
+
lambda_function_options: typing.Any = None,
|
|
3502
3567
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3503
3568
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3504
3569
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3505
3570
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3571
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3572
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3506
3573
|
) -> None:
|
|
3507
3574
|
'''
|
|
3508
3575
|
:param scope: -
|
|
@@ -3510,10 +3577,13 @@ class StactoolsItemGenerator(
|
|
|
3510
3577
|
: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
3578
|
: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
3579
|
: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.
|
|
3580
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3513
3581
|
: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
3582
|
: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
3583
|
: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
3584
|
: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
|
|
3585
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3586
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3517
3587
|
|
|
3518
3588
|
:stability: experimental
|
|
3519
3589
|
'''
|
|
@@ -3525,10 +3595,13 @@ class StactoolsItemGenerator(
|
|
|
3525
3595
|
item_load_topic_arn=item_load_topic_arn,
|
|
3526
3596
|
batch_size=batch_size,
|
|
3527
3597
|
environment=environment,
|
|
3598
|
+
lambda_function_options=lambda_function_options,
|
|
3528
3599
|
lambda_runtime=lambda_runtime,
|
|
3529
3600
|
lambda_timeout_seconds=lambda_timeout_seconds,
|
|
3530
3601
|
max_concurrency=max_concurrency,
|
|
3531
3602
|
memory_size=memory_size,
|
|
3603
|
+
subnet_selection=subnet_selection,
|
|
3604
|
+
vpc=vpc,
|
|
3532
3605
|
)
|
|
3533
3606
|
|
|
3534
3607
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -3592,10 +3665,13 @@ class StactoolsItemGenerator(
|
|
|
3592
3665
|
"item_load_topic_arn": "itemLoadTopicArn",
|
|
3593
3666
|
"batch_size": "batchSize",
|
|
3594
3667
|
"environment": "environment",
|
|
3668
|
+
"lambda_function_options": "lambdaFunctionOptions",
|
|
3595
3669
|
"lambda_runtime": "lambdaRuntime",
|
|
3596
3670
|
"lambda_timeout_seconds": "lambdaTimeoutSeconds",
|
|
3597
3671
|
"max_concurrency": "maxConcurrency",
|
|
3598
3672
|
"memory_size": "memorySize",
|
|
3673
|
+
"subnet_selection": "subnetSelection",
|
|
3674
|
+
"vpc": "vpc",
|
|
3599
3675
|
},
|
|
3600
3676
|
)
|
|
3601
3677
|
class StactoolsItemGeneratorProps:
|
|
@@ -3605,10 +3681,13 @@ class StactoolsItemGeneratorProps:
|
|
|
3605
3681
|
item_load_topic_arn: builtins.str,
|
|
3606
3682
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
3607
3683
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
3684
|
+
lambda_function_options: typing.Any = None,
|
|
3608
3685
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
3609
3686
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
3610
3687
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
3611
3688
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
3689
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3690
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3612
3691
|
) -> None:
|
|
3613
3692
|
'''(experimental) Configuration properties for the StactoolsItemGenerator construct.
|
|
3614
3693
|
|
|
@@ -3620,10 +3699,13 @@ class StactoolsItemGeneratorProps:
|
|
|
3620
3699
|
: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
3700
|
: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
3701
|
: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.
|
|
3702
|
+
:param lambda_function_options: (experimental) Can be used to override the default lambda function properties. Default: - defined in the construct.
|
|
3623
3703
|
: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
3704
|
: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
3705
|
: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
3706
|
: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
|
|
3707
|
+
:param subnet_selection: (experimental) Subnet into which the lambda should be deployed.
|
|
3708
|
+
:param vpc: (experimental) VPC into which the lambda should be deployed.
|
|
3627
3709
|
|
|
3628
3710
|
:stability: experimental
|
|
3629
3711
|
|
|
@@ -3636,15 +3718,20 @@ class StactoolsItemGeneratorProps:
|
|
|
3636
3718
|
batchSize: 10
|
|
3637
3719
|
});
|
|
3638
3720
|
'''
|
|
3721
|
+
if isinstance(subnet_selection, dict):
|
|
3722
|
+
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
3639
3723
|
if __debug__:
|
|
3640
3724
|
type_hints = typing.get_type_hints(_typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0a1cb82c)
|
|
3641
3725
|
check_type(argname="argument item_load_topic_arn", value=item_load_topic_arn, expected_type=type_hints["item_load_topic_arn"])
|
|
3642
3726
|
check_type(argname="argument batch_size", value=batch_size, expected_type=type_hints["batch_size"])
|
|
3643
3727
|
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
3728
|
+
check_type(argname="argument lambda_function_options", value=lambda_function_options, expected_type=type_hints["lambda_function_options"])
|
|
3644
3729
|
check_type(argname="argument lambda_runtime", value=lambda_runtime, expected_type=type_hints["lambda_runtime"])
|
|
3645
3730
|
check_type(argname="argument lambda_timeout_seconds", value=lambda_timeout_seconds, expected_type=type_hints["lambda_timeout_seconds"])
|
|
3646
3731
|
check_type(argname="argument max_concurrency", value=max_concurrency, expected_type=type_hints["max_concurrency"])
|
|
3647
3732
|
check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
|
|
3733
|
+
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
3734
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
3648
3735
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3649
3736
|
"item_load_topic_arn": item_load_topic_arn,
|
|
3650
3737
|
}
|
|
@@ -3652,6 +3739,8 @@ class StactoolsItemGeneratorProps:
|
|
|
3652
3739
|
self._values["batch_size"] = batch_size
|
|
3653
3740
|
if environment is not None:
|
|
3654
3741
|
self._values["environment"] = environment
|
|
3742
|
+
if lambda_function_options is not None:
|
|
3743
|
+
self._values["lambda_function_options"] = lambda_function_options
|
|
3655
3744
|
if lambda_runtime is not None:
|
|
3656
3745
|
self._values["lambda_runtime"] = lambda_runtime
|
|
3657
3746
|
if lambda_timeout_seconds is not None:
|
|
@@ -3660,6 +3749,10 @@ class StactoolsItemGeneratorProps:
|
|
|
3660
3749
|
self._values["max_concurrency"] = max_concurrency
|
|
3661
3750
|
if memory_size is not None:
|
|
3662
3751
|
self._values["memory_size"] = memory_size
|
|
3752
|
+
if subnet_selection is not None:
|
|
3753
|
+
self._values["subnet_selection"] = subnet_selection
|
|
3754
|
+
if vpc is not None:
|
|
3755
|
+
self._values["vpc"] = vpc
|
|
3663
3756
|
|
|
3664
3757
|
@builtins.property
|
|
3665
3758
|
def item_load_topic_arn(self) -> builtins.str:
|
|
@@ -3705,6 +3798,17 @@ class StactoolsItemGeneratorProps:
|
|
|
3705
3798
|
result = self._values.get("environment")
|
|
3706
3799
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
3707
3800
|
|
|
3801
|
+
@builtins.property
|
|
3802
|
+
def lambda_function_options(self) -> typing.Any:
|
|
3803
|
+
'''(experimental) Can be used to override the default lambda function properties.
|
|
3804
|
+
|
|
3805
|
+
:default: - defined in the construct.
|
|
3806
|
+
|
|
3807
|
+
:stability: experimental
|
|
3808
|
+
'''
|
|
3809
|
+
result = self._values.get("lambda_function_options")
|
|
3810
|
+
return typing.cast(typing.Any, result)
|
|
3811
|
+
|
|
3708
3812
|
@builtins.property
|
|
3709
3813
|
def lambda_runtime(self) -> typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime]:
|
|
3710
3814
|
'''(experimental) The lambda runtime to use for the item generation function.
|
|
@@ -3770,6 +3874,26 @@ class StactoolsItemGeneratorProps:
|
|
|
3770
3874
|
result = self._values.get("memory_size")
|
|
3771
3875
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3772
3876
|
|
|
3877
|
+
@builtins.property
|
|
3878
|
+
def subnet_selection(
|
|
3879
|
+
self,
|
|
3880
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
3881
|
+
'''(experimental) Subnet into which the lambda should be deployed.
|
|
3882
|
+
|
|
3883
|
+
:stability: experimental
|
|
3884
|
+
'''
|
|
3885
|
+
result = self._values.get("subnet_selection")
|
|
3886
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
3887
|
+
|
|
3888
|
+
@builtins.property
|
|
3889
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
3890
|
+
'''(experimental) VPC into which the lambda should be deployed.
|
|
3891
|
+
|
|
3892
|
+
:stability: experimental
|
|
3893
|
+
'''
|
|
3894
|
+
result = self._values.get("vpc")
|
|
3895
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
3896
|
+
|
|
3773
3897
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3774
3898
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3775
3899
|
|
|
@@ -4626,11 +4750,14 @@ def _typecheckingstub__3993e1684b5582edef005457882c4cfe3c53062e1f47dc584d35a9cfa
|
|
|
4626
4750
|
pgstac_db: PgStacDatabase,
|
|
4627
4751
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4628
4752
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4753
|
+
lambda_function_options: typing.Any = None,
|
|
4629
4754
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4630
4755
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4631
4756
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
4632
4757
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4633
4758
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4759
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4760
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4634
4761
|
) -> None:
|
|
4635
4762
|
"""Type checking stubs"""
|
|
4636
4763
|
pass
|
|
@@ -4640,11 +4767,14 @@ def _typecheckingstub__4bbe16b8ca579680ab8c75903813675de5c4f4e8877137194262298af
|
|
|
4640
4767
|
pgstac_db: PgStacDatabase,
|
|
4641
4768
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4642
4769
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4770
|
+
lambda_function_options: typing.Any = None,
|
|
4643
4771
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4644
4772
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4645
4773
|
max_batching_window_minutes: typing.Optional[jsii.Number] = None,
|
|
4646
4774
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4647
4775
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4776
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4777
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4648
4778
|
) -> None:
|
|
4649
4779
|
"""Type checking stubs"""
|
|
4650
4780
|
pass
|
|
@@ -4656,10 +4786,13 @@ def _typecheckingstub__243b4e1875cc07228a55b3a2ffc4c24ad6d9b88594875765ecf973953
|
|
|
4656
4786
|
item_load_topic_arn: builtins.str,
|
|
4657
4787
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4658
4788
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4789
|
+
lambda_function_options: typing.Any = None,
|
|
4659
4790
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4660
4791
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4661
4792
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4662
4793
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4794
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4795
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4663
4796
|
) -> None:
|
|
4664
4797
|
"""Type checking stubs"""
|
|
4665
4798
|
pass
|
|
@@ -4669,10 +4802,13 @@ def _typecheckingstub__6b9e5f6f8807be7e134c778699faa426c2851b57b5925a17e70c484a0
|
|
|
4669
4802
|
item_load_topic_arn: builtins.str,
|
|
4670
4803
|
batch_size: typing.Optional[jsii.Number] = None,
|
|
4671
4804
|
environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
4805
|
+
lambda_function_options: typing.Any = None,
|
|
4672
4806
|
lambda_runtime: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Runtime] = None,
|
|
4673
4807
|
lambda_timeout_seconds: typing.Optional[jsii.Number] = None,
|
|
4674
4808
|
max_concurrency: typing.Optional[jsii.Number] = None,
|
|
4675
4809
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
4810
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4811
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4676
4812
|
) -> None:
|
|
4677
4813
|
"""Type checking stubs"""
|
|
4678
4814
|
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
|