通過閱讀本文,您可以了解通過服務端SDK調用OpenAPI發起并查詢智能媒體服務截圖任務的示例代碼。
使用說明
發起截圖任務前,需要先創建截圖模板。通過TemplateId(截圖模板ID)發起截圖任務,發起截圖任務時,支持對截圖模板參數進行覆蓋重置,截圖任務處理成功后,可以根據返回的JobId(任務ID)查詢該截圖任務的詳細信息、截圖任務列表及截圖的訪問URL。
示例代碼
您可以通過阿里云OpenAPI開發者門戶在線調試。
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import Credential, { Config } from '@alicloud/credentials';
const Client = require('@alicloud/ice20201109').default;
const { SubmitSnapshotJobRequestOutput, SubmitSnapshotJobRequestInput, SubmitSnapshotJobRequestTemplateConfig } = require('@alicloud/ice20201109');
// 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
// 本示例以將AccessKey ID和 AccessKey Secret保存在環境變量為例說明。配置方法請參見:http://bestwisewords.com/document_detail/378664.html。
const cred = new Credential();
const iceClient = new Client(new $OpenApi.Config({
credential: cred,
endpoint: 'ice.cn-shanghai.aliyuncs.com'
}));
// 如需硬編碼AccessKey ID和AccessKey Secret,代碼如下,但強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
// const iceClient = new Client(new $OpenApi.Config({
// accessKeyId: '<yourAccessKeyId>',
// accessKeySecret: '<yourAccessKeySecret>',
// endpoint: 'ice.cn-shanghai.aliyuncs.com'
// }));
// 創建自定義截圖模版。
var snapshotTemplateconfig = "{\"Type\":\"Normal\",\"FrameType\":\"normal\",\"Time\":0,\"Count\":10}";
iceClient.createCustomTemplate({
name: "snapshotTestTemplate",
templateConfig: snapshotTemplateconfig,
type: 2
}).then(function (data) {
console.log(data.body);
}, function (err) {
console.log('Error:' + err);
});
// 提交截圖任務。
iceClient.submitSnapshotJob({
input: new SubmitSnapshotJobRequestInput({
media: "6e9082b0507a71ed992190959850****",
type: "Media"
}),
output: new SubmitSnapshotJobRequestOutput({
media: "6e9082b0507a71ed992190959850****",
type: "Media"
}),
templateConfig: new SubmitSnapshotJobRequestTemplateConfig({
templateId: "8cf4c16c383f4a1f85b89c222a8f****"
})
}).then(function (data) {
console.log(data.body);
}, function (err) {
console.log('Error:' + err);
});
// 查詢截圖任務。
var jobId = "c899056c1e26442cb6c0b7676875****";
iceClient.getSnapshotJob({
jobId: jobId
}).then(function (data) {
console.log(data.body);
}, function (err) {
console.log('Error:' + err);
});
// 獲取截圖任務列表。
iceClient.listSnapshotJobs({
pageSize: 5
}).then(function (data) {
console.log(data.body);
}, function (err) {
console.log('Error:' + err);
});
// 獲取截圖任務輸出圖片的訪問URL。
var jobId = "c899056c1e26442cb6c0b7676875****";
iceClient.getSnapshotUrls({
jobId: jobId,
pageSize: 5
}).then(function (data) {
console.log(data.body);
}, function (err) {
console.log('Error:' + err);
});
相關接口
文檔內容是否對您有幫助?