es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error: “URL.hostname is not implemented” AWS SNS en React Native Android

Utilizando el servicio SNS del AWS SDK para JavaScript v3 en React Native

Cuando intento crear un punto final (o ejecutar cualquier comando a través de AWS) obtengo este error URL.hostname no está implementado

  • He probado varios otros comandos; mismo error.
  • Lo único que he hecho que produce un error diferente es si elimino región de los parámetros al crear el cliente. Luego muestra el error Falta región en el mismo lugar. Pero vale la pena mencionar que si simplemente paso un sinsentido (asdf123) para la región, muestra este mismo error URL.hostname.
import { CognitoIdentityClient } from "@aws-sdk/client-cognito-identity";
import { fromCognitoIdentityPool } from "@aws-sdk/credential-provider-cognito-identity";
import { SNSClient, CreatePlatformEndpointCommand } from "@aws-sdk/client-sns";

const region = 'us-west-2';
const sns = new SNSClient({
    region: region,
    credentials: fromCognitoIdentityPool({
        client: new CognitoIdentityClient({ region }),
        identityPoolId: identityPoolId,
    }) // no importa si paso las credenciales o no, mismo resultado
});

const params = {
    PlatformApplicationArn: platformApplicationArn,
    Token: token
}

const command = new CreatePlatformEndpointCommand(params);

const res = await sns.send(command)
.catch((err) => {
    console.log(err) // esto es "[Error: no implementado]"
    throw err 
});

Esto indica que debería haber más datos en este error, pero lo único en este error es el mensaje. https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sns/index.html#troubleshooting

Parece que esto ni siquiera es un error de AWS… pero no tengo idea de cómo solucionarlo.

Cualquier sugerencia sobre cómo identificar de dónde proviene esto sería MUY APRECIADA. Gracias a todos.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que el error URL.hostname no está implementado no es un error de AWS, sino más bien un error integrado en el entorno de React Native. El error sugiere que el objeto URL no está correctamente implementado en el entorno, lo cual podría ser debido a una incompatibilidad de versiones o la falta de polyfills.

    Para solucionar este problema, es posible que necesite verificar la compatibilidad de versiones entre su aplicación y la biblioteca aws-sdk-js. También puede intentar agregar polyfills para URL y APIs relacionadas utilizando una biblioteca como url-polyfill.

    Otra posible solución es utilizar una biblioteca de cliente HTTP diferente en lugar de la implementación incorporada de XMLHttpRequest que viene con React Native. Algunas opciones populares incluyen Axios y fetch.

    En general, solucionar este problema puede requerir algo de experimentación y depuración para identificar la causa raíz.

Comments are closed.