云服务器内容精选

  • 消费者增加用户认证信息 无论是普通消息、顺序消息、定时消息,还是事务消息,都参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 package main import ( "context" "fmt" "os" "time" "github.com/apache/rocketmq-client-go/v2" "github.com/apache/rocketmq-client-go/v2/consumer" "github.com/apache/rocketmq-client-go/v2/primitive" ) func main() { c, err := rocketmq.NewPushConsumer( consumer.WithGroupName("testGroup"), consumer.WithNsResolver(primitive.NewPassthroughResolver([]string{"192.168.0.1:8100"})), consumer.WithCredentials(primitive.Credentials{ AccessKey: os.Getenv("ROCKETMQ_AK"), //用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 SecretKey: os.Getenv("ROCKETMQ_SK"), }), ) if err != nil { fmt.Println("init consumer error: " + err.Error()) os.Exit(0) } err = c.Subscribe("test", consumer.MessageSelector{}, func(ctx context.Context, msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) { fmt.Printf("subscribe callback: %v \n", msgs) return consumer.ConsumeSuccess, nil }) if err != nil { fmt.Println(err.Error()) } // Note: start after subscribe err = c.Start() if err != nil { fmt.Println(err.Error()) os.Exit(-1) } time.Sleep(time.Hour) err = c.Shutdown() if err != nil { fmt.Printf("Shutdown Consumer error: %s", err.Error()) } } 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 testGroup:表示消费组名称。 192.168.0.1:8100:表示实例连接地址和端口。 AccessKey:表示用户名。创建用户的步骤,请参见创建用户。 SecretKey:表示用户的密钥。 test:表示Topic名称。
  • 订阅普通消息 参考如下示例代码(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。 package main import ( "context" "fmt" "log" "os" "time" "github.com/apache/rocketmq-clients/golang" "github.com/apache/rocketmq-clients/golang/credentials" ) const ( Topic = "topic01" GroupName = "groupname" Endpoint = "192.168.xx.xx:8080" AccessKey = os.Getenv("ROCKETMQ_AK") //用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 SecretKey = os.Getenv("ROCKETMQ_SK") ) var ( // 接收消息请求的最大等待时间 awaitDuration = time.Second * 5 // 每次能接收的最大消息数 maxMessageNum int32 = 16 // 消息不可见时间,在消息被接收后对其他消费者不可见,直到超时。 invisibleDuration = time.Second * 20 ) func main() { os.Setenv("mq.consoleAppender.enabled", "true") golang.ResetLogger() simpleConsumer, err := golang.NewSimpleConsumer(&golang.Config{ Endpoint: Endpoint, Group: GroupName, Credentials: &credentials.SessionCredentials{ AccessKey: AccessKey, AccessSecret: SecretKey, }, }, golang.WithAwaitDuration(awaitDuration), golang.WithSubscriptionExpressions(map[string]*golang.FilterExpression{ Topic: golang.SUB_ALL, }), ) if err != nil { log.Fatal(err) } err = simpleConsumer.Start() if err != nil { log.Fatal(err) } defer simpleConsumer.GracefulStop() go func() { for { fmt.Println("start recevie message") mvs, err := simpleConsumer.Receive(context.TODO(), maxMessageNum, invisibleDuration) if err != nil { fmt.Println(err) } for _, mv := range mvs { simpleConsumer.Ack(context.TODO(), mv) fmt.Println(mv) } fmt.Println("wait a moment") fmt.Println() time.Sleep(time.Second * 3) } }() time.Sleep(time.Minute) } 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 Topic:输入Topic名称。 GroupName:输入消费组名称。 Endpoint:输入grpc连接地址/grpc公网连接地址。 AccessKey:创建实例时,如果开启了ACL,需要输入用户名。 SecretKey:创建实例时,如果开启了ACL,需要输入用户密钥。
  • 准备环境 执行以下命令,检查是否已安装Go。 go version 返回如下回显时,说明Go已经安装。 go version go1.16.5 linux/amd64 如果未安装Go,请下载并安装。 在“go.mod”中增加以下代码,添加依赖。 module rocketmq-example-go go 1.13 require ( github.com/apache/rocketmq-clients/golang/v5 )
  • 消费者增加用户认证信息 无论是普通消息、顺序消息、定时消息,还是事务消息,都参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import time from rocketmq.client import PushConsumer, ConsumeStatus def callback(msg): print(msg.id, msg.body, msg.get_property('property')) return ConsumeStatus.CONSUME_SUCCESS def start_consume_message(): consumer = PushConsumer('consumer_group') consumer.set_name_server_address('192.168.0.1:8100') # 设置权限(角色名和密钥) consumer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 consumer.subscribe('TopicTest', callback) print('start consume message') consumer.start() while True: time.sleep(3600) if __name__ == '__main__': start_consume_message() 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 consumer_group:表示消费组名称。 192.168.0.1:8100:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。 TopicTest:表示Topic名称。
  • 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 from rocketmq.client import Producer, Message topic = 'TopicTest' gid = 'test' name_srv = '192.168.0.1:8100' def create_message(): msg = Message(topic) msg.set_keys('XXX') msg.set_tags('XXX') msg.set_property('property', 'test') msg.set_body('message body') return msg def send_message_sync(): producer = Producer(gid) producer.set_name_server_address(name_srv) # 设置权限(角色名和密钥) producer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 producer.start() msg = create_message() ret = producer.send_sync(msg) print('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id) producer.shutdown() if __name__ == '__main__': send_message_sync() 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 topic:表示Topic名称。 gid:表示生产者组名称,请根据业务实际情况输入生产者组名称。 name_srv:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。 事务消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import time from rocketmq.client import Message, TransactionMQProducer, TransactionStatus topic = 'TopicTest' gid = 'test' name_srv = '192.168.0.1:8100' def create_message(): msg = Message(topic) msg.set_keys('XXX') msg.set_tags('XXX') msg.set_property('property', 'test') msg.set_body('message body') return msg def check_callback(msg): print('check: ' + msg.body.decode('utf-8')) return TransactionStatus.COMMIT def local_execute(msg, user_args): print('local: ' + msg.body.decode('utf-8')) return TransactionStatus.UNKNOWN def send_transaction_message(count): producer = TransactionMQProducer(gid, check_callback) producer.set_name_server_address(name_srv) # 设置权限(角色名和密钥) producer.set_session_credentials( "ROCKETMQ_AK", # 角色名称 "ROCKETMQ_SK", # 角色密钥 '' )#用户名和密钥直接硬编码到代码中或者明文存储都存在很大的风险,建议在配置文件或者环境变量中密文存放,使用时解密。 producer.start() for n in range(count): msg = create_message() ret = producer.send_message_in_transaction(msg, local_execute, None) print('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id) print('send transaction message done') while True: time.sleep(3600) if __name__ == '__main__': send_transaction_message(10) 示例代码中的参数说明如下,请参考收集连接信息获取参数值。 topic:表示Topic名称。 gid:表示生产者组名称,请根据业务实际情况输入生产者组名称。 name_srv:表示实例连接地址和端口。 ROCKETMQ_AK:表示用户名。创建用户的步骤,请参见创建用户。 ROCKETMQ_SK:表示用户的密钥。
  • 创建命名空间 登录云容器实例管理控制台。 在左侧导航栏中选择“命名空间”,在右侧页面中“通用计算型”命名空间下单击“创建”。 填写命名空间名称。 设置VPC,选择使用已有VPC或新建VPC,新建VPC需要填写VPC网段,建议使用网段:10.0.0.0/8~22,172.16.0.0/12~22,192.168.0.0/16~22。 设置子网网段。 您需要关注子网的可用IP数,确保有足够数量的可用IP,如果没有可用IP,则会导致负载创建失败。 单击“创建”。
  • 键盘鼠标 配置键盘鼠标策略。策略内容如表8所示。 表8 键盘鼠标策略 策略参数 策略说明 推荐值 计算机鼠标回馈 自适应鼠标回馈。 强制鼠标回馈。 关闭鼠标回馈。 自适应鼠标回馈 计算机鼠标模拟方式 绝对位置模拟。 相对位置模拟。 绝对位置模拟 自助维护台抢占登录 该配置项用于控制当用户云桌面处于已登录状态时,通过自助维护台是否允许抢占登录。 计算机外部光标反馈 :启用虚拟机外部光标反馈。 :禁用虚拟机外部光标反馈。
  • 会话 配置会话策略。策略内容如表6所示。 表6 会话策略 策略参数 策略说明 推荐值 自动锁屏 :启用自动锁屏。连接桌面时,经过锁屏等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,云桌面将自动锁屏。 :关闭自动锁屏。 说明: 对于23.8.2及之后版本HDA的Windows桌面,支持在桌面内有应用(例如视频播放器、会议软件等)设置系统为使用状态时,识别到桌面为使用状态,不会触发对应自动策略。 已禁用 锁屏等待时间(分钟) 云桌面屏幕自动锁定前的等待时间,范围是3~86400。 10 锁屏后自动断开/注销/重启/关机 锁屏后自动断开:自动锁屏开启后,再启用自动断开,触发自动锁屏后,经过断开或注销等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,虚拟机将自动断开。 锁屏后自动注销:自动锁屏开启后,再启用自动注销,触发自动锁屏后,经过断开或注销等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,虚拟机将自动注销。 锁屏后自动重启:自动锁屏开启后,再启用自动重启,触发自动锁屏后,再经过等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,虚拟机将自动重启。 锁屏后自动关机:自动锁屏开启后,再启用自动关机,触发自动锁屏后,再经过等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,虚拟机将自动关机。 已禁用:关闭自动断开/注销/重启或关机。 已禁用 锁屏后自动断开/注销/重启/关机等待时间(分钟) 云桌面自动断开/注销/重启或关机前的等待时间,范围是1~86400。 1440 断开后自动注销/重启/关机 注销:断开客户端接入后,经过等待时间,仍未重新连接虚拟机,虚拟机将自动注销。 重启:断开客户端接入后,经过等待时间,仍未重新连接虚拟机,虚拟机将自动重启。 关机:断开客户端接入后,经过等待时间,仍未重新连接虚拟机,虚拟机将自动关机。 禁用:关闭自动断开/注销/重启或关机。 说明: 仅当锁屏后自动断开/注销/重启/关机功能选择断开或禁用时,才能使用断开后自动注销/重启/关机功能。 等待时间内若虚拟机发生了其他注销、重启或关机任务,则本次不会触发自动注销/重启/关机操作。 已禁用 断开后自动注销/重启/关机/等待时间(分钟) 云桌面断开后自动注销/重启/关机前的等待时间,范围是10~86400。 10 休眠设定 桌面休眠后,桌面的应用将进入暂停状态,在唤醒桌面后,可以立即恢复到离开时的状态 说明: 休眠设定当前支持Windows操作系统。 - 桌面断开休眠 :启用桌面断开休眠功能,经过等待时间,断开的桌面将自动休眠。 :关闭桌面断开休眠功能。 已禁用 断开后自动休眠等待时间(分钟) 云桌面断开后自动休眠等待时间。范围是5~600000。 60 桌面无操作休眠 :启用桌面无操作休眠功能。连接桌面时,经过无操作自动休眠等待时间,客户端依然无键鼠来源且桌面内无应用设置系统为使用状态,云桌面将自动休眠。 :关闭桌面无操作自动休眠功能。 已禁用 无操作自动休眠等待时间(分钟) 云桌面无操作自动休眠等待时间。范围是5~600000。 60 自助维护台抢占登录 该配置项用于控制当用户云桌面处于已登录状态时,通过自助维护台是否允许抢占登录。设置为表示可以抢占,表示不允许抢占。默认为可抢占登录。该配置需要重启云桌面。
  • 文件和剪切板 配置文件和剪切板策略。策略内容如表5所示。 表5 文件和剪切板策略 策略类型 策略参数 策略说明 取值样例 文件重定向 文件重定向开关 只读,对选择的驱动器和存储设备中的文件只可以预览。 读写,对选择的驱动器存储设备中的文件可编辑修改。 在云桌面环境下实现对驱动器的支持,用户可以在云桌面中通过文件重定向方式使用驱动器。 只读 固定驱动器 :选择后用户可以在云桌面中通过文件重定向方式使用固定驱动器,如本地磁盘。 :未选择则用户无法在云桌面中通过文件重定向方式使用固定驱动器,如本地磁盘。 说明: 文件重定向关闭时,为禁用。 可移除驱动器 :选择后用户可以在云桌面中通过文件重定向方式使用可移除驱动器,如U盘。 :未选择则用户无法在云桌面中通过文件重定向方式使用可移除驱动器,如U盘。 说明: 文件重定向关闭时,为禁用。 光盘驱动器 :选择后用户可以在云桌面中通过文件重定向方式使用光盘驱动器。 :未选择则用户无法在云桌面中通过文件重定向方式使用光盘驱动器。 网络驱动器 :选择后用户可以在云桌面中通过文件重定向方式使用网络驱动器。 :未选择则用户无法在云桌面中通过文件重定向方式使用网络驱动器。 流控开关 :启用流控开关。 :关闭流控开关。 网络优的延时阈值(ms) 网络优良时的延时阈值,取值范围1~1000。 30 网络一般的延时阈值(ms) 网络一般时的延时阈值,取值范围1~1000。 70 网络差的延时阈值(ms) 网络较差时的延时阈值,取值范围1~1000。 100 降速步伐(KB) 降低传输速度的步伐,取值范围1~100。 20 慢增速步伐(KB) 慢增加传输速度的步伐,取值范围1~100。 10 快增速步伐(KB) 快增加传输速度的步伐,取值范围1~100。 20 传输初始速度(KB/s) 初始的开始传输速度,取值范围1~10240。 1024 测速块大小(KB) 测试速度的数据块大小,取值范围64~1024。 64 测速块时间间隔(ms) 发送测试数据块的时间间隔,取值范围1000~100000。 10000 压缩开关 :启用压缩开关。 :关闭压缩开关。 压缩阈值(Byte) 取值范围0~10240。 512 最小压缩率 取值范围0~1000。 900 Linux支持设置文件大小 :启用Linux支持设置文件大小。 :关闭Linux支持设置文件大小。 Linux设置文件大小阈值(MB) 取值范围0~4096。 100 移动客户端重定向 :启用移动客户端重定向。 :关闭移动客户端重定向。 Linux根目录挂载开关 :启用Linux根目录挂载。 :关闭Linux根目录挂载。 Linux根目录挂载路径 启用Linux根目录挂载时需配置挂载路径。最长256个字符,字符串格式UTF-8。 \var\log Linux文件系统挂载路径 最长256个字符,字符串格式UTF-8。 \media|\Volumes|\swdb\mnt|\home|\storage|\tmp|\run\media Linux固定驱动器文件系统格式 最长256个字符,字符串格式UTF-8。 - Linux可移动驱动器文件系统格式 最长256个字符,字符串格式UTF-8。 vfat|ntfs|msdos|fuseblk|sdcardfs|exfat|fuse.fdredir Linux光盘驱动器文件系统格式 最长256个字符,字符串格式UTF-8。 cd9660|iso9660|udf Linux网络驱动器文件系统格式 最长256个字符,字符串格式UTF-8。 smbfs|afpfs|cifs 路径分隔符 单个ASCII字符。 | 读写速度(kbit/s) 文件重定向和文件发送(虚拟机至客户端)都关闭时,为禁用。 0表示不限制速度,其他为设置的读写速度,最小速度默认为32kbit/s,当小于32kbit/s时,默认使用32kbit/s。 0 文件发送 文件发送(虚拟机至客户端) :选择后允许虚拟机中的文件发送至客户端中。 :未选择则禁止虚拟机中的文件发送至客户端中。 剪切板重定向 剪切板重定向 开启双向:启用后最终用户可以在客户端云桌面复制数据并在本地桌面中粘贴,同时也可以在本地桌面中复制数据后在客户端云桌面中粘贴。 服务端到客户端:启用后最终用户只支持在客户端云桌面中复制数据并在本地桌面中粘贴。 客户端到服务端:启用后,只支持在本地桌面中复制数据并在客户端云桌面中粘贴。 说明: 仅在客户端(TC/SC)操作系统和云桌面操作系统均为Windows时,支持富文本复制、文件复制,且最多同时可复制500个文件。 当客户端(TC/SC、移动客户端)操作系统或云桌面操作系统为其他时,只支持纯文本格式复制,不支持文件复制。 开启双向 剪切板富文本重定向 :启用剪切板富文本重定向。 :禁止剪切板富文本重定向。 剪切板文件重定向 :启用剪切板文件重定向。 :禁止剪切板文件重定向。
  • 显示 配置显示策略。策略内容如表4所示。 表4 显示策略 策略类型 策略参数 策略说明 取值样例 显示 显示策略等级 等级1:适用于512kbit/s以下的网络带宽,仅用于浏览文本文档等轻载办公场景,显示质量较低。 等级2:适用于1Mbps以下的网络带宽,仅用于浏览文本文档及静态图片等轻载办公场景,显示质量略优于等级1。 等级3:适用于4Mbps以下的网络带宽,可用于浏览文档、图片、动态网页等中载办公场景。 等级4(推荐):适用于20Mbps以下的网络带宽,可用于流畅播放标清/高清视频,显示质量与占用带宽达到更佳平衡。 等级5:适用20Mbps以上的网络带宽,视频播放效果优。 等级4(推荐) 显示帧率 (fps) 非视频场景下的画面刷新率。该值越大,则画面与操作越流畅,但所需的网络带宽以及虚拟机的CPU占用率也会随之升高。取值范围1~60,推荐配置为15~25。 25 视频帧率(fps) 视频场景下的画面刷新率。该值越大,则视频播放越流畅,但所需的网络带宽以及虚拟机的CPU占用率也会随之升高。 说明: 启用“渲染加速”后,该项不起作用。 - 带宽(kbit/s) 单用户峰值带宽限制,取值范围256~25000。 20000 图像压缩参数 图像缓存最低容量(MB) 进行图像缓存时的缓存容量的大小,单位MB。值越大,带宽越低,但会消耗客户端内存。设定值小于50时,缓存功能停用。取值范围0~300。 200 有损压缩识别阈值 图像复杂度的判别阈值。该值越小,图像越倾向于无损画质,清晰度越高,但对网络带宽要求也相应升高,反之亦然,取值范围0~255。 60 无损压缩模式 选择无损图像压缩算法,“初级压缩”的压缩率较低,CPU占用也低;而“深度压缩”则相反,压缩率较高,但CPU占用也略微升高。 初级压缩 深度压缩级别 该项在选择“深度压缩”后生效。压缩级别越高,意味着压缩比越高,带宽占用越低,而CPU占用越高。0级压缩表示原图复制,无压缩,CPU占用最低,但带宽占用最高。 压缩级别0 有损压缩质量 该项用于设置有损压缩的图像质量。取值越大,画质越好。取值范围20~100。 85 办公场景色彩增强 该项用于办公场景色彩增强。 :启用办公场景色彩增强。 :禁用办公场景色彩增强。 视频压缩参数 质量或带宽优先 质量优先:选择质量优先,则以固定质量压缩视频画面。“视频平均码率”不生效,仅在启用“渲染加速”后生效。 带宽优先:选择带宽优先,则以恒定码率压缩视频画面。 “视频平均质量”、“视频最低质量”、“视频最高质量”不生效,仅在启用“渲染加速”后生效。 质量优先 视频平均码率(kbit/s) 视频压缩算法参数。在带宽优先模式下,该值越大,视频质量越好。取值范围256~100000。 18000 视频峰值码率(kbit/s) 视频压缩算法参数。该值越大,视频质量越好。取值范围256~100000。 18000 视频平均质量 视频画面的平均质量系数。在质量优先模式下,该值越大,视频质量越差。取值范围5~59。 15 视频最低质量 视频画面的质量下限。在质量优先模式下,该值越大,视频质量越差。取值范围5~69。 25 视频最高质量 视频画面的质量上限。在质量优先模式下,该值越大,视频质量越差。取值范围1~59。 7 GOP大小 视频压缩算法参数。该值越小,视频质量越好,但带宽占用越大,推荐设为视频帧率的1~2倍。取值范围0~65535。 100 编码预置 视频压缩算法参数。该值越小,编码速度越快,流畅度越好,但图像质量越差,带宽越大。 预置1 渲染加速 渲染加速 :选择后启用渲染加速模式,提高显示流畅度。 :未选择则禁用渲染加速。 视频加速增强配置 :启用视频加速增强配置。 :禁用视频加速增强配置。 视频场景优化 :启用视频场景优化,提高视频场景的显示流畅度。 :禁用视频场景优化。 已禁用 GPU色彩优化 :启用GPU色彩优化,在视频/办公混合场景中提高色彩还原度。 :禁用GPU色彩优化。 说明: 该参数仅针对GPU桌面。 视频识别阈值 进视频或切换视频状态需要的帧数。当退出视频时,值越大,越容易退;进视频时,值越大,越容易进视频。取值范围0~500。 10 帧率统计长度 视频检测阶段,统计的帧个数,值越小,越容易进入视频。取值范围2~100。 4 图像质量阈值 该值越小,越容易进入视频。取值范围0~100。 0 刷新率阈值 该值越小,越容易进入视频。取值范围1~100。 3 退出视频区域阈值 该值越小,越容易退出视频。取值范围0~100。 8 识别为视频的最小宽 值越小,越容易进入视频。取值范围0~1280。 191 识别为视频的最小高 值越小,越容易进入视频。取值范围0~1280。 191 单帧自然图像块占比阈值 该值越小,越容易进入视频。取值范围0.000001~1。 0.3 周期自然图像数目占比阈值 该值越小,越容易进入视频。取值范围0~100。 2 非自然图面积占比阈值 该值越大,越难退出视频。取值范围0.000001~1。 0.85 非自然图数目占比阈值 该值越大,越难退出视频。取值范围0~100。 25 其他参数 显卡缓存(MB) 设备表面内存容量,取值范围0~64,影响部分场景带宽,值越大,带宽越低。 64 驱动托管模式 :启用驱动托管模式。 :禁用驱动托管模式。 驱动托管延时(*30ms) 取值范围1~100。 80 驱动托管视频延时(*30ms) 取值范围1~100。 80 计算机修改分辨率 :启用计算机修改分辨率策略后,终端用户可在云桌面中通过系统设置的方式修改桌面显示分辨率。 :禁用计算机修改分辨率,终端用户不能通过系统设置的方式修改显示分辨率。 应用感知配置 针对特定应用程序,配置特定显示策略(建议由华为工程师提供)。 -
  • 音频 配置音频策略。策略内容如表2所示。 表2 音频策略 策略项 策略参数 策略说明 取值样例 音频重定向 音频重定向总开关 用户桌面上的应用程序可以通过终端上的声音设备来录音和播音。 播音重定向 播音重定向总开关 只有在设置启用音频重定向后才生效。单独控制播音开关。 :启用播音重定向。启用后最终用户可以可正常播音。 :禁用播音重定向。最终用户播音时系统将无声。 播音场景 无损:音质更好,但是带宽占用最高。 语音通话:选择该场景能提供更佳的语音通话处理能力而且带宽占用最低,但音乐处理能力一般。 音乐播音:选择该场景能提供更佳的音乐处理效果且带宽占用适中,但语音通话处理能力一般。 自动识别:选择该场景能识别用户当前是在语音通话还是在播放音乐(正常自动识别准确率可高于90%)。系统会根据用户的行为自动切换到更佳算法。 音乐播音 录音重定向 录音重定向总开关 该策略项只有在设置启用音频重定向后才生效,单独控制录音开关。 :启用录音重定向。启用后最终用户可以正常录音。 :禁用录音重定向。最终用户录音时系统将无声。 录音场景 无损:音质更好,但是带宽占用最高。用户在网络带宽充足和网络稳定可靠的情况才建议选择该场景。录音通常不建议使用。 语音通话:此选择能提供更佳的语音通话处理能力而且带宽占用最低,但音乐处理能力一般。录音基本上都是用于录语音,建议用户选择该场景。 音乐录音:保留项。录音实践应用中很少用于音乐。录音通常不建议使用该场景。 自动识别:保留项。自动识别目前等同于选择语音通话场景。 语音通话
  • 客户端 配置客户端策略。策略内容如表3所示。 表3 客户端策略 策略参数 策略说明 取值样例 自动重连间隔(秒) 在客户端异常断开连接后,每隔多长时间尝试连接一次。取值范围为0~50。 5 自动重连会话保持时长(秒) 在客户端异常断开连接后,自动重连最多尝试的时间。取值范围为0~180。 180 锁屏后自动关闭本地显示器 :选择后,在虚拟机锁屏后,经过自动关闭显示器等待时间,客户端无键鼠输入,将自动关闭显示器。 说明: 仅支持TC,且嵌套登录不生效。 :未选择则锁屏后不控制本地显示器进行关闭。 自动关闭显示器等待时间(秒) 仅在选择“锁屏后自动关闭本地显示”策略参数时有效。本地显示器在虚拟机锁屏后自动关闭前的等待时间,取值范围是10~600000。 300 防截屏策略 策略开启后,防止用户在云桌面截屏保存本地及分享。 启用防截屏策略开关。 关闭防截屏策略开关。 说明: 仅支持windows客户端、Linux瘦终端,开启后其他终端会禁止接入。
  • 产品优势 使用成本低 随着业务的发展,企业数据量持续不断地增加,DynamoDB读写请求累加带来的费用也日渐高涨。而GeminiDB DynamoDB协议具有较高的性价比,既能提供更高的吞吐,又可以降低一半的DynamoDB使用成本,尤其当数据量较大时成本降低更加明显。 更灵活开发的部署方式 DynamoDB是一项全托管服务,用户使用需要遵循一定的部署方式和规则。相比之下,GeminiDB DynamoDB协议可以根据用户的具体需求灵活地部署服务,客户可以选择部署在私有云或公有云上,而不是被锁定在昂贵的平台上。无论在哪种部署环境下,GeminiDB DynamoDB协议都可以保证服务的稳定和高效。 平滑的迁移 除了以上两点,GeminiDB DynamoDB协议可以完全兼容DynamoDB的语法和数据模型,所以从DynamoDB迁移到GeminiDB DynamoDB协议将变得非常容易,应用程序也不需要进行任何修改,迁移工作将会更高效便捷,对业务也更加友好。
  • 创建命名空间 登录云容器实例管理控制台。 在左侧导航栏中选择“命名空间”,在右侧页面中“通用计算型”命名空间下单击“创建”。 填写命名空间名称。 设置VPC,选择使用已有VPC或新建VPC,新建VPC需要填写VPC网段,建议使用网段:10.0.0.0/8~22,172.16.0.0/12~22,192.168.0.0/16~22。 设置子网网段。 您需要关注子网的可用IP数,确保有足够数量的可用IP,如果没有可用IP,则会导致负载创建失败。 单击“创建”。
  • 准备环境 执行以下命令,检查是否已安装Go。 go version 返回如下回显时,说明Go已经安装。 go version go1.16.5 linux/amd64 如果未安装Go,请下载并安装。 在“go.mod”中增加以下代码,添加依赖。 module rocketmq-example-go go 1.13 require ( github.com/apache/rocketmq-clients/golang/v5 )