in functions/SecretsManagerPython3/SecretsManagerPython3.py [0:0]
def greengrass_secrets_manager_run():
secrets = {}
for secret_name in secret_names:
# Build a dictionary that will have either the secret value or the error message
secrets[secret_name] = {}
try:
# Attempt to get the secret value
response = secrets_client.get_secret_value(SecretId=secret_name)
secret_value = response.get('SecretString')
secrets[secret_name]['value'] = secret_value
except greengrasssdk.SecretsManager.SecretsManagerError:
secrets[secret_name]['error'] = 'Failed to retrieve secret'
payload['secrets'] = secrets
client.publish(topic=THING_NAME + '/python3/secrets/manager', payload=json.dumps(payload))
# Asynchronously schedule this function to be run again in 5 seconds
Timer(5, greengrass_secrets_manager_run).start()