मैं एडब्ल्यूएस आईओटी कोर में एक विषय पर प्रकाशित करने के लिए aws-amplify PubSub.publish तक पहुंचने का प्रयास कर रहा हूं। मैं संस्करण "aws-amplify": "2.1.0" का उपयोग कर रहा हूं।

handleSubmit = async () => {
    await PubSub.publish('topic', { msg: 'Hello to all subscribers!' });
};

मेरी aws-exports.js फ़ाइल निम्नानुसार कॉन्फ़िगर की गई है।

const awsmobile = {
    "aws_project_region": "us-east-2",
    "aws_cognito_region": "us-east-2",
    "aws_user_pools_id": "poolid",
    "aws_user_pools_web_client_id": "webclientid",
    "aws_cognito_identity_pool_id": "identitypoolid",
    "oauth": {}
};

export default awsmobile;

बटन पर क्लिक करने से handleSubmit फंक्शन कॉल होता है और PubSub.publish निम्न त्रुटि देता है।

Uncaught (in promise) TypeError: Cannot read property 'byteLength' of undefined
    at Object.isEmptyData (browserHashUtils.js:30)
    at Hmac.push../node_modules/aws-sdk/lib/browserHmac.js.Hmac.update (browserHmac.js:34)
    at encrypt (Signer.js:50)
    at get_signing_key (Signer.js:222)
    at Function.Signer.signUrl (Signer.js:374)
    at AWSIoTProvider.<anonymous> (AWSIotProvider.js:233)
    at step (AWSIotProvider.js:152)
    at Object.next (AWSIotProvider.js:83)
    at fulfilled (AWSIotProvider.js:37)
1
Shanika Ediriweera 1 मई 2020, 21:10

1 उत्तर

सबसे बढ़िया उत्तर

Amplify PubSub Provider के ठीक से कॉन्फ़िगर नहीं होने के कारण ऐसा हुआ।

मेरा गलत कॉन्फ़िगरेशन:

Amplify.addPluggable(new AWSIoTProvider({
  aws_pubsub_region: process.env.region,
  aws_pubsub_endpoint: `wss://${process.env.REACT_APP_MQTT_ID}.iot.${process.env.REACT_APP_REGION}.amazonaws.com/mqtt`,
}));

यहाँ मैंने process.env.region env वेरिएबल सेट नहीं किया है। यह त्रुटि का कारण बना। इसे उचित env वेरिएबल (process.env.REACT_APP_REGION) में बदलने से समस्या ठीक हो गई।

कार्यशील कॉन्फ़िगरेशन:

Amplify.addPluggable(new AWSIoTProvider({
  aws_pubsub_region: process.env.REACT_APP_REGION,
  aws_pubsub_endpoint: `wss://${process.env.REACT_APP_MQTT_ID}.iot.${process.env.REACT_APP_REGION}.amazonaws.com/mqtt`,
}));
2
Shanika Ediriweera 4 मई 2020, 07:19