ALIYUN::MNS::Queue é usado para criar uma fila do Simple Message Queue (anteriormente MNS) (SMQ). Uma fila é um endereço de destino onde as mensagens são armazenadas. As filas podem ser classificadas em filas padrão e filas com atraso.
Se a propriedade DelaySeconds não for especificada ao enviar mensagens, as mensagens enviadas para filas padrão poderão ser consumidas imediatamente, mas as mensagens enviadas para filas com atraso só poderão ser consumidas após o tempo de atraso predefinido.
Sintaxe
{
"Type": "ALIYUN::MNS::Queue",
"Properties": {
"PollingWaitSeconds": Integer,
"LoggingEnabled": Boolean,
"MessageRetentionPeriod": Integer,
"MaximumMessageSize": Integer,
"DelaySeconds": Integer,
"VisibilityTimeout": Integer,
"QueueName": String,
"DlqPolicy": Map,
"Tags": List
}
}Propriedades
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
QueueName | String | Sim | Não | O nome da fila. | O nome deve ser exclusivo em uma conta Alibaba Cloud em uma região. O nome pode ter até 256 caracteres e pode conter letras, dígitos e hifens (-). O nome deve começar com uma letra ou dígito. |
DelaySeconds | Integer | Não | Sim | O tempo de atraso após o qual todas as mensagens enviadas para a fila podem ser consumidas. | Valores válidos: 0 a 604800 (7 dias). Unidade: segundos. Valor padrão: 0. |
DlqPolicy | Map | Não | Sim | A política de mensagens mortas. | Para mais informações, consulte propriedades de DlqPolicy. |
MaximumMessageSize | Integer | Não | Sim | O tamanho máximo de uma mensagem que pode ser enviada para a fila. | Valores válidos: 1024 (1 KB) a 65536 (64 KB). Unidade: bytes. Valor padrão: 65536 (64 KB). |
MessageRetentionPeriod | Integer | Não | Sim | O tempo de vida máximo de uma mensagem na fila. Após o tempo especificado por essa propriedade expirar, a mensagem será excluída, independentemente de ter sido consumida. | Valores válidos: 60 (1 minuto) a 604800 (7 dias). Unidade: segundos. Valor padrão: 345600 (4 dias). |
VisibilityTimeout | Integer | Não | Sim | A duração pela qual uma mensagem permanece no estado Inativo após ser consumida da fila. | Valores válidos: 1 a 43200 (12 horas). Unidade: segundos. Valor padrão: 30. |
PollingWaitSeconds | Integer | Não | Sim | O período de tempo máximo que uma solicitação ReceiveMessage pode aguardar até que uma mensagem esteja na fila. | Valores válidos: 0 a 10. Unidade: segundos. Valor padrão: 0. |
LoggingEnabled | Boolean | Não | Sim | Indica se o recurso de gerenciamento de logs está ativado. | Valores válidos:
|
Tags | List | Não | Sim | As tags. | Para mais informações, consulte propriedades de Tags. |
Sintaxe de DlqPolicy
"DlqPolicy": {
"MaxReceiveCount": Integer,
"DeadLetterTargetQueue": String,
"Enabled": Boolean
}Propriedades de DlqPolicy
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
MaxReceiveCount | Integer | Sim | Sim | O número máximo de tentativas. | Nenhuma. |
DeadLetterTargetQueue | String | Sim | Sim | A fila de mensagens mortas para a qual as mensagens não processadas são entregues. | Nenhuma. |
Enabled | Boolean | Sim | Sim | Indica se a entrega de mensagens mortas está ativada. | Nenhuma. |
Sintaxe de Tags
"Tags": [{
"Key": String,
"Value": String
}]Propriedades de Tags
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Key | String | Sim | Não | A chave da tag. | Nenhuma. |
Value | String | Sim | Não | O valor da tag. | Nenhuma. |
Valores retornados
Fn::GetAtt
QueueUrl: a URL da fila.
ARN.WithSlash: o Alibaba Cloud Resource Name (ARN) da fila.
QueueName: o nome da fila.
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
Queue:
Type: ALIYUN::MNS::Queue
Properties:
QueueName: TestQueue
MessageRetentionPeriod: 345600
Outputs:
QueueName:
Description: Queue name
Value:
Fn::GetAtt:
- Queue
- QueueName
ARN:
Description: The ARN for ALIYUN::ROS::CustomResource
Value:
Fn::GetAtt:
- Queue
- ARN
ARN.WithSlash:
Description: 'The ARN: acs:mns:$region:$accountid:/queues/$queueName'
Value:
Fn::GetAtt:
- Queue
- ARN.WithSlash
QueueUrl:
Description: URL of created queue
Value:
Fn::GetAtt:
- Queue
- QueueUrl{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
},
"Resources": {
"Queue": {
"Type": "ALIYUN::MNS::Queue",
"Properties": {
"QueueName": "TestQueue",
"MessageRetentionPeriod": 345600
}
}
},
"Outputs": {
"QueueName": {
"Description": "Queue name",
"Value": {
"Fn::GetAtt": [
"Queue",
"QueueName"
]
}
},
"ARN": {
"Description": "The ARN for ALIYUN::ROS::CustomResource",
"Value": {
"Fn::GetAtt": [
"Queue",
"ARN"
]
}
},
"ARN.WithSlash": {
"Description": "The ARN: acs:mns:$region:$accountid:/queues/$queueName",
"Value": {
"Fn::GetAtt": [
"Queue",
"ARN.WithSlash"
]
}
},
"QueueUrl": {
"Description": "URL of created queue",
"Value": {
"Fn::GetAtt": [
"Queue",
"QueueUrl"
]
}
}
}
}Para mais exemplos, acesse subscription.yml. O exemplo utiliza os tipos de recursos ALIYUN::MNS::Topic, ALIYUN::MNS::Queue e ALIYUN::MNS::Subscription.