릴리스 노트
go get -u github.com/tencentcloud/tencentcloud-sdk-gogo get -u github.com/tencentyun/cos-go-sdk-v5go get -u github.com/tencentyun/vod-go-sdk
import ("github.com/tencentyun/vod-go-sdk")client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"
import ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common")req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")
rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)
package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")req.CoverFilePath = common.StringPtr("/data/video/Wildlife-cover.png")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)fmt.Println(*rsp.Response.CoverUrl)}
Procedure 매개변수를 설정할 수 있으며, 업로드 성공 시 태스크 플로우가 자동으로 실행됩니다.package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")req.Procedure = common.StringPtr("Your Proceducre Name")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")req.SubAppId = common.Uint64Ptr(101)rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
StorageRegion 속성을 통해 스토리지 리전의 영어 약칭을 설정할 수 있습니다.package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")req.StorageRegion = common.StringPtr("ap-chongqing")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
ConcurrentUploadNumber 매개변수로 지정됩니다.package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")req.ConcurrentUploadNumber = common.Uint64Ptr(5)rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "Credentials TmpSecretId"client.SecretKey = "Credentials TmpSecretKey"client.Token = "Credentials Token"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt""net/http""net/url")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"proxyUrl, _ := url.Parse("your proxy url")client.Transport = &http.Transport{Proxy: http.ProxyURL(proxyUrl),}req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/Wildlife.mp4")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)}
../는 사용할 수 없음)에 위치해야 합니다. SDK의 업로드 API를 호출할 때 MediaFilePath 매개변수로 manifest 경로를 입력하면 SDK가 관련 미디어 파일 목록을 파싱하여 함께 업로드합니다.package mainimport ("github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentyun/vod-go-sdk""fmt")func main() {client := &vod.VodUploadClient{}client.SecretId = "your secretId"client.SecretKey = "your secretKey"req := vod.NewVodUploadRequest()req.MediaFilePath = common.StringPtr("/data/video/prog_index.m3u8")rsp, err := client.Upload("ap-guangzhou", req)if err != nil {fmt.Println(err)return}fmt.Println(*rsp.Response.FileId)fmt.Println(*rsp.Response.MediaUrl)fmt.Println(*rsp.Response.CoverUrl)}
VodUploadClient속성 이름 | 속성 설명 | 유형 | 필수 입력 |
secretId | Tencent Cloud API 키 ID. | String | Yes |
secretKey | Tencent Cloud API Key. | String | Yes |
VodUploadRequest속성 이름 | 속성 설명 | 유형 | 필수 입력 |
MediaFilePath | 업로드할 미디어 파일의 경로로, 로컬 경로여야 하며 URL을 지원하지 않습니다. | String 포인터 | Yes |
SubAppId | uint64 포인터 | No | |
MediaType | String 포인터 | No | |
MediaName | 업로드된 미디어 파일의 이름입니다. 이 매개변수를 비워두면 기본적으로 MediaFilePath의 파일 이름이 사용됩니다. | String 포인터 | No |
CoverFilePath | 업로드할 커버 파일의 경로로, URL을 지원하지 않는 로컬 경로여야 합니다. | String 포인터 | No |
CoverType | String 포인터 | No | |
Procedure | String 포인터 | No | |
ExpireTime | String 포인터 | No | |
ClassId | int64 포인터 | No | |
SourceContext | 최대 250자의 소스 컨텍스트로, 사용자 요청 정보를 전달하는 데 사용되며 업로드 콜백 API에서 반환됩니다. | String 포인터 | No |
StorageRegion | String 포인터 | No | |
ConcurrentUploadNumber | 대용량 파일이 여러 파트로 업로드될 때 유효한 동시 파트 수입니다. | Integer | No |
VodUploadResponse속성 이름 | 속성 설명 | 유형 |
Response | 결과 정보 업로드 및 반환 | struct |
Response.FileId | 미디어 파일의 고유 ID. | String 포인터 |
Response.MediaUrl | 미디어 재생 주소. | String 포인터 |
Response.CoverUrl | 미디어 커버 주소. | String 포인터 |
Response.RequestId | 요청의 고유 ID. 각 요청은 고유한 ID를 반환합니다. 문제를 해결하려면 RequestId가 필요합니다. | String 포인터 |
VodUploadClient.Upload(region string, request *VodUploadRequest)매개변수 이름 | 매개변수 설명 | 유형 | 필수 입력 |
region | String | Yes | |
request | 업로드 요청. | VodUploadRequest 포인터 | Yes |
상태 코드 | 설명 |
InternalError | 내부 오류. |
InvalidParameter.ExpireTime | 잘못된 매개변수 값: 만료 시간. |
InvalidParameterValue.CoverType | 잘못된 매개변수 값: 커버 유형. |
InvalidParameterValue.MediaType | 잘못된 매개변수 값: 미디어 유형. |
InvalidParameterValue.SubAppId | 잘못된 매개변수 값: 서브 애플리케이션 ID. |
InvalidParameterValue.VodSessionKey | 잘못된 매개변수 값: VOD 세션 |
ResourceNotFound | 리소스가 존재하지 않음. |
피드백