As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWS IoT SiteWise
A ação AWS IoT SiteWise (iotSiteWise
) envia dados de uma MQTT mensagem para as propriedades do ativo em AWS IoT SiteWise.
Você pode seguir um tutorial que mostra como ingerir dados de AWS IoT coisas. Para obter mais informações, consulte o tutorial Como ingerir dados a AWS IoT SiteWise partir de AWS IoT coisas ou a seção Como ingerir dados usando regras AWS IoT básicas no Guia do AWS IoT SiteWise usuário.
Requisitos
Esta ação de regra tem os seguintes requisitos:
-
Uma IAM função que AWS IoT pode ser assumida para realizar a
iotsitewise:BatchPutAssetPropertyValue
operação. Para obter mais informações, consulte Conceder a uma AWS IoT regra o acesso que ela exige.Você pode anexar o exemplo de política de confiança a seguir à função.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
Para melhorar a segurança, você pode especificar um caminho AWS IoT SiteWise de hierarquia de ativos na
Condition
propriedade. O exemplo a seguir é uma política de confiança que especifica um caminho de hierarquia de ativos.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/
root node asset ID
", "/root node asset ID
/*" ] } } } ] } -
Quando você envia dados para AWS IoT SiteWise com essa ação, seus dados devem atender aos requisitos da
BatchPutAssetPropertyValue
operação. Para obter mais informações, consulte BatchPutAssetPropertyValuena AWS IoT SiteWise APIReferência.
Parâmetros
Ao criar uma AWS IoT regra com essa ação, você deve especificar as seguintes informações:
putAssetPropertyValueEntries
-
Uma lista de entradas de valor de propriedade de ativo, cada uma contendo as seguintes informações:
propertyAlias
-
(Opcional) O alias da propriedade associado à propriedade do seu ativo. É necessário especificar um
propertyAlias
, ou ambos umassetId
e umpropertyId
. Para obter mais informações sobre alias de propriedade, consulte Como realizar o mapeamento de fluxos de dados industriais para propriedades de ativos no AWS IoT SiteWise Guia do usuário .Compatível com modelos de substituição: Sim
assetId
-
(Opcional) O ID do AWS IoT SiteWise ativo. É necessário especificar um
propertyAlias
, ou ambos umassetId
e umpropertyId
.Compatível com modelos de substituição: Sim
propertyId
-
(Opcional) A ID de uma propriedade de ativo. É necessário especificar um
propertyAlias
, ou ambos umassetId
e umpropertyId
.Compatível com modelos de substituição: Sim
entryId
-
(Opcional) Um identificador exclusivo para essa entrada. Você pode definir o
entryId
para controlar melhor qual mensagem causou um erro em caso de falha. O padrão é um novo. UUIDCompatível com modelos de substituição: Sim
propertyValues
-
Uma lista de valores de propriedade a serem inseridos, cada um contendo carimbo de data/hora, qualidade e valor (TQV) no seguinte formato:
timestamp
-
Uma estrutura de carimbo de data/hora que contém as seguintes informações:
timeInSeconds
-
Uma string que contém o tempo em segundos no horário do Unix epoch. Se a carga de mensagem não tiver um carimbo de data/hora, você poderá usar timestamp(), que retorna a hora atual em milissegundos. Para converter essa hora em segundos, você pode usar o seguinte modelo de substituição:
${floor(timestamp() / 1E3)}
.Compatível com modelos de substituição: Sim
offsetInNanos
-
(Opcional) Uma string que contém o deslocamento de tempo em nanossegundos da hora em segundos. Se a carga de mensagem não tiver um carimbo de data/hora, você poderá usar timestamp(), que retorna a hora atual em milissegundos. Para calcular o deslocamento em nanossegundos a partir dessa hora, é possível usar o seguinte modelo de substituição:
${(timestamp() % 1E3) * 1E6}
.Compatível com modelos de substituição: Sim
Em relação ao Unix epoch time, AWS IoT SiteWise aceita somente entradas que tenham um timestamp de até 7 dias no passado e até 5 minutos no futuro.
quality
-
(Opcional) Uma string que descreve a qualidade do valor. Valores válidos:
GOOD
,BAD
,UNCERTAIN
.Compatível com modelos de substituição: Sim
value
-
Uma estrutura de valor que contém um dos seguintes campos de valor, dependendo do tipo de dados da propriedade do ativo:
booleanValue
-
(Opcional) Uma string que contém o valor booleano da entrada de valor.
Compatível com modelos de substituição: Sim
doubleValue
-
(Opcional) Uma string que contém o valor duplo da entrada de valor.
Compatível com modelos de substituição: Sim
integerValue
-
(Opcional) Uma string que contém o valor inteiro da entrada de valor.
Compatível com modelos de substituição: Sim
stringValue
-
(Opcional) O valor da string da entrada do valor.
Compatível com modelos de substituição: Sim
roleArn
-
A ARN da IAM função que concede AWS IoT permissão para enviar um valor de propriedade do ativo para AWS IoT SiteWise. Para obter mais informações, consulte Requisitos.
Compatível com modelos de substituição: Não
Exemplos
O JSON exemplo a seguir define uma SiteWise ação básica de IoT em uma AWS IoT regra.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "/some/property/alias", "propertyValues": [ { "timestamp": { "timeInSeconds": "${my.payload.timeInSeconds}" }, "value": { "integerValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
O JSON exemplo a seguir define uma SiteWise ação de IoT em uma AWS IoT regra. Esse exemplo usa o tópico como o alias da propriedade e a função timestamp()
. Por exemplo, se você publicar dados em /company/windfarm/3/turbine/7/rpm
, essa ação enviará os dados para a propriedade do ativo com um alias da propriedade igual ao tópico especificado.
{ "topicRulePayload": { "sql": "SELECT * FROM '/company/windfarm/+/turbine/+/+'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "${topic()}", "propertyValues": [ { "timestamp": { "timeInSeconds": "${floor(timestamp() / 1E3)}", "offsetInNanos": "${(timestamp() % 1E3) * 1E6}" }, "value": { "doubleValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
Consulte também
-
O que é o AWS IoT SiteWise? no AWS IoT SiteWise Guia do usuário
-
Ingestão de dados usando AWS IoT Core regras no Guia do AWS IoT SiteWise usuário
-
Ingestão de dados AWS IoT SiteWise de AWS IoT itens no Guia do AWS IoT SiteWise usuário
-
Solução de problemas de uma ação de AWS IoT SiteWise regra no Guia AWS IoT SiteWise do usuário