[greengrass] how to add environment variable

0

I need to deploy the kvs program to the device. I don't know how to add environment variables when deploying with greengrass. Is there an example? like: “setEnv”: "export LD_LIBRARY_PATH={artifacts:path}/lib" // i use this way,but wrong

is there any type of use greengrass deploy kvs to device?

  • I don't want to compile on the device, so I'm going to put the executable directly in, and then add environment variables to make it run directly

已提问 2 年前964 查看次数
2 回答
0

Hi. You can't do an export like that. Here is a JSON recipe example for Setenv: https://github.com/awslabs/aws-greengrass-labs-kvs-stream-uploader/blob/main/recipes/aws.greengrass.labs.kvs.stream.uploader-sample.json#L27

And a YAML example: https://github.com/awslabs/aws-greengrass-labs-jupyterlab/blob/main/recipes/aws.greengrass.labs.jupyterlab.yaml#L30

is there any type of use greengrass deploy kvs to device?

If I understand your question correctly, this component is likely of interest. It builds the KVS C SDK, links it into the component, and publishes the component for deployment: https://github.com/awslabs/aws-greengrass-labs-webrtc

profile pictureAWS
专家
Greg_B
已回答 2 年前
  • it still not work, when i use this: 14 "Lifecycle": { 15 "Run": "cd {artifacts:path} && {artifacts:path}/kvsWebrtcClientMasterGstSample ***" 16 "Setenv": { 17 "GST_PLUGIN_PATH": "{artifacts:path}/build", 18 "LD_LIBRARY_PATH": "{artifacts:path}/lib"
    19 } 20 }

0

I think you need to add RequiresPrivilege: true, and this works for me

  Run:
    RequiresPrivilege: true
    Script: "<command>"
    Setenv:
       LD_LIBRARY_PATH": "{artifacts:path}/lib
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则