3

我正在使用 node.js 上的 Google Dialogflow 开发一个聊天机器人项目,并想使用 Amazon SES,但由于某种原因它失败了,我使用的代码如下:

var aws = require('aws-sdk');
var ses = new aws.SES(
    { 
    "accessKeyId": functions.config().aws.key,
     "secretAccessKey": functions.config().aws.secret, 
     "region": "eu-west-1" ,
    });


var eParams = {
        Destination: {
            ToAddresses: ["x@y.com"]
        },
        Message: {
            Body: {
                Text: {
                    Data: "Hey! What is up?"
                }
            },
            Subject: {
                Data: "Email Subject!!!"
            }
        },
        Source: "x.y@z.com"
    };

    var email = ses.sendEmail(eParams, function(err, data){
        if(err) console.log(err);
        else {
            console.log("===EMAIL SENT===");
            console.log(data);
        }
    });

当我查看 Firebase Functions 中的日志时遇到的错误是:dialogflowFirebaseFulfillment { UnknownEndpoint: Inaccessible host: email.us-standard.amazonaws.com'. This service may not be available in theeu-west-1` region。在 Request.ENOTFOUND_ERROR (/user_code/node_modules/aws-sdk/lib/event_listeners.js:456:46)

我正在使用 Firebase 的免费层,这很重要吗?

4

1 回答 1

3

Cloud Functions for Firebase 的免费(“Spark”)层不允许 Google 之外的网络连接。

但是,您可以升级到“Blaze”计划,该计划确实允许网络连接。即使是付费级别,仍然有一个“免费级别”,它允许合理的开发和使用级别,不会产生任何费用。

来自https://firebase.google.com/pricing/(将鼠标悬停在 Cloud Functions 旁边的问号上):

在 Blaze 计划中,Cloud Functions 提供永久免费层。每月免费提供前 2,000,000 次调用、400,000 GB-sec、200,000 CPU-sec 和 5 GB 的 Internet 出口流量。您只需为超出此免费配额的使用量付费。

于 2017-12-30T15:31:17.690 回答