Como resolvo o erro de parâmetro inválido que recebo no Amazon SNS em resposta a chamadas de API?

5 minuto de leitura
0

Eu recebo uma mensagem de erro de parâmetro inválido no Amazon Simple Notification Service (Amazon SNS) em resposta a chamadas de API.

Breve descrição

Se você receber o seguinte erro:

InvalidParameter - Error message: Invalid parameter: Attributes Reason: Platform credentials are invalid

Conclua as etapas na seção Resolver erros de credencial da plataforma.

Se você receber o seguinte erro:

"message": "Invalid parameter: The MessageGroupId parameter is required for FIFO topics" even if the customer has provided MessageGroupId

Conclua as etapas na seção Resolver erros de FIFO.

Se você receber o seguinte erro:

Couldn't set text messaging attributes.
Error code: InvalidParameter - Error message: Invalid parameter:

Conclua as etapas na seção Resolver erros de mensagens de texto (SMS).

Se você receber o seguinte erro:

Couldn't delete subscription.
Error code: InvalidParameter - Error message: Invalid parameter: SubscriptionArn Reason: An ARN must have at least 6 elements, not 1

Conclua as etapas na seção Resolver erros de exclusão de assinatura.

Resolução

Resolver erros de credencial da plataforma

Importante: Antes de concluir as etapas a seguir, verifique o tipo de certificado do provedor na sua conta de desenvolvedor da Apple. Em seguida, baixe o certificado.

1.    Abra o console do Amazon SNS.

2.    No painel de navegação, escolha Notificações por push.

3.    Escolha Criar aplicativo de plataforma.

4.    Em Nome do aplicativo, insira um nome para seu aplicativo.

5.    Em Plataforma de notificação por push, selecione Apple iOS/VoIP/Mac.

6.    Na seção Credenciais da Apple, marque a caixa de seleção Usado para desenvolvimento na área restrita para testes se estiver usando um certificado do tipo Área restrita para testes.

Importante: você não deve marcar essa caixa de seleção se está usando um certificado do tipo Área restrita para testes e produção. Caso contrário, você receberá um erro.

7.    Em Tipo de certificado de push, selecione seu tipo de certificado.

8.    Escolha Escolher arquivo e selecione o certificado do qual você deseja carregar as credenciais.

9.    Escolha Criar aplicativo de plataforma.

Resolver erros de FIFO

Verifique se você está usando o AWS SDK para JavaScript no navegador ou o AWS SDK para JavaScript no Node.js na versão 2.777.0 ou posterior.

Você pode receber erros de FIFO do Amazon SNS relacionados a um MessageGroupId inválido ou um MessageDeduplicationId inválido, mesmo que as IDs sejam fornecidas na solicitação da API. Os atributos de FIFO do Amazon SNS estão disponíveis somente para versões mais recentes do SDK. Para mais informações, consulte Changelog para AWS SDK para JavaScript.

Resolver erros de mensagens de texto (SMS)

1.    Abra o console do Amazon SNS.

2.    No painel de navegação, escolha Mensagens de texto (SMS).

3.    Em Preferências de mensagens de texto, escolha Editar.

4.    Em Limite de gastos da conta: parâmetro opcional, insira o valor numérico 1. Esse valor padrão é o limite de gastos mensais em USD. Você pode solicitar um aumento do limite de gastos da conta se quer que o limite de gastos mensais da conta seja maior que US$ 1.

Observação: por padrão, cada conta do Amazon SNS tem uma cota de gastos de US$ 1 em cada região da AWS. Você recebe um erro no console do Amazon SNS quando o valor é maior que 1.

5.    Escolha Salvar alterações.

Resolver erros de exclusão de assinatura

Você recebe esse erro ao tentar remover uma assinatura que está com o status de PendingConfirmation. Para remover uma assinatura, a API de Cancelamento de assinatura do Amazon SNS é chamada, que requer SubscriptionARN. Se você usar o console para excluir a assinatura, o console do Amazon SNS selecionará automaticamente o SubscriptionARN da assinatura selecionada. Para uma assinatura no status PendingSubscription, o console não mostra SubscriptionId. Como resultado, o console usa PendingConfirmation como SubscriptionId. Em seguida, as chamadas de API falham e retornam um erro.

Para uma assinatura com status de Confirmação pendente:

1.    Abra o console do Amazon SNS.

2.    No painel de navegação, escolha Tópicos e, em seguida, escolha seu tópico.

3.    Selecione o tópico com a assinatura no status de Confirmação pendente e, em seguida, selecione a assinatura no status de Confirmação pendente.

4.    Escolha Solicitar confirmação.

Uma notificação de assinatura é enviada ao endpoint para confirmar a assinatura.

5.    Copie da notificação o URL da assinatura. Esse URL é semelhante ao seguinte:

https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:your-aws-region:your-account-number:your-topic-name&Token=your-token&Endpoint=your-endpoint

6.    No menu de navegação do Amazon SNS, escolha Assinaturas e selecione sua assinatura.

7.    Escolha Confirmar assinatura.

8.    Cole o URL da assinatura da etapa 5 na caixa de diálogo e escolha Confirmar assinatura

9.    Selecione sua assinatura e escolha Excluir.

Para uma assinatura com status de Excluída:

Verifique o endpoint em que o link de cancelamento de assinatura foi escolhido. Depois que a assinatura é cancelada, o endpoint recebe outra notificação semelhante à seguinte:

Your subscription to the topic below has been deactivated:
arn:aws:sns:Your-AWS-Region:Your-Account-Number:Your-Topic-Name

If this was in error or you wish to resubscribe, click or visit the link below:
Resubscribe

Please click on the resubscribe link present in the notification. This will confirm the subscription. On success, please select the specific subscription and click on Delete button.

-ou-

Aguarde três dias para que a assinatura seja removida. Por padrão, o Amazon SNS remove automaticamente em três dias as assinaturas com PendingConfirmation.

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos