Skip to content
GitHubXDiscordRSS

SubscriptionDefinitionVersion

Learn how to create, update, and manage AWS Greengrass SubscriptionDefinitionVersions using Alchemy Cloud Control.

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"
}
}
]
});