错误“未实现 URL.hostname”,React Native Android 中的 AWS SNS

Posted

技术标签:

【中文标题】错误“未实现 URL.hostname”,React Native Android 中的 AWS SNS【英文标题】:Error "URL.hostname is not implemented", AWS SNS in React Native Android 【发布时间】:2022-01-21 13:46:39 【问题描述】:

在 React Native 中使用 AWS SDK for javascript v3 中的 SNS 服务

当我尝试创建端点(或通过 AWS 执行任何命令)时,我收到此错误 URL.hostname is not implemented

我尝试了许多其他命令;同样的错误 我所做的唯一会产生不同错误的事情是,如果我在创建客户端时从参数中删除了region。然后它在同一个地方出错Region is missing。但值得注意的是,如果我只是为区域传递废话 (asdf123),它会产生同样的 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,
    ) /// doesn't matter whether I pass credentials or not, same result
);

const params = 
    PlatformApplicationArn: platformApplicationArn,
    Token: token


const command = new CreatePlatformEndpointCommand(params);  

const res = await sns.send(command)
.catch((err) => 
    console.log(err) //// this is the "[Error: not implemented]"
    throw err 
)

这是说我应该在此错误中包含更多数据,但此错误中唯一的内容是消息。 https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sns/index.html#troubleshooting

似乎这甚至不是 AWS 错误...但我不知道如何进一步排除故障。

任何关于如何确定这是来自哪里的建议都将非常感激。谢谢大家

【问题讨论】:

【参考方案1】:

发现一些帖子提示了类似的错误:react-native-url-polyfill

添加后,我开始收到此错误: [Error: crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported]

为了解决这个问题,我添加了react-native-get-random-values

... 它的工作原理。我不确定我理解为什么,或者根本原因是什么,这似乎是一个混乱的解决方法。但它确实有效。

import 'react-native-url-polyfill/auto';
import 'react-native-get-random-values';
import  v4 as uuidv4  from 'uuid';
//at the top of the file where I'm handling AWS SNS 

如果外面的任何人都可以了解这里发生的事情,那么毫无疑问会有更好的方法。

【讨论】:

以上是关于错误“未实现 URL.hostname”,React Native Android 中的 AWS SNS的主要内容,如果未能解决你的问题,请参考以下文章

Reac入门

reac-redux使用

reac-redux使用

reac-redux使用

reac中useCallback使用

Reac.jst基础教学