You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
Gem Browser
一键部署 Gem Browser 应用
复制全文
下载 pdf
一键部署 Gem Browser 应用
本文为您介绍如何通过函数服务应用中心一键部署 Gem Browser 应用。​
说明​
本功能为邀测功能,如果有试用需求请联系您的客户经理。​
背景信息​
  • 应用介绍​
GEM Browser 是一种轻量级云浏览器 Sandbox 服务,支持 CDP 协议、Puppeteer/Playwright 工具、SSE/Streamable HTTP 调用及 VNC 远程操作。具体以下特点:​
  • 轻量化浏览器内核,响应速度比标准 Chrome 大幅提高​
  • 支持 CDP,容器内保持单一浏览器实例​
  • 支持 VNC / Canvas 方式展示和人工接管浏览器,运行时更改屏幕分辨率​
  • 支持代理接入​
  • 支持自定义浏览器插件(例如 uBlock 等)​
  • 支持视觉模式截图(带浏览器标签页 Tabs)+ GUI 操作​
  • 运行时​
Native 运行时。​
  • 关联云服务​
注意​
关联的云服务会产生相应的使用费用。计费详情,请查看关联云服务对应的计费文档。​
  • 函数服务:通过函数服务创建 Sandbox 实例。​
  • API 网关:通过 API 网关访问 Gem Browser 中的服务。​
前提条件​
  • 已开通本应用关联的所有云服务。​
  • IAM 用户需确保已授权 VeFaaSFullAccess、APIGFullAccess、STSAssumeRoleAccess 策略。如果缺少以上策略,请联系主账号或管理员进行授权,操作详情参见 创建用户并授权 。​
  • 已创建 Serverless 网关类型的 API 网关实例,操作详情参见 创建实例。​
  • 首次使用函数服务,需确保已完成跨服务授权。如未授权,控制台会弹出跨服务授权页面引导您进行授权。​
  • 已创建云沙箱实例,并获取沙箱实例的访问地址,操作详情参见 创建沙箱实例。您还可以通过 API 或 All-in-One SDK 创建沙箱实例,参见文末 通过 API 或 SDK 创建沙箱实例。​
操作步骤​
  1. 在顶部导航栏,选择目标地域。​
  1. 在左侧导航栏选择 应用 > 我的应用。​
  1. 在 应用 页面,单击 创建应用。​
  1. 在 创建应用 页面,选择 Gem Browser 模板,单击 创建。​
  1. 在 创建应用 页面,配置应用参数。​
  • 基础信息​
​
配置项​
说明​
已选模板​
展示选择的模板。本场景为 Gem Browser。​
名称​
自定义应用的名称。​
备注​
填写当前应用的备注信息,可以为空。​
IAM 角色​
应用中心提供了系统默认角色 ServerlessApplicationRole,该角色包含了应用中心需要访问的部分云资源权限。​
  • 如果您的用户角色未包含此角色,将会自动添加该角色。​
  • 如果您的用户角色已包含此角色,系统会自动检测该角色是否已包含当前应用需要的所有策略。当缺少相关策略时,控制台会提示需要添加的策略名称,请单击 添加策略 进行添加。​
注意​
  • IAM 用户需确保已授权 IAMReadOnlyAccess 策略,否则无权限获取 ServerlessApplicationRole 角色信息。​
  • IAM 用户如需进一步为 ServerlessApplicationRole 角色添加策略,需确保已授权 IAMFullAccess 策略。​
  • 更多 IAM 用户的角色相关操作,请参见 IAM 文档 。​
关联云服务​
展示当前应用需要使用的所有云服务名称、开通状态及开通目的。​
注意​
使用关联云服务时可能产生的计费以及对账号余额的要求,请参见相关云产品计费文档:函数服务计费说明、API 网关计费说明。​
​
  • 高级配置​
​
配置项​
说明​
地域​
展示当前应用及应用下关联云资源所在的地域。​
函数名称​
自定义函数名称。​
网关实例​
选择前提条件中准备的 API 网关实例。将在该实例下自动创建 API 网关触发器相关资源,包括:服务、Upstream、路由。​
​
  1. 单击 确定,开始创建和部署应用。​
系统将自动跳转至应用详情页面,为您实时展示应用部署日志。​
操作结果​
应用部署成功后,在应用详情页面的 云资源 列表中,单击 API 网关 下的 访问地址,即可进入您的应用交互界面。​
后续操作​
使用 All-in-One Sandbox​
支持通过 API 、SDK 和 MCP 调用 All-in-One Sandbox。​
  • API​
  • SDK​
说明​
代码实例中的 `$URL` 为 Sandbox 的访问入口,地址获取方法参见 访问沙箱实例。​
  • ​
    from agent_sandbox import Sandbox​
    from agent_sandbox.browser import Action_Click, Action_MoveTo, Action_Typing​
    ​
    # Initialize client​
    client = Sandbox(base_url="$URL")​
    ​
    # Get browser information​
    browser_info = client.browser.get_browser_info()​
    print(f"CDP URL: {browser_info.cdp_url}")​
    print(f"Viewport: {browser_info.viewport}")​
    ​
    # Take screenshot​
    screenshot_data = client.browser.take_screenshot()​
    with open("screenshot.png", "wb") as f:​
    for chunk in screenshot_data:​
    f.write(chunk)​
    ​
    # Execute GUI actions​
    # Move mouse to position​
    client.browser.execute_action(​
    request=Action_MoveTo(x=500, y=300)​
    )​
    ​
    # Click at current position​
    client.browser.execute_action(​
    request=Action_Click()​
    )​
    ​
    # Type text​
    client.browser.execute_action(​
    request=Action_Typing(text="Hello World")​
    )​
    ​
相关文档​
通过 API 或 SDK 创建沙箱实例​
除了通过函数服务控制台创建沙箱实例,你还可以通过 API 或 All-in-One SDK 创建沙箱实例。​
  • API ​
  • SDK ​
  • Python All-in-One SDK 示例如下。​
  • ​
    from __future__ import print_function​
    ​
    import os​
    import sys​
    ​
    # Add the parent directory to Python path so we can import agent_sandbox​
    sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))​
    ​
    from agent_sandbox.providers import VolcengineProvider​
    ​
    ​
    def main():​
    """​
    Main function demonstrating Volcengine provider usage.​
    """​
    # Configuration - replace with your actual credentials​
    access_key = os.getenv("VOLC_ACCESSKEY")​
    secret_key = os.getenv("VOLC_SECRETKEY")​
    region = os.getenv("VOLCENGINE_REGION", "cn-beijing")​
    ​
    # Initialize the Volcengine provider​
    provider = VolcengineProvider(​
    access_key=access_key,​
    secret_key=secret_key,​
    region=region​
    )​
    ​
    print("=== Volcengine Sandbox Provider Example ===\n")​
    ​
    function_id = "yato****"​
    ​
    print("1. Creating a sandbox...")​
    sandbox_id = provider.create_sandbox(function_id=function_id)​
    print(f"Create response: {sandbox_id}")​
    ​
    ​
    if __name__ == "__main__":​
    main()​
    ​
​
最近更新时间:2025.10.10 19:24:31
这个页面对您有帮助吗?
有用
有用
无用
无用