I have a python greengrass component that in itself is in a compressed artifact. I also have a non-compressed artifact in test/route.nmea that i want to access from within the python component.
"Artifacts": [
{
"URI": "s3://jeteye/components/artifacts/au.com.company.gg_gps_publish/0.0.123/gg_gps_publish.zip",
"Unarchive": "ZIP"
},
{
"URI": "s3://jeteye/components/artifacts/au.com.company.gg_gps_publish/0.0.123/test/route.nmea",
"Unarchive": "NONE"
}
i tried:
g_nmea_file = os.path.dirname(os.path.abspath(__file__)) + '/../test/route.nmea'
but that ends up pointing to the decompressed artifact directory :
/greengrass/v2/packages/artifacts-unarchived/au.com.company.gg_gps_publish/0.0.123/gg_gps_publish/test/route.nmea
is there a greengrass call to get access the non-unarchived artifact directory like:
/greengrass/v2/packages/artifacts/au.com.company.gg_gps_publish/0.0.123/gg_gps_publish/
?
I have also tried to pass in the {artifacts:path} variable that is available in the receipe by adding it to a config:
"ComponentConfiguration": {
"DefaultConfiguration": {
"GGV2ComponentConfig": {
"current_version" : "0.0.123",
"gps_tick_topic" : "gps/tick",
"timeout_sec" : 10,
"test_nmea_file" : "{artifacts:path}/test/route.nmea"
},
and passing it into the python like:
"Lifecycle": {
"Install": "pip3 install awsiotsdk pynmeagps",
"Run": {
"Script": "python3 -u {artifacts:decompressedPath}/gg_gps_publish/main.py '{configuration:/GGV2ComponentConfig}'",
"RequiresPrivilege": "false"
}
},
when i read the GGV2ComponentConfig.test_nmea_file configuration , the {artifacts:path} part is empty