活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      EasyCoding敏捷开发平台_相关内容
      • 创建ServiceStage自定义策略
        本节主要介绍创建ServiceStage自定义策略 如果系统预置的ServiceStage权限,不满足您的授权要求,可以创建自定义策略。 目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。 具体创建步骤请参见:“帮助中心 > 统一身份认证服务 > 用户指南 > 用户指南 > 权限管理 > 自定义策略 > 创建自定义策略”。本章为您介绍常用的ServiceStage自定义策略样例。 自定义策略样例 如下以定制一个IAM用户禁止创建及删除微服务引擎的策略为例。 { "Version": "1.1", "Statement": [ { "Action": [ "cse::" ], "Effect": "Allow" }, { "Action": [ "cse:engine:create", "cse:engine:delete" ], "Effect": "Deny" } ] } 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 权限授予成功后,用户可以通过控制台以及REST API等多种方式验证。 此处以上述自定义策略为例,介绍用户如何通过登录ServiceStage控制台验证自定义禁止创建微服务引擎的权限: 1. 使用新创建的用户登录云服务,登录方法选择为“IAM用户”。 租户名为该IAM用户所属云服务帐号的名称。 IAM用户名和IAM用户密码为以租户名在IAM创建用户时输入的用户名和密码。 2. 在“微服务引擎 CSE”页面,创建微服务引擎,返回403错误,表示权限配置正确并已生效。
        来自:
        帮助文档
        微服务云应用平台
        用户指南
        权限管理
        创建ServiceStage自定义策略
      • Fork源码
        本节主要介绍Fork源码 登录个人GitHub帐号,并Fork Demo源码。 Demo源码地址:<
        来自:
        帮助文档
        微服务云应用平台
        快速入门
        快速体验ServiceStage
        Fork源码
      • 创建环境
        本节主要介绍创建环境 1、登录ServiceStage,选择“环境管理”,单击“创建环境” 。 2、设置环境信息。 “环境名称”:输入本实例的环境名称,如“testenv”。 “虚拟私有云(VPC)”:在下拉列表选择已创建的虚拟私有云VPC。 “基础资源”:单击“新增基础资源”,选择该VPC下的基础资源,本例使用云容器引擎(CCE)。 “可选资源”:单击“新增可选资源”,选择该VPC下可选资源,本例使用名称为“Cloud Service Engine”的专业版微服务引擎。 说明 选定VPC后,会加载该VPC下的基础资源和可选资源供选择,不在该VPC下的资源无法选择。 3、单击“立即创建”,完成环境创建。
        来自:
        帮助文档
        微服务云应用平台
        快速入门
        快速体验ServiceStage
        创建环境
      • 微服务引擎版本支持机制
        本章节为您介绍微服务引擎专享版的版本支持机制。 版本号说明 版本号格式为:{major}.{minor}.{patch}。 其中: {major}.{minor}为正式版本号。 {patch}为补丁版本号。 例如,v1.3.1。1.3为正式版本号,1为补丁版本号。 版本支持机制 微服务引擎创建 只能创建最新版本的微服务引擎,不支持创建指定版本微服务引擎。 微服务引擎维护 支持同时维护最新的3个正式版本。 微服务引擎版本升级 正式版本升级,支持当前最新的3个正式版本中的2个较低版本升级到最新版本。例如,当前最新的3个正式版本为1.3、1.2、1.1,则支持由1.1、1.2升级到1.3。 说明 当引擎升级已超出可支持升级的版本范围,例如由1.0升级到1.3,可能导致微服务引擎的管理功能不可用,请谨慎操作。 您可以通过联系技术支持工程师,进行升级前风险评估。 补丁版本升级,微服务引擎后台提供补丁版本自动升级,例如由1.3.0升级到1.3.1。 版本约束 微服务引擎版本升级后,不支持版本回滚。
        来自:
        帮助文档
        微服务云应用平台
        产品简介
        微服务引擎版本支持机制
      • VNC介绍
        本文介绍了VNC和VNC的操作。 VNC介绍 VNC(Virtual Network Console)是一种广泛用于远程控制和协作的工具,适用于多种操作系统。 VNC提供了强大的远程控制功能,但它的性能可能受到网络速度的限制。在较慢的网络上,可能会出现较低的帧率和延迟。 修改设置 1.左侧菜单中点击设置 2.可以根据个人喜好进行设置修改,设置页面如下: 3.如果网络环境较差,可以通过流媒体质量设置降低画面质量,以达到流畅画面体验。 软件使用 双击桌面中的软件图标即可打开软件使用,与普通电脑操作一致。 导航栏 在桌面左上角点击Applications可显示导航栏,第二个为Linux终端。
        来自:
        帮助文档
        科研助手
        用户指南
        开发机
        VNC介绍
      • VNC介绍
        本文介绍了VNC和VNC的操作。 VNC介绍 VNC(Virtual Network Console)是一种广泛用于远程控制和协作的工具,适用于多种操作系统。 VNC提供了强大的远程控制功能,但它的性能可能受到网络速度的限制。在较慢的网络上,可能会出现较低的帧率和延迟。 修改设置 1.左侧菜单中点击设置 2.可以根据个人喜好进行设置修改,设置页面如下: 3.如果网络环境较差,可以通过流媒体质量设置降低画面质量,以达到流畅画面体验。 软件使用 双击桌面中的软件图标即可打开软件使用,与普通电脑操作一致。 导航栏 在桌面左上角点击Applications可显示导航栏,第二个为Linux终端。
        来自:
        帮助文档
        科研助手
        用户指南
        科研版
        开发机
        VNC介绍
      • PHP
        ssl生产消息 php CERTSPATH . '/cacertificate.pem', 'localcert' > CERTSPATH . '/clientrabbitmqcertificate.pem', 'localpk' > CERTSPATH . '/clientrabbitmqkey.pem', 'verifypeer' > true, 'verifypeername' > false, ); $connection new AMQPSSLConnection("10.10.33.196", 5671, "YOUR USERNAME", "YOUR PASSWORD", "/" , $sslOptions); $channel $connection>channel(); $channel>queuedeclare($queue, false, true, false, false); $channel>exchangedeclare($exchange, AMQPExchangeType::DIRECT, false, true, false); $channel>queuebind($queue, $exchange); $channel>queuedeclare($queue, false, true, false, false); $channel>exchangedeclare($exchange, AMQPExchangeType::DIRECT, false, true, false); $channel>queuebind($queue, $exchange); $messageBody implode(' ', arrayslice($argv, 1)); $message new AMQPMessage($messageBody, array('contenttype' > 'text/plain', 'deliverymode' > AMQPMessage::DELIVERYMODEPERSISTENT)); $channel>basicpublish($message, $exchange); $channel>close(); $connection>close(); ssl消费消息 php CERTSPATH . '/cacertificate.pem', 'localcert' > CERTSPATH . '/clientrabbitmqcertificate.pem', 'localpk' > CERTSPATH . '/clientrabbitmqkey.pem', 'verifypeer' > false, 'verifypeername' > false, ); $connection new AMQPSSLConnection("10.10.33.196", 5671, "YOUR USERNAME", "YOUR PASSWORD", "/" , $sslOptions); $channel $connection>channel(); $channel>queuedeclare($queue, false, true, false, false); $channel>exchangedeclare($exchange, AMQPExchangeType::DIRECT, false, true, false); $channel>queuebind($queue, $exchange); function processmessage($message) { echo "nn"; echo $message>body; echo "nn"; $message>ack(); // Send a message with the string "quit" to cancel the consumer. if ($message>body 'quit') { $message>getChannel()>basiccancel($message>getConsumerTag()); } } $channel>basicconsume($queue, $consumerTag, false, false, false, false, 'processmessage'); function shutdown($channel, $connection) { $channel>close(); $connection>close(); } registershutdownfunction('shutdown', $channel, $connection); $channel>consume();
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        开发指南
        PHP
      • Go
        ssl生产消息 plaintext package main import ( "crypto/tls" "crypto/x509" "flag" "fmt" amqp "github.com/rabbitmq/amqp091go" "io/ioutil" "log" ) var ( uri flag.String("uri", "amqps://USERNAME:PASSWORD@10.10.33.196:5671", "AMQP URI") exchangeName flag.String("exchange", "goexchange", "Durable AMQP exchange name") exchangeType flag.String("exchangetype", "direct", "Exchange type directfanouttopicxcustom") routingKey flag.String("key", "testkey", "AMQP routing key") body flag.String("body", "foobar", "Body of message") reliable flag.Bool("reliable", true, "Wait for the publisher confirmation before exiting") ) func init() { flag.Parse() } func main() { if err : publish(uri, exchangeName, exchangeType, routingKey, body, reliable); err ! nil { log.Fatalf("%s", err) } log.Printf("published %dB OK", len(body)) } func publish(amqpsURI, exchange, exchangeType, routingKey, body string, reliable bool) error { caCert, err : ioutil.ReadFile("D:tmphzmqtest0520rabbitmqsslclientcacertificate.pem") if err ! nil { return err } cert, err : tls.LoadX509KeyPair("D:tmphzmqtest0520rabbitmqsslclientclientrabbitmqcertificate.pem", "D:tmphzmqtest0520rabbitmqsslclientclientrabbitmqkey.pem") if err ! nil { return err } rootCAs : x509.NewCertPool() rootCAs.AppendCertsFromPEM(caCert) tlsConf : &tls.Config{ RootCAs: rootCAs, Certificates: []tls.Certificate{cert}, //ServerName: "localhost", // Optional InsecureSkipVerify: true, } connection, err : amqp.DialTLS(amqpsURI, tlsConf) if err ! nil { return fmt.Errorf("Dial: %s", err) } defer connection.Close() log.Printf("got Connection, getting Channel") channel, err : connection.Channel() if err ! nil { return fmt.Errorf("Channel: %s", err) } log.Printf("got Channel, declaring %q Exchange (%q)", exchangeType, exchange) if err : channel.ExchangeDeclare( exchange, // name exchangeType, // type true, // durable false, // autodeleted false, // internal false, // noWait nil, // arguments ); err ! nil { return fmt.Errorf("Exchange Declare: %s", err) } // Reliable publisher confirms require confirm.select support from the // connection. if reliable { log.Printf("enabling publishing confirms.") if err : channel.Confirm(false); err ! nil { return fmt.Errorf("Channel could not be put into confirm mode: %s", err) } confirms : channel.NotifyPublish(make(chan amqp.Confirmation, 1)) defer confirmOne(confirms) } log.Printf("declared Exchange, publishing %dB body (%q)", len(body), body) if err channel.Publish( exchange, // publish to an exchange routingKey, // routing to 0 or more queues false, // mandatory false, // immediate amqp.Publishing{ Headers: amqp.Table{}, ContentType: "text/plain", ContentEncoding: "", Body: []byte(body), DeliveryMode: amqp.Transient, // 1nonpersistent, 2persistent Priority: 0, // 09 }, ); err ! nil { return fmt.Errorf("Exchange Publish: %s", err) } return nil } func confirmOne(confirms
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        开发指南
        Go
      • 收集连接信息
        实例连接地址与端口 实例创建后,从实例的“基本信息”页签的“连接信息”中获取。 查看RabbitMQ实例连接地址与端口 访问实例的用户名和token 实例创建后,从实例的“集群管理”页签的“用户”中获取用户名及token。如果没有则新建。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        开发指南
        收集连接信息
      • .net
        消费消息 plaintext using System; using System.Collections.Immutable; using System.Drawing; using Rabbit.Common.Data.Trades; using Rabbit.Common.Display; using RabbitMQ.Client; using RabbitMQ.Client.Events; namespace Rabbit.Example4.Consumer { internal sealed class Program { private static void Main() { var connectionFactory new ConnectionFactory { HostName "YOUR HOST IP", UserName "YOUR USER", Password "YOUR PASSWORD", Port 5672 }; using var connection connectionFactory.CreateConnection(); using var channel connection.CreateModel(); const string ExchangeName "dotnetexchange"; const string QueueName "dotnetqueue"; channel.ExchangeDeclare( exchange: ExchangeName, type: ExchangeType.Direct, durable: false, autoDelete: false, arguments: ImmutableDictionary .Empty); var queue channel.QueueDeclare( queue: QueueName, durable: false, exclusive: false, autoDelete: false, arguments: ImmutableDictionary .Empty); channel.QueueBind( queue: queue.QueueName, exchange: ExchangeName, routingKey: QueueName); var consumer new EventingBasicConsumer(channel); consumer.Received + (sender, eventArgs) > { var messageBody eventArgs.Body.ToArray(); var trade Trade.FromBytes(messageBody); DisplayInfo .For(trade) .SetExchange(eventArgs.Exchange) .SetQueue(queue.QueueName) .SetRoutingKey(eventArgs.RoutingKey) .SetVirtualHost(connectionFactory.VirtualHost) .Display(Color.Yellow); channel.BasicAck(eventArgs.DeliveryTag, multiple: false); }; channel.BasicConsume( queue: queue.QueueName, autoAck: false, consumer: consumer); Console.ReadLine(); } } } ssl生产消息 plaintext using System.Collections.Generic; using System.Collections.Immutable; using System.Drawing; using System.Threading.Tasks; using Rabbit.Common.Data.Trades; using Rabbit.Common.Display; using RabbitMQ.Client; namespace Rabbit.dotnet.Producer { internal sealed class Program { private static async Task Main() { var connectionFactory new ConnectionFactory { HostName "YOUR HOST IP", UserName "YOUR USERNAME", Password "YOUR PASSWORD", Port 5671 }; connectionFactory.AuthMechanisms new List () { new ExternalMechanismFactory() }; connectionFactory.Ssl.CertPath @"D:tmphzmqtest0520rabbitmqsslclientclientrabbitmqkey.p12"; // Ssl.CertPassphrase为固定参数,无需修改 connectionFactory.Ssl.CertPassphrase "YOUR PASSPHRASE"; connectionFactory.Ssl.Enabled true; connectionFactory.Ssl.CertificateValidationCallback (, , , ) > { return true; }; using var connection connectionFactory.CreateConnection(); using var channel connection.CreateModel(); const string ExchangeName "dotnetexchange"; const string QueueName "dotnetqueue"; channel.ExchangeDeclare( exchange: ExchangeName, type: ExchangeType.Direct, durable: false, autoDelete: false, arguments: ImmutableDictionary .Empty); var queue channel.QueueDeclare( queue: QueueName, durable: false, exclusive: false, autoDelete: false, arguments: ImmutableDictionary .Empty); channel.QueueBind( queue: queue.QueueName, exchange: ExchangeName, routingKey: QueueName, arguments: ImmutableDictionary .Empty); while (true) { var trade TradeData.GetFakeTrade(); string routingKey QueueName; channel.BasicPublish( exchange: ExchangeName, routingKey: routingKey, body: trade.ToBytes() ); DisplayInfo .For(trade) .SetExchange(ExchangeName) .SetRoutingKey(routingKey) .SetVirtualHost(connectionFactory.VirtualHost) .Display(Color.Cyan); await Task.Delay(millisecondsDelay: 1000); } } } }
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        开发指南
        .net
      • SHOW
        UDAL SHOW TABLESIZE WHERE SCHEMANAME'{schemaName}' AND TABLENAME'{tableName}' 注意 仅V5.1.9.6020.2533及以后版本的实例,支持执行该命令。 语法说明 查看数据表的表大小,命令参数说明如下: 参数 说明 SCHEMANAME 库名 TABLENAME 表名 返回信息说明如下: 参数 说明 Schemaname 库名 Tablename 表名 Tablesize 表大小(MB) Tablerows 表行数 示例 plaintext UDAL> UDAL SHOW TABLESIZE WHERE SCHEMANAME'test01' AND TABLENAME'testtablesize'; +++ Schemaname Tablename Tablesize Tablerows +++ test01 testtablesize 0.02 10 +++ 1 row in set (0.00 sec) UDAL SHOW BACKEND BROADCAST COUNT 注意 仅V5.1.9.6020.2541及以后版本的实例,支持执行该命令。 语法说明 查看各节点上的广播SQL占用的后端连接数,以及全部节点的总连接数。 返回信息说明如下: 参数 说明 Datahost 物理存储节点名,如未获取物理存储节点信息,则显示为后端主机(HOST)地址 Broadcastborrowed 广播SQL占用的连接数 TOTAL 全部节点汇总的广播SQL占用的连接数 示例 UDAL SHOW BACKEND BROADCAST 注意 仅V5.1.9.6020.2541及以后版本的实例,支持执行该命令。 语法说明 查看各节点上的广播SQL占用的后端连接信息,包括处理线程、节点地址与端口、出入流量字节数、连接存活时间、连接使用状态等信息。 返回信息说明如下: 参数 说明 Processor 处理线程号 Datahost 物理存储节点名,如未获取物理存储节点信息,则显示为后端主机(HOST)地址 Connectionid 后端连接在DBProxy内部ID Mysqlid MySQL线程ID Host 物理存储节点地址 Port 物理存储节点端口 Localport DBProxy端使用的端口 Netin (Bytes) 入流量字节数 Netout (Bytes) 出流量字节数 Activetime (Seconds) 连接存活时长 Closed 是否关闭 Borrowed 是否使用中 Queuedmessages 待发送队列长度 Schema 库名 Charset 字符集 Transactionlevel 事务隔离级别 Autocommit 是否自动提交 示例
        来自:
        帮助文档
        分布式关系型数据库
        开发指南
        管理命令
        SHOW
      • DDL统一执行框架
        UDAL DDL SHOW [jobid[,jobid...]] [LIMIT {[offset,] rowcount rowcount OFFSET offset}] 注意 仅V5.1.9.6020.2531及以后版本的实例,支持执行该命令。 语法说明 查看当前正在运行的DDL任务状态,命令参数说明如下: 参数 描述 jobid DDL任务的唯一标识符 LIMIT {[offset,] rowcount rowcount OFFSET offset} 可选,限制返回的记录数量,支持分页。 回显参数说明如下: 参数 描述 Jobid DDL任务的唯一标识符 Zkeventpath ZK DDL任务路径 Traceid 链路追踪ID Asynctaskid 异步DDL模式的任务ID Operddljobid 旧的operddljob表的Job ID Ddltype DDL类型 Schemaname 数据库模式名 Objectname 对象名称 Originsql 原始SQL语句 Excluderesources 依赖的互斥锁资源列表,多个用逗号分隔 Sharedresources 依赖的共享锁资源列表,多个用逗号分隔 State 作业状态,可能值: QUEUED:队列中 RUNNING:运行中 PAUSED:已暂停 COMPLETED:已完成 ROLLBACKRUNNING:回滚中 ROLLBACKPAUSED:回滚暂停 ROLLBACKCOMPLETED:回滚完成 Result DDL任务执行结果,可能值: 0:初始化 1:成功 2:执行中 3:停止 4:失败 5:取消 6:警告 Remark 备注信息 Createtime 创建时间 Updatetime 更新时间 示例 plaintext mysql> udal ddl show limit 2,1G 1. row Jobid: 33 Zkeventpath: /events/event0000178351 Traceid: c206091d30e44d9aa407eef304666ea7 Asynctaskid: Operddljobid: 1 Ddltype: Database Schemaname: testdb Objectname: NULL Originsql: drop database testdb Excluderesources: [testdb] Sharedresources: [] State: COMPLETED Result: 1 Remark: Createtime: 20251015 12:58:06 Updatetime: 20251015 12:58:07 1 row in set (0.01 sec)
        来自:
        帮助文档
        分布式关系型数据库
        开发指南
        DDL统一执行框架
      • 跨域静态资源上报
        对于跨域资源请求,可能无法获取资源大小及响应状态码,影响数据准确性,您可以参考本文档解决。 资源大小 您可以在静态资源的响应头中添加 TimingAllowOrigin 属性以允许读取跨域资源的资源大小,即 transferSize 字段。 例如,您的静态资源在 https:/img.ctyun.cn/ 而页面地址为 ,您可以为该静态资源添加响应头: plaintext TimingAllowOrigin: 此时,SDK 将能够正确获取静态资源的资源大小并上报。 响应状态码 您可以在静态资源的响应头中添加 AccessControlAllowOrigin 属性以允许读取跨域资源的响应状态码,即 responseStatus 字段。 例如,您的静态资源在 https:/img.ctyun.cn/ 而页面地址为 ,您可以为该静态资源添加响应头: plaintext AccessControlAllowOrigin: 此时,SDK 将能够正确获取静态资源的响应状态码并上报。
        来自:
        帮助文档
        应用性能监控 APM
        用户指南
        前端监控
        开发参考
        跨域静态资源上报
      • 应用性能指标
        对于 Web 应用,在“访问速度”页面中有一些性能指标及区间段耗时;对于小程序应用,在“页面性能”页面中也有一些性能指标,本文将逐一介绍。 Web 性能模型基于 W3C 标准中的 PerformanceNavigationTiming: 关键性能指标 上报字段 描述 计算方式 备注 fmp (First Meaningful Paint) 首屏时间 取 DOM 节点数变化最多的时间点与 fetchStart 间的时长 无 fpt (First Paint Time) 首次渲染时间 responseEnd fetchStart 从请求开始到浏览器开始解析第一批HTML文档字节的时间差。 tti (Time to Interact) 首次可交互时间 domInteractive fetchStart 浏览器完成所有HTML解析并且完成DOM构建,此时浏览器开始加载资源。 ready HTML加载完成时间, 即DOM Ready时间。 domContentLoadEventEnd fetchStart 如果页面有同步执行的JS,则同步JS执行时间ReadyTTI。 load 页面完全加载时间 loadEventStart fetchStart Load首次渲染时间+DOM解析耗时+同步JS执行+资源加载耗时。 firstbyte 首包时间 responseStart domainLookupStart 第一个数据包接受的时间。 区间段耗时指标 上报字段 描述 计算方式 备注 dns DNS查询耗时 domainLookupEnd domainLookupStart 无 tcp TCP连接耗时 connectEnd connectStart 无 ttfb (Time to First Byte) 请求响应耗时 responseStart requestStart 无 trans 内容传输耗时 responseEnd responseStart 无 dom DOM解析耗时 responseEnd responseStart 无 res 资源加载耗时 loadEventStart domContentLoadedEventEnd 表示页面中的同步加载资源。 ssl SSL安全连接耗时 connectEnd secureConnectionStart 只在HTTPS下有效。 小程序关键性能指标 相关指标由 getPerformance 方法返回,取其中的 duration 字段。 上报字段 描述 备注 load 程序启动 appLaunch,包含 程序启动耗时 + JS注入时间 res JS 注入时间 evaluateScript fpt 页面首次渲染 firstRender ready 路由切换 route dom setData 耗时 字段复用,与 Web 指标中的 dom 无关
        来自:
        帮助文档
        应用性能监控 APM
        用户指南
        前端监控
        开发参考
        应用性能指标
      • 如何在MSE上为Spring Cloud应用构建服务注册中心?
        本章节介绍为Spring Cloud应用构建服务注册中心的方案 版本和依赖 SpringBoot、SpringCloud Alibaba、OpenFeign等存在版本对应关系,版本不匹配可能会出现问题。以如下以来的版本为例说明如何接入Nacos。 com.alibaba.cloud springcloudstarteralibabanacosconfig com.alibaba.nacos nacosclient com.alibaba.nacos nacosclient 2.1.0 com.alibaba.cloud springcloudstarteralibabanacosdiscovery org.springframework.boot springbootstartertest test org.springframework.cloud springcloudstarteropenfeign 3.0.6 org.springframework.cloud springcloudstarterloadbalancer 3.0.6 org.springframework.cloud springcloudstarterbootstrap 3.0.6 接入注册中心 服务注册 接入注册中需要的增加的依赖是springcloudstarteralibabanacosdiscovery,在第二节中已经给出。 注意 实例中SpringBoot 2.6.1 SpringCloud版本为2021.0.4.0,这两个版本需要匹配。如果使用其他版本,可以从Spring Cloud 官方查询匹配版本。 在本地创建服务提供者应用工程,然后添加依赖,并开启服务注册与发现功能,并将注册中心指定为Nacos Server。 接入注册中心需要在配置文件中增加相关配置,以yml文件为例,可以加在applicationprod.yml中增加如下配置文件: spring: cloud: nacos: discovery: username: ${NAOCSUSERNAME} password: ${NAOCSPASSWORD} serveraddr: ${NACOSSERVERADDRESS} namespace: ${NACOSNAMINGNAMESPACE} group: ${NACOSNAMINGGROUP} 以上配置中变量的实际值,可以通过环境变量的方式提供。环境变量可以在云容器引擎中配置。 除修改配置文件以外,需要在Spring Boot 项目的启动类上增加@EnableDiscoveryClient注解。如下列代码所示: @EnableDiscoveryClient @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class,args); } } 修改配置文件后启动应用。启动成功后可以在控制台页面查看当前注册的服务。
        来自:
        帮助文档
        微服务引擎
        最佳实践
        注册配置中心
        应用开发
        如何在MSE上为Spring Cloud应用构建服务注册中心?
      • 如何在MSE上为Dubbo应用构建服务注册中心?
        本章节介绍为Dubbo应用构建服务注册中心的方案 事前准备 本文的目的是关于Dubbo 应用接入MSE注册配置中心。首先是工程准备,一般情况下是两个Spring Boot 应用和一个公共的接口模块。 模块说明: 1. commonapi ,公共接口模块(接口),供服务消费者和服务提供者调用。 2. dubboprovider服务提供者模块(接口实现类),依赖commonapi模块。 3. dubboconsumer服务消费者模块(controller),依赖commonapii模块。 消费者和提供者通过公共接口模块进行rpc远程调用。 Dubbo主要相关的依赖项和版本如下所示: org.apache.dubbo dubbospringbootstarter 2.7.15 org.apache.dubbo dubboregistrynacos 2.7.15 在接入之前需要有一个MSE Nacos实例,并获得期访问信息。 公共模块 公共接口模块里面只有一个接口,没有配置文件,打jar包。 public interface InfoService{ String getInfo(); } Provider模块 application.yml配置文件: server: port: 22020 spring: application: name: dubboprovider dubbo: registry: address: nacos://访问地址?usernamenacos&password密码 application: name: dubboprovider protocol: name: dubbo port: PORT scan: basepackages: com.ctg.mse.dubbo.pro.service provider: timeout: 30000 接口实现类,该类实现了公共接口模块创建的接口.注意包路径必须包含在配置文件的sacn.basepackage路径中。 package com.ctg.mse.dubbo.pro.service; import com.ctg.mse.common.InfoService; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Component; @Component @DubboService public class InfoServiceImpl implements InfoService { @Override public String getInfo() { return "Hello , dubbo provider method!"; } } Provider启动类: @EnableDubbo @SpringBootApplication public class DubboProviderApplication { public static void main(String[] args) { SpringApplication.run(DubboProviderApplication.class, args); } }
        来自:
        帮助文档
        微服务引擎
        最佳实践
        注册配置中心
        应用开发
        如何在MSE上为Dubbo应用构建服务注册中心?
      • Nacos引擎Python客户端接入文档
        注册实例 NacosClient.addnaminginstance(servicename, ip, port, clustername, weight, metadata, enable, healthy,ephemeral,groupname,heartbeatinterval) param servicename required Service name to register to. param ip required IP of the instance. param port required Port of the instance. param clustername Cluster to register to. param weight A float number for load balancing weight. param metadata Extra info in JSON string format or dict format param enable A bool value to determine whether instance is enabled or not. param healthy A bool value to determine whether instance is healthy or not. param ephemeral A bool value to determine whether instance is ephemeral or not. param heartbeatinterval Auto daemon heartbeat interval in seconds. return True if success or an exception will be raised. 注销实例 NacosClient.removenaminginstance(servicename, ip, port, clustername) param servicename required Service name to deregister from. param ip required IP of the instance. param port required Port of the instance. param clustername Cluster to deregister from. param ephemeral A bool value to determine whether instance is ephemeral or not. return True if success or an exception will be raised. 更新实例 NacosClient.modifynaminginstance(servicename, ip, port, clustername, weight, metadata, enable) param servicename required Service name. param ip required IP of the instance. param port required Port of the instance. param clustername Cluster name. param weight A float number for load balancing weight. param metadata Extra info in JSON string format or dict format. param enable A bool value to determine whether instance is enabled or not. param ephemeral A bool value to determine whether instance is ephemeral or not. return True if success or an exception will be raised.
        来自:
        帮助文档
        微服务引擎
        最佳实践
        注册配置中心
        应用开发
        Nacos引擎Python客户端接入文档
      • Nacos引擎NodeJS接入文档
        配置服务 查询配置 async function getConfig(dataId, group) {String} dataId data id {String} group group name 发布配置 async function publishSingle(dataId, group, content) {String} dataId data id {String} group group name {String} content content you want to publish 删除配置 async function remove(dataId, group) {String} dataId data id {String} group group name 监听配置 function subscribe(info, listener) {Object} info {String} dataId data id {String} group group name {Function} listener callback handler 监听回调函数 取消配置监听 function unSubscribe(info, [listener]) {Object} info {String} dataId data id {String} group group {Function} listener callback handler(optional,remove all listener when it is null) 监听取消回调函数
        来自:
        帮助文档
        微服务引擎
        最佳实践
        注册配置中心
        应用开发
        Nacos引擎NodeJS接入文档
      • 收发顺序消息
        顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分区顺序消息:对于指定的一个Topic,同一个队列内的消息按照严格的FIFO顺序进行发布和订阅。生产者指定分区选择算法,保证需要按顺序消费的消息被分配到同一个队列。 全局顺序消息和分区顺序消息的区别仅为队列数量不同,代码没有区别。 收发消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 1. 在命令行输入python,检查是否已安装Python。得到如下回显,说明Python已安装。 PS C:> python Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 如果未安装Python,请使用以下命令安装: pip install rocketmqclientpython 2. 安装librocketmq库和rocketmqclientpython。 说明 建议下载rocketmqclientcpp2.2.0,获取librocketmq库。 3. 将librocketmq.so添加到系统动态库搜索路径。 1. 查找librocketmq.so的路径。 find / name librocketmq.so 2. 将librocketmq.so添加到系统动态库搜索路径。 ln s /查找到的librocketmq.so路径/librocketmq.so /usr/lib sudo ldconfig 以下示例代码中的参数说明如下,请参考收集连接信息获取参数值。 GROUP:表示消费组名称。 ENDPOINT:表示实例连接地址和端口。 TOPIC:表示Topic名称。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Python
        收发顺序消息
      • 收发事务消息
        发送消息 参考如下示例代码。 import time from rocketmq.client import TransactionMQProducer, Message, TransactionStatus endpoint "${ENDPOINT}" 填写分布式消息服务RocketMQ控制台Namesrv接入点 accesskey "${ACCESSKEY}" 填写AccessKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户ID accesssecret "${SECRETKEY}" 填写SecretKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户密钥 topic "${TOPIC}" 填写Topic,在管理控制台创建 producergroup "${GROUP}" 生产者组group def transactioncheckercallback(msg, userargs): return TransactionStatus.COMMIT def transactionlocalexecute(msg, userargs): return TransactionStatus.UNKNOWN producer TransactionMQProducer(producergroup, transactioncheckercallback) producer.setnameserveraddress(endpoint) producer.setsessioncredentials(accesskey, accesssecret, "") producer.start() msg Message(topic) msg.setbody("Hello RocketMQ") ret producer.sendmessageintransaction(msg, transactionlocalexecute, None) print(ret.status, ret.msgid, ret.offset) while True: time.sleep(3600) 订阅消息 参考如下示例代码。 import time from rocketmq.client import PushConsumer, ConsumeStatus endpoint "${ENDPOINT}" 填写分布式消息服务RocketMQ控制台Namesrv接入点 accesskey "${ACCESSKEY}" 填写AccessKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户ID accesssecret "${SECRETKEY}" 填写SecretKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户密钥 topic "${TOPIC}" 填写Topic,在管理控制台创建 group "${GROUP}" 填写订阅组group,在管理控制台创建 def callback(msg): print(msg.id, msg.body) return ConsumeStatus.CONSUMESUCCESS consumer PushConsumer(group) consumer.setnameserveraddress(endpoint) consumer.setsessioncredentials(accesskey, accesssecret, "") consumer.subscribe(topic, callback) consumer.start() while True: time.sleep(3600) consumer.shutdown()
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Python
        收发事务消息
      • 收发普通消息
        本章节介绍普通消息的收发方法和示例代码。其中,普通消息发送方式分为同步发送、异步发送、单向发送。 同步发送:同步发送是指消息发送方发出一条消息后,会在收到服务端同步响应之后才发下一条消息的通讯方式。 异步发送:异步发送是指发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 单向发送:发送方只负责发送消息,不等待服务端返回响应且没有回调函数触发。 收发消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 1. 在命令行输入python,检查是否已安装Python。得到如下回显,说明Python已安装。 PS C:> python Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 如果未安装Python,请使用以下命令安装: pip install rocketmqclientpython 2. 安装librocketmq库和rocketmqclientpython。 说明 建议下载rocketmqclientcpp2.2.0,获取librocketmq库。 3. 将librocketmq.so添加到系统动态库搜索路径。 1. 查找librocketmq.so的路径。 find / name librocketmq.so 2. 将librocketmq.so添加到系统动态库搜索路径。 ln s /查找到的librocketmq.so路径/librocketmq.so /usr/lib sudo ldconfig 以下示例代码中的参数说明如下,请参考收集连接信息获取参数值。 GROUP:表示消费组名称。 ENDPOINT:表示实例连接地址和端口。 TOPIC:表示Topic名称。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Python
        收发普通消息
      • 收发定时/延时消息
        分布式消息服务RocketMQ版支持任意时间的定时消息,最大推迟时间可达到40天。 定时消息即生产者生产消息到分布式消息服务RocketMQ版后,消息不会立即被消费,而是延迟到设定的时间点后才会发送给消费者进行消费。 收发消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 1. 在命令行输入python,检查是否已安装Python。得到如下回显,说明Python已安装。 PS C:> python Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 如果未安装Python,请使用以下命令安装: pip install rocketmqclientpython 2. 安装librocketmq库和rocketmqclientpython。 说明 建议下载rocketmqclientcpp2.2.0,获取librocketmq库。 3. 将librocketmq.so添加到系统动态库搜索路径。 1. 查找librocketmq.so的路径。 find / name librocketmq.so 2. 将librocketmq.so添加到系统动态库搜索路径。 ln s /查找到的librocketmq.so路径/librocketmq.so /usr/lib sudo ldconfig 以下示例代码中的参数说明如下,请参考收集连接信息获取参数值。 GROUP:表示消费组名称。 ENDPOINT:表示实例连接地址和端口。 TOPIC:表示Topic名称。 发送消息 参考如下示例代码。 import datetime from rocketmq.client import Producer, Message from rocketmq.exceptions import RocketMQException endpoint "${ENDPOINT}" 填写分布式消息服务RocketMQ控制台Namesrv接入点 accesskey "${ACCESSKEY}" 填写AccessKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户ID accesssecret "${SECRETKEY}" 填写SecretKey 在分布式消息服务RocketMQ控制台用户管理菜单中创建的用户密钥 topic "${TOPIC}" 填写Topic,在管理控制台创建 producergroup "${GROUP}" 生产者组group 初始化生产者 producer Producer(producergroup) producer.setnamesrvaddr(endpoint) producer.setsessioncredentials(accesskey, accesssecret, "") 启动生产者 try: producer.start() except RocketMQException as e: print('start producer error:', e) exit(1) msg Message(topic) msg.setbody("Hello RocketMQ") delaytime 10 发送任意延迟消息,时间单位为毫秒,如下所示:消息将在10s后投递 delaytimestamp int((datetime.datetime.now() + datetime.timedelta(secondsdelaytime)).timestamp() 1000) msg.setproperty('STARTDELIVERTIME', str(delaytimestamp)) 发送消息 try: result producer.sendsync(msg) print('send result:', result) except RocketMQException as e: print('send message error:', e) producer.shutdown() exit(1) 关闭生产者实例,释放资源 producer.shutdown()
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Python
        收发定时/延时消息
      • 管理数据库的DDL语句
        语法示例 示例1 : 假设有一个DRDS集群中关联了3个RDS,分别为udal3307、udal3308和udal3309,使用如下HINT风格分片写法的SQL语句将创建逻辑库mydb,并在udal3307和udal3308上各创建2个分片: plaintext CREATE DATABASE mydb / sharding @@database name'mydb' set datasource 'udal3307:2,udal3308:2' and number2 /; 等同于使用如下SQL风格分片写法的SQL: plaintext CREATE DATABASE mydb DN 'udal3307,udal3308' PARTITIONS 2; 示例2: 假设有一个DRDS集群中关联了3个RDS,分别为udal3307、udal3308和udal3309,使用如下HINT风格分片写法的SQL语句将创建逻辑库mydb2,并在每个RDS上都创建3个分片: plaintext CREATE DATABASE mydb2 / sharding @@database name'mydb2' set datasource 'udal3307,udal3308,udal3309' and number3 /; 注意 在如上写法中,datasource必须显式写出,不能忽略。 而使用SQL风格分片写法来达到同等效果的SQL语句如下: plaintext CREATE DATABASE mydb2 PARTITIONS 3; 注意 此时省略了DN参数,系统会使用show rdslist命令获取的RDS列表,即当前关联的所有RDS(udal3307、udal3308和udal3309)来作为数据源。 示例3: 假设有一个DRDS集群中关联了3个RDS,分别为udal3307、udal3308和udal3309,使用如下HINT风格分片写法的SQL语句将创建逻辑库mydb3,并在udal3307和udal3308上创建2个分片,在udal3309上创建3个分片: plaintext CREATE DATABASE mydb3 / sharding @@database name'mydb3' set datasource'udal3307:2,udal3308:2,udal3309:3' / 此时,由于需要在不同RDS数据源上指定不同的分片数量,SQL风格分片写法不支持该场景,因此只能使用HINT风格分片的写法。
        来自:
        帮助文档
        分布式关系型数据库
        开发指南
        DDL语法
        管理数据库的DDL语句
      • 日志
        本文介绍如何在C运行环境下的日志打印。 打印日志 使用 Serverless.Cf 依赖库提供方法打印日志 使用库 Serverless.Cf依赖库提供的 Logger()方法打印日志,使用该方法打印的每条日志中都包含日志级别、RequestId、时间、文件名和行号等信息。示例代码如下: csharp public async Task Handler(Stream input, ICfContext context) { var str "Hello world"; byte[] bytetxt Encoding.UTF8.GetBytes(str); // 日志打印 context.Logger.LogInformation("Hello log"); MemoryStream output new MemoryStream(); await input.CopyToAsync(output); output.Write(bytetxt, 0, bytetxt.Length); return output; } 函数被执行后,会输出以下日志: bash 20240708 10:32:36.926 xxxxxx [INFO] Hello log 使用 Console.WriteLine 打印日志 您还可以使用 Console.WriteLine()方法打印日志,或者其它写入到stdout/stderr的日志库打印日志。示例代码如下: csharp public async Task Handler(Stream input, ICfContext context) { var str "Hello world"; byte[] bytetxt Encoding.UTF8.GetBytes(str); // 控制台打印 Console.WriteLine("Hello console"); MemoryStream output new MemoryStream(); await input.CopyToAsync(output); output.Write(bytetxt, 0, bytetxt.Length); return output; } 函数被执行后,会输出以下日志: bash Hello console
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        C#
        日志
      • 函数实例生命周期回调方法
        本文介绍C如何实现并应用函数实例生命周期回调方法。 使用说明 当您实现并配置函数实例生命周期回调后,函数计算将在相关实例生命周期事件发生时调用对应的回调程序。函数实例生命周期涉及Initializer和PreStop回调。 Initializer回调 Initializer回调在函数实例启动成功后,请求处理程序(Handler)之前执行。 PreStop回调 PreStop回调在函数实例销毁前执行。 Initializer回调和PreStop回调的方法签名一样,入参只有一个context参数,提供在调用时的运行上下文信息。回调方法定义如下: csharp using System; using System.IO; using System.Text; using System.Text.Json; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Serverless.Cf; namespace Example { public class Hello { public void PreStop(ICfContext context) { context.Logger.LogInformation("hello prestop"); } public void Init(ICfContext context) { context.Logger.LogInformation("hello init"); } public async Task Handler(Stream input, ICfContext context) { var str "Hello world"; byte[] bytetxt Encoding.UTF8.GetBytes(str); MemoryStream output new MemoryStream(); await input.CopyToAsync(output); output.Write(bytetxt, 0, bytetxt.Length); return output; } static void Main(string[] args) { } } }
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        C#
        函数实例生命周期回调方法
      • 请求处理程序(Handler)
        示例:Event Handler csharp public async Task Handler(Stream input, ICfContext context) { var str "Hello world"; byte[] bytetxt Encoding.UTF8.GetBytes(str); context.Logger.LogInformation("Hello: " + str); MemoryStream output new MemoryStream(); await input.CopyToAsync(output); output.Write(bytetxt, 0, bytetxt.Length); return output; } 示例:Http Handler csharp public HTTPTriggerResponse Handler(HTTPTriggerEvent input, ICfContext context) { var str JsonSerializer.Serialize(input); context.Logger.LogInformation("Hello log: " + str); return new HTTPTriggerResponse { StatusCode 200, IsBase64Encoded false, Body str }; }
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        C#
        请求处理程序(Handler)
      • 日志
        本文介绍如何在PHP运行环境下的日志打印。 打印日志 使用函数计算提供的全局日志对象打印日志 使用函数计算提供的全局日志对象 $GLOBALS['fcLogger'] 打印日志,使用该方法打印的每条日志中都包含日志级别、RequestId、时间等信息。示例代码如下: php info('hello info log'); $logger>critical('hello critical log'); $logger>setLevel(500); $logger>info('hello info log'); $logger>critical('hello critical log'); return "hello world"; } 函数被执行后,会输出以下日志: bash 20240311 12:07:06 xxx [INFO] hello info log 20240311 12:07:06 xxx [CRITICAL] hello critical log 20240311 12:07:06 xxx [CRITICAL] hello critical log
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        PHP
        日志
      • 上下文及日志格式
        KEY 描述 FCCTYUNACCESSKEY 如果函数配置了权限,选择的角色的临时AK会放在该环境变量 FCCTYUNSECRETKEY 如果函数配置了权限,选择的角色的临时SK会放在该环境变量
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        容器镜像函数
        上下文及日志格式
      • 运行环境中所依赖的包如何安装?
        在函数计算中,依赖包的安装可以有两种方式: 在本地环境中自行安装依赖包,把依赖包作为函数代码包的一部分,在创建/更新函数时,作为一个整体进行上传。 依赖包以层的方式出现,用户可以把依赖包制作成自定义层,然后为函数配置之前创建的自定义层。创建自定义层可以通过zip包、文件夹或者ZOS进行上传创建,也可以在线创建,具体操作可以参考创建自定义层。函数配置层请参考配置层。
        来自:
        帮助文档
        函数计算
        常见问题
        代码开发
        运行环境中所依赖的包如何安装?
      • 错误处理
        字段 类型 解释说明 errorMessage string 异常信息。 errorType string 异常类型。 stackTrace string[] 异常堆栈。
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        C#
        错误处理
      • 上下文和日志格式
        函数计算公共请求头 自定义容器从函数计算中接收到的公共请求头如下表所示。 说明 事件函数和HTTP函数均包含公共请求头Headers。 Header 描述 xfcrequestid Request ID,用于标识一次请求,便于日志追踪,通常是唯一的 xfcreqcosttime 请求耗时 xfcreqarrivetime 请求到达时间 函数计算环境变量 如果您需要访问天翼云其他服务,可以在函数配置 >权限,选择的角色,该角色的临时AK,SK会放在环境变量。 KEY 描述 FCCTYUNACCESSKEY 如果函数配置了权限,选择的角色的临时AK会放在该环境变量 FCCTYUNSECRETKEY 如果函数配置了权限,选择的角色的临时SK会放在该环境变量 函数日志格式 建议您在创建函数时启用日志功能,自定义运行时函数中所有打印到标准输出(Stdout)的日志会自动收集到您指定的日志服务中。
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        自定义运行时
        上下文和日志格式
      • 部署代码包
        本文以安装第三方依赖paragonie/randomlib为例,介绍如何为您的PHP代码安装依赖,打包并部署代码至函数计算。 准备工作 1. 创建一个代码目录,如 myapp。 2. 在 myapp目录下,创建 index.php文件,文件内容如下: php
        来自:
        帮助文档
        函数计算
        用户指南
        代码开发
        PHP
        部署代码包
      • 1
      • ...
      • 126
      • 127
      • 128
      • 129
      • 130
      • ...
      • 156
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      青云志云端助力计划

      一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      出海产品促销专区

      爆款云主机低至2折,高性价比,不限新老速来抢购!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      弹性云主机 ECS

      物理机 DPS

      多活容灾服务

      弹性伸缩服务 AS

      弹性高性能计算 E-HPC

      训推服务

      AI Store

      公共算力服务

      模型推理服务

      推荐文档

      修改自动备份策略

      集群信息

      大事记

      应用监控指标总览

      常见问题

      充值预付款能否开具发票?

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号