¿Cómo soluciono el error de parámetros no válidos que recibo en Amazon SNS en respuesta a las llamadas a la API?

5 minutos de lectura
0

Recibo un mensaje de error de parámetros no válidos en Amazon Simple Notification Service (Amazon SNS) cuando hago llamadas a la API.

Resolución

Errores de credenciales de la plataforma

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

Requisito previo: Comprueba el tipo de certificado del proveedor en tu cuenta de desarrollador de Apple y descarga el certificado.

Para resolver un error en las credenciales de la plataforma, sigue estos pasos:

  1. Abre la consola de Amazon SNS.
  2. En el panel de navegación, selecciona Notificaciones de inserción.
  3. Elige Crear una aplicación de la plataforma.
  4. En Nombre de la aplicación, introduce un nombre para la aplicación.
  5. En Plataforma de notificación de inserción, selecciona Apple iOS/VoIP/Mac.
  6. Solo para el tipo de certificado Entorno de pruebas, en la sección Credenciales de Apple, selecciona Se utiliza para el desarrollo en el entorno de pruebas.
    Importante: Si usas el tipo de certificado Entorno de pruebas y producción, no selecciones Se utiliza para el desarrollo en el entorno de pruebas. De lo contrario, recibirás un error.
  7. En Tipo de certificado de inserción, selecciona tu tipo de certificado.
  8. Selecciona Elegir un archivo y, a continuación, elige el certificado desde el que quieras cargar las credenciales.
  9. Elige Crear una aplicación de la plataforma.

Errores FIFO

«message: Invalid parameter: The MessageGroupId parameter is required for FIFO topics»

Es posible que veas el error anterior aunque proporciones el MessageID. Comprueba que utilices la versión 2.777.0 o superior de AWS SDK para JavaScript en el navegador o AWS SDK para JavaScript en Node.js.

Es posible que recibas errores FIFO de Amazon SNS por un MessageGroupId o MessageDeduplicationId no válido, aunque hayas proporcionado los ID en la solicitud de API. Los atributos FIFO de Amazon SNS solo están disponibles para las versiones más recientes del SDK. Para obtener más información, consulta Changelog for AWS SDK for JavaScript en el sitio web de GitHub.

Errores de mensajes de texto (SMS)

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

Para resolver el error de mensajería de texto, sigue estos pasos:

  1. Abre la consola de Amazon SNS.
  2. En el panel de navegación, selecciona Mensajería de texto (SMS).
  3. En Preferencias de mensajería de texto, selecciona Editar.
  4. En Límite de gasto de la cuenta: parámetro opcional, introduce el valor numérico 1.
    Nota: De forma predeterminada, cada cuenta de Amazon SNS tiene una cuota de gasto mensual de 1 dólar en cada región de AWS. Cuando superas el valor predeterminado, recibes un error. Para aumentar la cuota de gasto mensual de la cuenta, solicita un aumento de la cuota de gastos de la cuenta.
  5. Selecciona Guardar cambios.

Si el país de destino requiere un código largo, un código corto o un SenderID dedicados, usa el código después de registrarte. Para obtener más información, consulta Supported countries and regions for SMS messaging with AWS End User Messaging SMS.

Nota: La identidad de origen y el identificador de remitente registrados son específicos de cada país. Para usar un número de origen o un identificador de remitente para otros países, debes registrar por separado el número de origen o el identificador de remitente para cada país de destino adicional. Para obtener más información, consulta Choosing a phone number or sender ID for AWS End User Messaging SMS.

Errores de eliminación de suscripciones

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

Estado PendingConfirmation

Es posible que recibas un error al intentar eliminar una suscripción que está en estado PendingConfirmation. Cuando usas la API Unsubscribe para eliminar una suscripción, la llamada a la API requiere el SubscriptionARN. Si utilizas la consola de Amazon SNS para eliminar la suscripción, Amazon SNS selecciona automáticamente el SubscriptionARN.

En el caso de una suscripción en estado PendingSubscription, la consola no muestra el SubscriptionId. Como resultado, la consola usa la PendingConfirmation como SubscriptionId. A continuación, las llamadas a la API fallan y devuelven un error.

Para resolver una suscripción que se encuentra en estado Pendiente de confirmación, sigue estos pasos:

  1. Abre la consola de Amazon SNS.

  2. En el panel de navegación, elige Temas y, a continuación, selecciona el tema.

  3. Selecciona el tema con la suscripción que tenga el estado Pendiente de confirmación y la suscripción que tenga el estado Pendiente de confirmación.

  4. Selecciona Solicitar la confirmación. Se envía una notificación de suscripción al punto de enlace para confirmar la suscripción. La notificación incluye un enlace similar al siguiente ejemplo:

    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
  5. En el panel de navegación, elige Suscripciones y, a continuación, selecciona tu suscripción.

  6. Selecciona Confirmar la suscripción.

  7. Introduce la URL de suscripción de la notificación de suscripción en el cuadro de diálogo y, a continuación, selecciona Confirmar la suscripción.

  8. Selecciona tu suscripción y, a continuación, elige Eliminar.

O bien, espera los 3 días requeridos para que Amazon SNS elimine la suscripción que se encuentra en estado Pendiente de confirmación.

Estado Eliminada

Es posible que recibas un error por una suscripción que tiene el estadoEliminada.

Comprueba el punto de enlace en el que elegiste el enlace para cancelar la suscripción. Tras cancelar la suscripción, el terminal recibe otra notificación similar a la siguiente:

«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».