

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á.

# Exemplos de políticas de mensagens retidas
<a name="retained-message-policy-examples"></a>

O uso [de mensagens retidas](mqtt.md#mqtt-retain) requer políticas específicas. As mensagens retidas são mensagens MQTT publicadas com o sinalizador RETAIN definido e armazenadas por. AWS IoT Core Esta seção apresenta exemplos de políticas que permitem o uso comum de mensagens retidas.

**Topics**
+ [

## Política para conectar e publicar mensagens retidas
](#retained-message-policy-examples-publish)
+ [

## Política para conectar e publicar mensagens Will retidas
](#retained-message-policy-examples-publish-lwt)
+ [

## Política para listar e receber mensagens retidas
](#retained-message-policy-examples-list-get)

## Política para conectar e publicar mensagens retidas
<a name="retained-message-policy-examples-publish"></a>

Para que um dispositivo publique mensagens retidas, ele deve ser capaz de se conectar, publicar (qualquer mensagem MQTT) e publicar mensagens retidas em MQTT. A política a seguir concede essas permissões para o tópico: `device/sample/configuration` ao cliente **device1**. Para ver outro exemplo que concede permissão para conexão, consulte [Exemplos de política para conectar e publicar](connect-and-pub.md).

****  

```
{
	"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 e publicar mensagens Will retidas
<a name="retained-message-policy-examples-publish-lwt"></a>

Os clientes podem configurar uma mensagem que AWS IoT Core será publicada quando o cliente se desconectar inesperadamente. O MQTT chama essa mensagem de [mensagem *Will*](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Will_Flag). Um cliente deve ter uma condição adicional adicionada à sua permissão de conexão para incluí-la. 

O documento de política a seguir concede a todos os clientes permissão para se conectar e publicar uma mensagem Will, identificada por seu tópico, `will`, que o AWS IoT Core também reterá.

****  

```
{
	"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 listar e receber mensagens retidas
<a name="retained-message-policy-examples-list-get"></a>

Serviços e aplicativos podem acessar mensagens retidas sem a necessidade de oferecer suporte a um cliente MQTT chamando [https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_ListRetainedMessages.html) e [https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html](https://docs.aws.amazon.com//iot/latest/apireference/API_iotdata_GetRetainedMessage.html). Os serviços e aplicativos que chamam essas ações devem ser autorizados usando uma política como o exemplo a seguir.

****  

```
{
    "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"
            ]
        }
    ]
}
```