Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
El uso de mensajes retenidos requiere políticas específicas. Los mensajes retenidos son mensajes MQTT publicados con el indicador RETAIN establecido y almacenados por. AWS IoT Core En esta sección se presentan ejemplos de políticas que permiten el uso común de los mensajes retenidos.
En esta sección:
Política para conectar y publicar mensajes retenidos
Para que un dispositivo publique los mensajes retenidos, debe poder conectarse, publicar (cualquier mensaje MQTT) y publicar los mensajes retenidos en MQTT. La siguiente política concede estos permisos para el tema: device/sample/configuration
al cliente device1
. Para ver otro ejemplo que concede permiso para conectarse, consulte Ejemplos de políticas de conexión y publicación.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:client/device1"
]
},
{
"Effect": "Allow",
"Action": [
"iot:Publish",
"iot:RetainPublish"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:topic/device/sample/configuration"
]
}
]
}
Política para conectar y publicar mensajes retenidos Will
Los clientes pueden configurar un mensaje que AWS IoT Core se publicará cuando el cliente se desconecte inesperadamente. MQTT llama a este tipo de mensaje un mensaje Will
El siguiente documento de política otorga a todos los clientes permiso para conectarse y publicar un mensaje Will, identificado por su tema, will
, que AWS IoT Core también conservará.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:client/device1"
],
"Condition": {
"ForAllValues:StringEquals": {
"iot:ConnectAttributes": [
"LastWill"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"iot:Publish",
"iot:RetainPublish"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:topic/will"
]
}
]
}
Política para enumerar y obtener mensajes retenidos
Los servicios y las aplicaciones pueden acceder a los mensajes retenidos sin necesidad de utilizar un cliente MQTT llamando a ListRetainedMessages
y GetRetainedMessage
. Los servicios y las aplicaciones que invocan estas acciones deben autorizarse mediante una política como la del ejemplo siguiente.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:ListRetainedMessages"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:client/device1"
],
},
{
"Effect": "Allow",
"Action": [
"iot:GetRetainedMessage"
],
"Resource": [
"arn:aws:iot:us-east-1:123456789012:topic/foo"
]
}
]
}