Skip to content
GitHubXDiscord

SubscriptionDefinitionVersion

The SubscriptionDefinitionVersion resource allows you to manage versions of subscription definitions in AWS Greengrass, enabling you to define how different components of your IoT application communicate with each other. For more information, see the AWS Greengrass SubscriptionDefinitionVersions.

Create a basic SubscriptionDefinitionVersion with required properties.

import AWS from "alchemy/aws/control";
const subscriptionDefinitionVersion = await AWS.Greengrass.SubscriptionDefinitionVersion("basicSubscriptionVersion", {
SubscriptionDefinitionId: "mySubscriptionDefinitionId",
Subscriptions: [
{
Id: "mySubscription",
Source: {
Id: "mySource",
Type: "device"
},
Subject: "topic/my/topic",
Target: {
Id: "myTarget",
Type: "function"
}
}
]
});

Configure a SubscriptionDefinitionVersion with additional options.

const advancedSubscriptionDefinitionVersion = await AWS.Greengrass.SubscriptionDefinitionVersion("advancedSubscriptionVersion", {
SubscriptionDefinitionId: "myAdvancedSubscriptionDefinitionId",
Subscriptions: [
{
Id: "myAdvancedSubscription",
Source: {
Id: "myAdvancedSource",
Type: "device"
},
Subject: "topic/advanced/topic",
Target: {
Id: "myAdvancedTarget",
Type: "function"
}
}
],
adopt: true // Adopt existing resource instead of failing if it already exists
});

Define multiple subscriptions in a single SubscriptionDefinitionVersion.

const multiSubscriptionDefinitionVersion = await AWS.Greengrass.SubscriptionDefinitionVersion("multiSubscriptionVersion", {
SubscriptionDefinitionId: "myMultiSubscriptionDefinitionId",
Subscriptions: [
{
Id: "subscriptionOne",
Source: {
Id: "sourceDeviceOne",
Type: "device"
},
Subject: "topic/one",
Target: {
Id: "targetFunctionOne",
Type: "function"
}
},
{
Id: "subscriptionTwo",
Source: {
Id: "sourceDeviceTwo",
Type: "device"
},
Subject: "topic/two",
Target: {
Id: "targetFunctionTwo",
Type: "function"
}
}
]
});