#javascript #amazon-web-services #react-native #iot #publish-subscribe
#javascript #amazon-веб-сервисы #react-native #iot #опубликовать-подписаться
Вопрос:
Я полностью следовал примеру на веб-сайте AWShttps://aws-amplify.github.io/docs/js/pubsub
и независимо от того, что происходит каждый раз, когда я запускаю await PubSub.publish, я не получаю ответа от AWS. Буду признателен за любую помощь. Я получаю тайм-ауты для кода.
Попробуйте различные способы взаимодействия с AWS через MQTT react-native. Искал везде. Никаких примеров этого не используется.
import Amplify, { PubSub, Auth } from 'aws-amplify';
import { AWSIoTProvider } from '@aws-amplify/pubsub/lib/Providers';
import aws_exports from './src/aws-exports';
// aythentication import
import { withAuthenticator } from 'aws-amplify-react-native';
Amplify.configure(aws_exports);
Amplify.addPluggable(new AWSIoTProvider({
aws_pubsub_region: 'us-east-1',
aws_pubsub_endpoint: 'wss://azk3aah4ivg82-ats.iot.us-east-1.amazonaws.com/mqtt',
}));
PubSub.subscribe(['$aws/things/B_Bone_1/shadow/get/accepted', '$aws/things/B_Bone_1/shadow/get/rejected']).subscribe({
next: data => console.log('Message received get accepted', data),
error: error => console.error(error),
close: () => console.log('Done'),
});
//
export default class Main extends React.Component {
//...... sign in stuff This just makes a cognito accound and lets me log in. Its working
}
class App extends Component {
//constuct props
///...
update = async () => {
await PubSub.publish('$aws/things/B_Bone_1/shadow/update', {msg: '{"state":{"reported":{"temp": -1}}}' });
Alert.alert('Update all local values from Device Shadow');
}
render() {
return (
//A page with a button that runs update function
);
}}
//Stylesheet stuff
При вызове обновления программа должна запустить функцию подписки. Но я получаю ошибку тайм-аута, поскольку ничего не возвращается.
Любая помощь была бы замечательной.
Ответ №1:
Вы вошли в VERBOSE?
Amplify.Logger.LOG_LEVEL = 'VERBOSE';
Может быть, вам нужен провайдер?
core.js:6014 ERROR Error: Uncaught (in promise): Error: Could not find provider named [object Object]
Как и я, еще не решена 🙁