Skip to content

Commit 5cc8c98

Browse files
authored
breaking: configurable file postfixes for PDS metadata extraction (#124)
* feat: configurable file postfixes for PDS metadata extraction * fix: some bugfix + update manual deployment update * breaking: rename lvl0 and lvl1 to s4pa and cas * fix: rename output variables * chore: update contributing
1 parent a4c9d47 commit 5cc8c98

File tree

19 files changed

+39
-23
lines changed

19 files changed

+39
-23
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.0.0] - 2023-03-27
9+
### Breaking
10+
- [#124](https://github.com/unity-sds/unity-data-services/pull/124) configurable file postfixes for PDS metadata extraction + rename function names which will break previous terraforms
11+
812
## [2.0.0] - 2023-01-23
913
### Breaking
1014
- [#120](https://github.com/unity-sds/unity-data-services/pull/120) breakup upload and download dockers into search + download & upload + catalog

ci.cd/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ update_lambda_function_mcp_dev_4:
4141
aws lambda update-function-code --s3-key unity_cumulus_lambda/cumulus_lambda_functions_deployment.zip --s3-bucket uds-dev-cumulus-public --function-name arn:aws:lambda:us-west-2:237868187491:function:uds-dev-cumulus-cumulus_collections_creation_dapa --publish &>/dev/null
4242
update_lambda_function_mcp_dev_5:
4343
aws lambda update-function-code --s3-key unity_cumulus_lambda/cumulus_lambda_functions_deployment.zip --s3-bucket uds-dev-cumulus-public --function-name arn:aws:lambda:us-west-2:237868187491:function:uds-dev-cumulus-cumulus_collections_creation_dapa_facade --publish &>/dev/null
44+
update_lambda_function_mcp_dev_6:
45+
aws lambda update-function-code --s3-key unity_cumulus_lambda/cumulus_lambda_functions_deployment.zip --s3-bucket uds-dev-cumulus-public --function-name arn:aws:lambda:us-west-2:237868187491:function:uds-dev-cumulus-metadata_s4pa_generate_cmr --publish &>/dev/null
46+
4447

4548
mcp_dev: upload_lambda_mcp_dev update_lambda_function_mcp_dev_1 update_lambda_function_mcp_dev_2 update_lambda_function_mcp_dev_4 update_lambda_function_mcp_dev_5
4649

cumulus_lambda_functions/snpp_level1a_generate_cmr/echo_metadata.py renamed to cumulus_lambda_functions/metadata_cas_generate_cmr/echo_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
"""
7474
from copy import deepcopy
7575

76-
from cumulus_lambda_functions.snpp_level1a_generate_cmr.l1a_input_metadata import L1AInputMetadata
76+
from cumulus_lambda_functions.metadata_cas_generate_cmr.l1a_input_metadata import L1AInputMetadata
7777

7878
SAMPLE_METADATA = {
7979
"GranuleUR": "MYD13Q1.A2017297.h19v10.006.2017313221202",

cumulus_lambda_functions/snpp_level1a_generate_cmr/generate_cmr.py renamed to cumulus_lambda_functions/metadata_cas_generate_cmr/generate_cmr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from cumulus_lambda_functions.lib.json_validator import JsonValidator
99
from cumulus_lambda_functions.lib.lambda_logger_generator import LambdaLoggerGenerator
1010
from cumulus_lambda_functions.lib.time_utils import TimeUtils
11-
from cumulus_lambda_functions.snpp_level1a_generate_cmr.echo_metadata import EchoMetadata
12-
from cumulus_lambda_functions.snpp_level1a_generate_cmr.l1a_input_metadata import L1AInputMetadata
11+
from cumulus_lambda_functions.metadata_cas_generate_cmr.echo_metadata import EchoMetadata
12+
from cumulus_lambda_functions.metadata_cas_generate_cmr.l1a_input_metadata import L1AInputMetadata
1313

1414
LOGGER = LambdaLoggerGenerator.get_logger(__name__, LambdaLoggerGenerator.get_level_from_env())
1515

cumulus_lambda_functions/snpp_level1a_generate_cmr/lambda_function.py renamed to cumulus_lambda_functions/metadata_cas_generate_cmr/lambda_function.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22

33
from cumulus_lambda_functions.lib.lambda_logger_generator import LambdaLoggerGenerator
4-
from cumulus_lambda_functions.snpp_level1a_generate_cmr.generate_cmr import GenerateCmr
4+
from cumulus_lambda_functions.metadata_cas_generate_cmr.generate_cmr import GenerateCmr
55

66

77
def lambda_handler(event, context):

cumulus_lambda_functions/snpp_lvl0_generate_cmr/echo_metadata.py renamed to cumulus_lambda_functions/metadata_s4pa_generate_cmr/echo_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
"""
7474
from copy import deepcopy
7575

76-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.pds_metadata import PdsMetadata
76+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.pds_metadata import PdsMetadata
7777

7878
SAMPLE_METADATA = {
7979
"GranuleUR": "MYD13Q1.A2017297.h19v10.006.2017313221202",

cumulus_lambda_functions/snpp_lvl0_generate_cmr/generate_cmr.py renamed to cumulus_lambda_functions/metadata_s4pa_generate_cmr/generate_cmr.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from cumulus_lambda_functions.lib.json_validator import JsonValidator
88
from cumulus_lambda_functions.lib.lambda_logger_generator import LambdaLoggerGenerator
99
from cumulus_lambda_functions.lib.time_utils import TimeUtils
10-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.echo_metadata import EchoMetadata
11-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.pds_metadata import PdsMetadata
10+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.echo_metadata import EchoMetadata
11+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.pds_metadata import PdsMetadata
1212

1313
LOGGER = LambdaLoggerGenerator.get_logger(__name__, LambdaLoggerGenerator.get_level_from_env())
1414

@@ -97,6 +97,8 @@ def __init__(self, event):
9797
self.__event = event
9898
self.__s3 = AwsS3()
9999
self._pds_file_dict = None
100+
self.__file_postfixes = os.getenv('FILE_POSTFIX', '1.PDS.XML, NC.XML')
101+
self.__file_postfixes = [k.upper().strip() for k in self.__file_postfixes.split(',')]
100102
self.__input_file_list = []
101103

102104
def __validate_input(self):
@@ -109,7 +111,9 @@ def __get_pds_metadata_file(self):
109111
self.__input_file_list = self.__event['cma']['event']['meta']['input_granules'][0]['files']
110112
for each_file in self.__input_file_list:
111113
LOGGER.debug(f'checking file: {each_file}')
112-
if each_file['key'].upper().endswith('1.PDS.XML'):
114+
file_key_upper = each_file['key'].upper().strip()
115+
LOGGER.debug(f'checking file_key_upper: {file_key_upper} against {self.__file_postfixes}')
116+
if any([file_key_upper.endswith(k) for k in self.__file_postfixes]):
113117
return each_file
114118
return None
115119

cumulus_lambda_functions/snpp_lvl0_generate_cmr/lambda_function.py renamed to cumulus_lambda_functions/metadata_s4pa_generate_cmr/lambda_function.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22

33
from cumulus_lambda_functions.lib.lambda_logger_generator import LambdaLoggerGenerator
4-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.generate_cmr import GenerateCmr
4+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.generate_cmr import GenerateCmr
55

66

77
def lambda_handler(event, context):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
setup(
1919
name="cumulus_lambda_functions",
20-
version="2.0.0",
20+
version="3.0.0",
2121
packages=find_packages(),
2222
install_requires=install_requires,
2323
tests_require=['mock', 'nose', 'sphinx', 'sphinx_rtd_theme', 'coverage', 'pystac', 'python-dotenv', 'jsonschema'],

tests/cumulus_lambda_functions/snpp_level1a_generate_cmr/test_l1a_input_metadata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import unittest
22
import xmltodict
33

4-
from cumulus_lambda_functions.snpp_level1a_generate_cmr.l1a_input_metadata import L1AInputMetadata
4+
from cumulus_lambda_functions.metadata_cas_generate_cmr.l1a_input_metadata import L1AInputMetadata
55

66

77
class TestL1aInputMetadata(unittest.TestCase):

tests/cumulus_lambda_functions/snpp_lvl0_generate_cmr/test_echo_metadata.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import xmltodict
44

5-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.echo_metadata import EchoMetadata
6-
from cumulus_lambda_functions.snpp_lvl0_generate_cmr.pds_metadata import PdsMetadata
5+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.echo_metadata import EchoMetadata
6+
from cumulus_lambda_functions.metadata_s4pa_generate_cmr.pds_metadata import PdsMetadata
77

88

99
class TestEchoMetadata(unittest.TestCase):

tf-module/unity-cumulus/main.tf

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,17 @@ data "aws_iam_policy_document" "lambda_assume_role_policy" {
3333
}
3434
}
3535

36-
resource "aws_lambda_function" "snpp_lvl0_generate_cmr" {
36+
resource "aws_lambda_function" "metadata_s4pa_generate_cmr" {
3737
filename = local.lambda_file_name
38-
function_name = "${var.prefix}-snpp_lvl0_generate_cmr"
38+
function_name = "${var.prefix}-metadata_s4pa_generate_cmr"
3939
role = var.lambda_processing_role_arn
40-
handler = "cumulus_lambda_functions.snpp_lvl0_generate_cmr.lambda_function.lambda_handler"
40+
handler = "cumulus_lambda_functions.metadata_s4pa_generate_cmr.lambda_function.lambda_handler"
4141
runtime = "python3.9"
4242
timeout = 300
4343
environment {
4444
variables = {
4545
LOG_LEVEL = var.log_level
46+
FILE_POSTFIX = var.metadata_s4pa_file_postfix
4647
}
4748
}
4849

@@ -53,11 +54,11 @@ resource "aws_lambda_function" "snpp_lvl0_generate_cmr" {
5354
tags = var.tags
5455
}
5556

56-
resource "aws_lambda_function" "snpp_lvl1_generate_cmr" {
57+
resource "aws_lambda_function" "metadata_cas_generate_cmr" {
5758
filename = local.lambda_file_name
58-
function_name = "${var.prefix}-snpp_lvl1_generate_cmr"
59+
function_name = "${var.prefix}-metadata_cas_generate_cmr"
5960
role = var.lambda_processing_role_arn
60-
handler = "cumulus_lambda_functions.snpp_level1a_generate_cmr.lambda_function.lambda_handler"
61+
handler = "cumulus_lambda_functions.metadata_cas_generate_cmr.lambda_function.lambda_handler"
6162
runtime = "python3.9"
6263
timeout = 300
6364
environment {

tf-module/unity-cumulus/outputs.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
output "snpp_lvl0_generate_cmr_arn" {
2-
value = aws_lambda_function.snpp_lvl0_generate_cmr.arn
1+
output "metadata_s4pa_generate_cmr_arn" {
2+
value = aws_lambda_function.metadata_s4pa_generate_cmr.arn
33
}
44

55
output "cumulus_granules_dapa_arn" {
@@ -10,8 +10,8 @@ output "cumulus_collections_dapa_arn" {
1010
value = aws_lambda_function.cumulus_collections_dapa.arn
1111
}
1212

13-
output "snpp_lvl1_generate_cmr_arn" {
14-
value = aws_lambda_function.snpp_lvl1_generate_cmr.arn
13+
output "metadata_cas_generate_cmr_arn" {
14+
value = aws_lambda_function.metadata_cas_generate_cmr.arn
1515
}
1616

1717
output "cumulus_collections_ingest_cnm_dapa_arn" {

tf-module/unity-cumulus/variables.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ variable "log_level" {
33
default = "20"
44
description = "Lambda Log Level. Follow Python3 log level numbers info=20, warning=30, etc..."
55
}
6+
variable "metadata_s4pa_file_postfix" {
7+
type = string
8+
description = "Comma separated File Postfix for PDS XML metadata files"
9+
}
610
variable "prefix" {
711
type = string
812
}

0 commit comments

Comments
 (0)