【问题标题】:AWS javascript sdk fleet provisioning ResourceNotFound exceptionAWS javascript sdk 队列预置 ResourceNotFound 异常
【发布时间】:2021-01-31 05:20:26
【问题描述】:

我正在尝试在 AWS Lambda 函数中实施队列预置。作为起点,我有以下代码:

'use strict';
var AWS = require('aws-sdk');
var iot = new AWS.Iot({ 
    endpoint: 'apiendpoint',
    accessKeyId: "AAAABBBBBCCCCDDDDD",
    secretAccessKey: "AAAAABBBBCCCDD/1234122311222",
    region: 'ap-south-1'
});


exports.handler = async (event, context) => {
    var params = {
        setAsActive: true
    };
    return {
        statusCode: 200,
        body:JSON.stringify(await createCertAndKey(params))
    }       
    
}

const createCertAndKey = async (params) => {
    return new Promise((resolve, reject) => {
        iot.createKeysAndCertificate(params, function(err, data){
            if(err){
                console.log(err);
                reject(err)
            }
            else{
                console.log("success?");
                resolve(data)
            }
        })
    })
}

调用createKeysAndCertificate 时出现ResourceNotFound 异常。我也尝试调用 iot 的其他函数,但它给出了相同的异常。

我在这里做错了什么?

【问题讨论】:

  • 我们不需要通过endpoint ,试试把它取下来。
  • 是的,当我删除端点时它起作用了。谢谢@BaluVyamajala

标签: amazon-web-services aws-lambda aws-iot


【解决方案1】:

初始化对象时传递的端点应该是格式为https://{service}.{region}.amazonaws.com 的通用AWS 服务。我们不需要传递它,AWS 将根据我们正在初始化的区域和对象进行假设。

var iot = new AWS.Iot({ 
    endpoint: 'iot.ap-south-1.amazonaws.com',
    accessKeyId: "AAAABBBBBCCCCDDDDD",
    secretAccessKey: "AAAAABBBBCCCDD/1234122311222",
    region: 'ap-south-1'
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多