IoT core greengrass fleet provision device side effectiveConfig.yaml does not have updated thingName

1

Trying to use provision by claim and provisioning hook to admit the device. The provisioning hook output will return a formatted thingName rather than the name passed into the provisioning hook,

const requestedThingName = input.parameters.ThingName;

....

const output = {
    allowProvisioning: True,
    parameterOverrides: {
        ThingName: newThingName,
    },

this works, but on the device side, after iot mqtt session successfully established, in /greengrass/v2/config/effectiveConfig.yaml, the file looks like this:

system:

certificateFilePath: ""

privateKeyPath: ""

rootCaPath: ""

rootpath: "/greengrass/v2"

thingName: ""

services:

aws.greengrass.FleetProvisioningByClaim:

configuration:

I would expect, updated thingName is there under thingName key.

I can only see the newThingName in config.tlog: {"TS":1649181903995,"TP":["setenv","AWS_IOT_THING_NAME"],"W":"changed","V":"newThingName"}

I think effectiveConfig.yaml should be updated.

demandé il y a 2 ans525 vues
1 réponse
1

Hello,

The effective config file is only written on Greengrass startup and shutdown. If you were to shutdown Greengrass you should then see the most recent values of the configuration reflected in the effective config file. The effective config file is only ever written, it is not used by Greengrass for any purposes. If you want to see the true state of things, the config.tlog file is always the source of truth.

AWS
EXPERT
répondu il y a 2 ans
profile pictureAWS
EXPERT
Greg_B
vérifié il y a 6 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions