本文介紹如何將AppServer整合到專案中,包含配置說明、專案整合和問題排查。
重要
如果您想快速體驗,可參考快速開始瞭解使用流程。
調用ApsaraVideo for VOD實體類和播單類介面需提交工單加白後方可使用。
SDK 整合與下載
下載說明 | 下載地址 |
GitHub |
環境要求
類別 | 要求 | ||||||
開發環境 | 適用於Spring Boot2.6.6及以上版本。 | ||||||
系統版本 | 適用於JDK 1.8及以上版本,Maven3.x及以上版本。 | ||||||
開發工具 | IDE版本:5.0.3.402,不限Windows、Mac或Linux等裝置系統。 | ||||||
前提條件
請確保已提前擷取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>專案整合
設定檔。
在
application.yml檔案中進行如下配置:server: port: 9000 aliyun: vod: # 阿里雲 AccessKeyId(必填) # 擷取方式:https://ram.console.alibabacloud.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引入核心服務。
將以下包複製到專案中:
com.aliyun.appserver/ ├── config/ # 配置類 ├── controller/ # 控制器 ├── service/ # 服務介面 ├── service/impl/ # 服務實現 ├── dto/ # 資料轉送對象 ├── entity/ # 實體類 ├── result/ # 統一返回結果 └── jwt/ # JWT 工具配置啟動。
@SpringBootApplication @ComponentScan(basePackages = "com.aliyun.appserver") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
配置驗證
啟動專案。
# Maven 構建 mvn clean package # 運行專案 java -jar target/VodAppServer-1.0-SNAPSHOT.jar # 或使用 Maven 直接運行 mvn spring-boot:run說明查看開機記錄,確認顯示:VOD用戶端初始化成功,Region: xxx,Region應與
application.yml檔案中配置的region一致。驗證專案。
專案啟動後,測試介面驗證配置:
# 測試播單列表介面 curl -X POST http://localhost:9000/appServer/getPlaylists \ -H "Content-Type: application/json" \ -d '{"pageNo": "1", "pageSize": "10"}'說明介面返回VOD SDK的
GetPlaylistsResponse即為成功,詳情請參見API指引。
常見問題
專案啟動報錯Failed to initialize VOD client
可以通過以下步驟排查:
請確認AccessKey有ApsaraVideo for VOD服務存取權限且配置正確。
請確認初始化成功Region與ApsaraVideo for VOD控制台開通地區一致。
請確認網路可正常訪問阿里雲服務。
介面調用跨域問題
控制器已配置 @CrossOrigin,如需自訂:
@CrossOrigin(
origins = "http://your-domain.com",
methods = {RequestMethod.GET, RequestMethod.POST}
)