Como faço para criar uma fila SQS no Amazon Web Services para receber dados de eventos ao vivo do Canvas?

Para receber dados do Canvas, você precisará configurar e manter uma fila no Amazon Web Services. Além disso, você precisará conceder as permissões apropriadas para que a fila receba dados.

Depois de configurar uma fila com as permissões apropriadas, você pode se inscrever em eventos nos Serviços dos Dados e começar a receber dados.

Notas:

  • As filas FIFO não são suportadas atualmente.
  • Ao configurar uma fila SQS, você pode habilitar a pesquisa longa em uma fila padrão. O Long Polling ajuda a eliminar o número de respostas vazias e falsas respostas vazias. Para obter mais informações sobre long polling, consulte a documentação do Amazon SQS Long Polling.

Abrir o console Amazon SQS

No console do Amazon Web Services, abra o console Serviço de Fila Simples (SQS) digitando o nome no campo Serviços (Services) [1]. Quando Serviço de Fila Simples for exibido na lista, clique no nome [2]. 

Criar nova fila

Criar nova fila

No console do Amazon SQS, clique no botão Criar fila (Create queue).

Selecionar a fila padrão

Selecionar a fila padrão

Na seção Tipo, selecione a opção Padrão (Standard).

Nota: Filas FIFO não são suportadas atualmente.

Inserir o nome da fila

Inserir o nome da fila

Digite um nome para a fila. O nome da fila deve começar com canvas-live-events.

Inserir os detalhes da configuração

Inserir os detalhes da configuração

Insira os detalhes de Configuração (Configuration). Você pode inserir suas preferências de tempo limite de visibilidade [1], atraso de entrega [2], tempo de espera de mensagem de recebimento [3], período de retenção de mensagem [4] e tamanho máximo de mensagem [5].

Inserir os detalhes da política de acesso

Inserir os detalhes da permissão

Insira os detalhes de sua política de acesso.

Na seção Escolher método, selecione a opção Básica (Basic) [1].

Na seção Definir quem pode enviar mensagens para a fila, selecione a opção Somente as contas AWS, usuários IAM e funções especificadas (Only the specified AWS accounts, IAM users and roles) [2].

No campo ID da conta, insira o número da conta 636161780776 [3]. Este número de conta é necessário para que a fila receba dados de eventos ao vivo.

Você também pode selecionar quem receberá as mensagens na seção Definir quem pode receber mensagens da fila (Define who can receive messages from the queue) [4].

Salvar fila

Salvar fila

Você pode adicionar detalhes adicionais nas configurações de Criptografia (Encryption) [1], configurações de Fila de mensagens não entregues (Dead-letter queue) [2] e configurações de Tags [3]. Todas essas configurações são opcionais.

Para criar sua fila, clique no botão Criar fila (Create queue) [4].

Visualizar a permissão da fila

Visualizar a permissão da fila

Na área de detalhes da fila, a permissão será exibida na guia Permissões.

Para editar a permissão, clique no ícone Editar [1]. Para excluir a permissão, clique no ícone Excluir [2].

Usando a configuração SSE com seu SQS (opcional)

O serviço Eventos ao Vivo do Canvas suporta SSE habilitado no SQS, para que o SSE seja usado, a seguinte configuração precisa ser habilitada no SQS do cliente:

1. Crie um CMK ou chave personalizada com esta política, que pode ser gerada seguindo as etapas para criar um CMK e durante a etapa 4 (Definir Permissões de Uso de Chave), clicando em “Adicionar outra conta AWS” e inserindo o número da conta Instructure 636161780776.

{
 "Id": "key-consolepolicy-3",
 "Version": "2012-10-17",
 "Statement": [
 {
 "Sid": "Enable IAM User Permissions",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of the customer account root"
 },
 "Action": "kms:*",
 "Resource": "*"
 },
 {
 "Sid": "Allow access for Key Administrators",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of admin user"
 },
 "Action": [
 "kms:Create*",
 "kms:Describe*",
 "kms:Enable*",
 "kms:List*",
 "kms:Put*",
 "kms:Update*",
 "kms:Revoke*",
 "kms:Disable*",
 "kms:Get*",
 "kms:Delete*",
 "kms:TagResource",
 "kms:UntagResource",
 "kms:ScheduleKeyDeletion",
 "kms:CancelKeyDeletion"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow use of the key",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:Encrypt",
 "kms:Decrypt",
 "kms:ReEncrypt*",
 "kms:GenerateDataKey*",
 "kms:DescribeKey"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow attachment of persistent resources",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:CreateGrant",
 "kms:ListGrants",
 "kms:RevokeGrant"
 ],
 "Resource": "*",
 "Condition": {
 "Bool": {
 "kms:GrantIsForAWSResource": "true"
 }
 }
 }
 ]
}??????????????????????????????????????????????????????????????????????????????

2. Crie uma fila SQS e habilite o SSE. Fornece o ARN do CMK recém-criado.

3. Crie uma nova política IAM, que conceda acesso à fila e à chave, a política precisa ser exatamente assim:

{
 "Version": "2012-10-17",
 "Statement": [{
 "Effect": "Allow",
 "Action": [
 "kms:GenerateDataKey",
 "kms:Decrypt"
 ],
 "Resource": "CMK arn"
 }, {
 "Effect": "Allow",
 "Action": [
 "sqs:SendMessage",
 "sqs:SendMessageBatch"
 ],
 "Resource": "queue arn"
 }]???????????????????????????????????????????????????

4. Crie um novo usuário IAM e anexe a política acima. Salve a chave de acesso e a chave secreta e forneça-nos como parte da assinatura.