问题一:函数计算公网ip去哪查?
函数计算公网ip去哪查?
参考答案:
阿里云函数计算提供了几种更灵活的方式来解决访问第三方服务时的白名单问题:
配置VPC固定IP:如参考信息中提到,函数计算现已支持配置VPC进行固定IP,这意味着您可以为函数分配一个相对固定的公网IP地址。您可以通过详情文档https://help.aliyun.com/zh/functioncompute/user-guide/configure-static-public-ip-addresses?spm=a2c4g.2679176.0.i4 了解如何配置。这样,您可以将这个固定的IP地址添加到第三方服务的白名单中。
使用NAT网关+EIP:另一种方式是通过NAT网关结合弹性IP(EIP)。尽管这种方式操作较为简单,但可能涉及额外费用。通过NAT网关,您可以让函数计算服务在访问公网时,所有的请求看起来都源自同一个或几个固定的EIP地址,从而便于在第三方服务上设置白名单。
ECS + EIP + Nginx代理:虽然这种方式更为复杂,但它提供了一个高度定制化的解决方案。通过在ECS上配置Nginx代理,您可以控制所有出流量都经过这个代理,从而使用ECS绑定的EIP作为固定的公网出口。
综上所述,如果您的需求是为函数计算服务配置白名单访问,推荐首先考虑配置VPC固定IP的方式,这样既解决了白名单问题,又保持了函数计算的无服务器特性。记得在实施任何变更之前,详细阅读阿里云官方文档,确保操作符合最佳实践
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/654996
问题二:函数计算3.0 怎么使用容器镜像?
函数计算3.0 怎么使用容器镜像?
参考答案:
先选自定义运行时,再选容器
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/654994
问题三:函数计算的GPU闲置模式怎么申请?
函数计算的GPU闲置模式怎么申请?
参考答案:
CPU实例的闲置模式默认是开启的,GPU函数需配置此参数。若您需要启用GPU闲置模式,请单击闲置状态GPU实例申请链接、提交工单或加入钉钉用户群(钉钉群号:64970014484)进行使用资格申请。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/654993
问题四:函数计算时间突然差了8个小时。什么情况?
函数计算时间突然差了8个小时。什么情况?
参考答案:
函数计算默认是UTC时间,可以配置环境变量进行修改。
可以配置环境变量进行时区修改:TZ = Asia/Shanghai 如何配置环境变量https://help.aliyun.com/zh/functioncompute/user-guide/environment-variables?spm=a2c4g.2513634.0.i2
需要注意的是,在nodejs环境中,console.log(date) 会转成utc 时间,可以直接先转成 string , 然后在console.log,
var date = new Date();
console.info(date.toTimeString());
或者自己重写 console.log, 如下面代码所示
'use strict';
var util = require('util');
function _writeToStdout(level, msg) {
const now = new Date();
// 自定义格式
const timeStr = $now.getFullYear()-$now.getMonth()+1-$now.getDate()T$now.getHours():$now.getMinutes():$(now.getSeconds()*1000+now.getMilliseconds())/1000Z
// const timeStr = now.toLocaleString();
let requestID = process._fc && process._fc.requestId ? process._fc.requestId : '';
let logMsg = $timeStr $requestID [$level] $msg;
logMsg = logMsg.replace(/\n/g, "\r");
process.stdout.write(logMsg + "\n");
}
var log = function (level, msg, ...params) {
var logMsg = util.format(msg, ...params);
_writeToStdout(level, logMsg);
};
console.log = function (msg, ...params) {
log('verbose', msg, ...params);
};
console.info = function (msg, ...params) {
log('info', msg, ...params);
};
console.warn = function (msg, ...params) {
log('warn', msg, ...params);
};
console.error = function (msg, ...params) {
log('error', msg, ...params);
};
console.debug = function (msg, ...params) {
log('debug', msg, ...params);
};
exports.handler = (event, context, callback) => {
// const eventObj = JSON.parse(event.toString());
console.log('hello world');
callback(null, 'hello world');
}
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/654992
问题五:通过函数计算调用的方式,是每一次调用都会创建一个连接吗?
假如我需要在函数里面连接mysql数据库并查询数据库。通过函数计算调用的方式,是每一次调用都会创建一个连接吗?
参考答案:
可以通过 initializer 函数来初始化client 端,这样连接就是函数实例粒度的,只要函数实例不释放,就会复用这个client
关于本问题的更多回答可点击进行查看: