Asset Management

利用 AWS S3 儲存影片

(以下內容均翻譯自英文版文件,最新資訊及內容敬請切換至英文語系參考原文)

 

BlendVision One 通過直接整合現有的 AWS S3 雲端儲存空間以簡化了影片管理流程。以下部分將指導您如何設置雲端儲存空間、取得信任政策資訊、建立雲端儲存空間以及驗證空間中檔案的存在。

直接使用 S3 空間中儲存的影片

BlendVision One 支援直接使用 AWS S3 雲端儲存空間中的影片。BlendVision One 可直接從您的 S3 空間訪問影片並進行轉檔,因此無需再次下載和上傳影片。 

安全訪問 AWS S3 空間

出於安全考慮並避免暴露您的 AWS 憑證,我們採用 AWS IAM 角色為 BlendVision One 提供對您的 S3 空間的訪問權限。這種方法可確保只授予必要的權限並安全地維護這些權限。

為了在不洩露您的 AWS 憑證的情況下用於轉檔輸入或輸出以接收轉檔後的 VOD,我們將使用 AWS IAM 角色允許 BlendVision One 訪問您的 AWS S3 空間。

有關 AWS IAM 角色的更多資訊,請參照 Provide access to AWS account owned by third party.

取得 AWS 信任政策資訊

開始之前,您需要設置訪問 AWS S3 空間的權限。您可以通過向以下 API 發出 POST 請求來取得信任政策的必要資訊:

POST /bv/configurations/v1/cloud-storages/trust-policy

這將回傳一個包含以下內容的回應:

{
  "aws_account_arn": "string",
  "role_arn": "string",
  "external_id": "string"
}

信任政策是一份定義使用者、組別或角色權限的文件。以下是信任政策的範例:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Effect":"Allow",
      "Principal":{
        "AWS":"{aws_account_arn}"
      },
      "Action":"sts:AssumeRole",
      "Condition":{
        "StringEquals":{
          "sts:ExternalId":"{external_id}"
        },
        "ArnEquals":{
          "aws:PrincipalArn":"{role_arn}"
        }
      }
    }
  ]
}

建立雲端儲存空間

要建立雲端儲存空間,並在其中儲存用於轉檔的資產,請使用以下 API:

POST /bv/configuration/v1/cloud-storages

aws_storage 為 AWS S3 建立雲端儲存空間所需的參數:

名稱 類型 描述
bucket_name string AWS S3 空間名稱
path string 指向 AWS S3 空間的路徑
region string AWS S3 的地區
user_role_arn string 使用者角色 ARN,用於設置空間的權限
external_id string 外部 ID,用於識別 AWS 設置

 

您的請求主體應如下所示:

"cloud_storage":{
  "name":"your cloud storage name",
  "type":"CLOUD_STORAGE_TYPE_AWS",
  "aws_storage":{
    "bucket_name":"your AWS bucket name",
    "path":"path to your AWS bucket",
    "region":"region of your AWS S3",
    "user_role_arn":"your user role ARN",
    "external_id":"your external ID"
  }
}

成功建立雲端儲存空間後,API 將回傳一個包含新建立的儲存空間 ID 的回應。請記得設置權限,以便平台可以獲取資產或儲存輸出資料。

驗證雲端儲存空間

在開始轉檔之前,您可以使用以下 API 驗證檔案是否存在於儲存空間中:

POST /bv/cms/v1/cloud-storages/{id}:validate-file

一旦成功取得儲存空間中的檔案,就會回傳包含 file_pathfile_namefile_size 的回應。下面是一個回應範例:

{
  "id":"string",
  "file_path":"string",
  "file_name":"string",
  "file_size":"string"
}

通過這些步驟,您可以使用 BlendVision One 有效地管理影片,利用現有的 AWS S3 空間,同時確保安全訪問和使用。

更新於