集成微短剧方案-App Server

本文介绍如何将AppServer集成到项目中,包含配置说明、项目集成和问题排查。

重要
  • 如果您想快速体验,可参考快速开始了解使用流程。

  • 调用视频点播实体类和播单类接口需提交工单加白后方可使用。

SDK 集成与下载

下载说明

下载地址

GitHub

GitHub地址

环境要求

类别

要求

开发环境

适用于Spring Boot2.6.6及以上版本。

系统版本

适用于JDK 1.8及以上版本,Maven3.x及以上版本。

开发工具

IDE版本:5.0.3.402,不限Windows、MacLinux等设备系统。

前提条件

请确保已提前获取AccessKey,详情请参见创建AccessKey

配置依赖

在项目pom.xml文件中添加以下依赖:

说明

依赖项需升级至2.16.39及以上版本。

<dependencies>
    <!-- Spring Boot Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- 阿里云核心 SDK -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.6.3</version>
    </dependency>

    <!-- 阿里云 VOD SDK本地jar包引用 -->
   <dependency>
      <groupId>com.aliyun-inner</groupId>
      <artifactId>aliyun-java-sdk-vod</artifactId>
      <scope>system</scope>
      <version>2.16.34</version>
      <systemPath>${project.basedir}/src/main/resources/lib/aliyun-java-sdk-vod-2.16.34.jar</systemPath>
   </dependency>

   <!-- 阿里云 VOD SDK -->
   <!-- 使用fc部署是需要添加依赖项并注释调本地jar包引用 -->
    <dependency>
        <groupId>com.aliyun.inner</groupId>
        <artifactId>aliyun-java-sdk-vod</artifactId>
        <version>2.16.39</version>
    </dependency>

    <!-- 阿里云 VOD 上传 SDK -->
    <dependency>
        <groupId>com.aliyun.vod</groupId>
        <artifactId>aliyun-java-vod-upload</artifactId>
        <version>1.4.15</version>
    </dependency>

    <!-- 阿里云 OSS SDK -->
    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.17.3</version>
    </dependency>

    <!-- 阿里云 STS SDK -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-sts</artifactId>
        <version>3.0.0</version>
    </dependency>

    <!-- JWT 认证 -->
    <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>java-jwt</artifactId>
        <version>4.4.0</version>
    </dependency>

    <!-- Fastjson -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.83</version>
    </dependency>

    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

项目集成

  1. 配置文件。

    application.yml文件中进行如下配置:

      server:
        port: 9000
    
    aliyun:
      vod:
        # 阿里云 AccessKeyId(必填)
        # 获取方式:https://ram.console.aliyun.com/manage/ak
        ak: YOUR_ACCESS_KEY_ID
        
        # 阿里云 AccessKeySecret(必填)
        sk: YOUR_ACCESS_KEY_SECRET
        
        # 地域标识(Region ID,必填)
        # 必须与 VOD 控制台中开通服务的区域一致
        # 当前支持的地域:
        #   - 上海:cn-shanghai(默认,推荐)
        #   - 北京:cn-beijing
        #   - 深圳:cn-shenzhen
        #   - 新加坡:ap-southeast-1
        # 后续考虑支持:美西(us-west-1)
        region: cn-shanghai
  2. 引入核心服务。

    将以下包复制到项目中:

    com.aliyun.appserver/
    ├── config/          # 配置类
    ├── controller/      # 控制器
    ├── service/         # 服务接口
    ├── service/impl/    # 服务实现
    ├── dto/             # 数据传输对象
    ├── entity/          # 实体类
    ├── result/          # 统一返回结果
    └── jwt/             # JWT 工具
  3. 配置启动。

    @SpringBootApplication
    @ComponentScan(basePackages = "com.aliyun.appserver")
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

配置验证

  1. 启动项目。

    # Maven 构建
    mvn clean package
    
    # 运行项目
    java -jar target/VodAppServer-1.0-SNAPSHOT.jar
    
    # 或使用 Maven 直接运行
    mvn spring-boot:run
    说明

    查看启动日志,确认显示:VOD客户端初始化成功,Region: xxx,Region应与application.yml文件中配置的region一致。

  2. 验证项目。

    项目启动后,测试接口验证配置:

    # 测试播单列表接口
    curl -X POST http://localhost:9000/appServer/getPlaylists \
      -H "Content-Type: application/json" \
      -d '{"pageNo": "1", "pageSize": "10"}'
    说明

    接口返回VOD SDKGetPlaylistsResponse即为成功,详情请参见API指引

常见问题

项目启动报错Failed to initialize VOD client

可以通过以下步骤排查:

  1. 请确认AccessKey有视频点播服务访问权限且配置正确。

  2. 请确认初始化成功Region与视频点播控制台开通区域一致。

  3. 请确认网络可正常访问阿里云服务。

接口调用跨域问题

控制器已配置 @CrossOrigin,如需自定义:

@CrossOrigin(
    origins = "http://your-domain.com",
    methods = {RequestMethod.GET, RequestMethod.POST}
)