[僅限SaaS]{class="badge positive" title="僅適用於Adobe Commerce as a Cloud Service和Adobe Commerce Optimizer專案(Adobe管理的SaaS基礎結構)。"}

將檔案新增至產品

Adobe Commerce as a Cloud Service支援「檔案」產品屬性輸入型別,可讓商家將檔案(例如PDF、手冊、憑證和資料表)直接附加至產品。 檔案儲存在Amazon S3媒體儲存空間,並可使用GraphQL透過店面或使用REST API的整合進行存取。

上傳檔案至產品檔案屬性的方式有三種:

  • 管理UI — 在產品編輯頁面上手動上傳檔案。
  • REST API — 使用S3預先簽署的URL,透過REST API上傳檔案。
  • 產品匯入 — 以CSV格式提供外部URL,以大量匯入檔案。

先決條件

上傳檔案之前,您必須建立檔案屬性並將其指派給屬性集。

透過管理員上傳檔案

在您建立檔案屬性並將其指派給屬性集之後,您可以直接從產品編輯頁面上傳檔案。

  1. 在​ 管理員 ​側邊欄上,移至​Catalog > Products

  2. 開啟您要編輯的產品。

  3. 找到檔案屬性欄位,然後按一下​ Upload ​以選取檔案。

在Admin 中 {width="600" modal="regular"}上傳檔案按鈕

  1. 按一下​Save

若要取代檔案,請刪除現有檔案並上傳新檔案。 上傳的檔案會儲存在Amazon S3媒體儲存空間。

透過REST API上傳

使用S3預先簽署的URL流程,以程式設計方式透過REST API上傳檔案。 此過程對產品檔案屬性的運作方式與其他媒體型別(例如類別影像和客戶屬性檔案)相同。

此程式包含四個步驟:

  1. 呼叫具有檔案名稱及產品檔案屬性POST V1/media/initiate-uploadmedia_resource_type
  2. 使用傳回的預簽署URL將檔案PUT直接傳給Amazon S3。
  3. 呼叫POST V1/media/finish-upload以確認上傳。
  4. 透過PUT /V1/products/{sku}將傳回的金鑰指派給產品的檔案屬性,並將金鑰傳遞為自訂屬性值。

透過產品匯入上傳

您可以使用匯入API或管理員匯入UI,大量附加檔案至產品。 產品檔案屬性僅支援從外部URL匯入,其方式與產品影像匯入方法2相同。 Commerce會從提供的URL下載檔案,並將其儲存至S3媒體儲存空間。

NOTE
Adobe Commerce as a Cloud Service不支援從本機伺服器路徑(方法1)匯入檔案,因為沒有直接的檔案系統存取權。

在專用欄中提供URL

使用屬性代碼作為CSV欄標題,使用完整URL作為值。 例如,如果屬性代碼為file_upload,CSV會如下所示:

sku,name,file_upload
ADB112,"My Product",https://example.com/files/manual.pdf

additional_attributes中提供URL

或者,將檔案屬性包含在additional_attributes欄中:

sku,name,additional_attributes
ADB112,"My Product",file_upload=https://example.com/files/manual.pdf

在這兩種情況下,URL都必須可公開存取,且副檔名和大小必須符合設定的限制

透過GraphQL擷取檔案

在Adobe Commerce as a Cloud Service中,目錄服務GraphQL端點會提供產品資料。 檔案屬性出現在attributes上的ProductView欄位中,value包含檔案的完整公用URL:

{
  products(skus: ["ADB112"]) {
    sku
    name
    attributes(roles: []) {
      name
      label
      value
    }
  }
}

回應包含檔案屬性及其公用URL:

{
  "data": {
    "products": [
      {
        "sku": "ADB112",
        "name": "Example product",
        "attributes": [
          {
            "name": "file",
            "label": "FILE",
            "value": "https://<host>/media/catalog/product_file/manual.pdf",
          }
        ]
      }
    ]
  }
}
NOTE
此查詢需要Magento-Website-CodeMagento-Store-View-Code標頭。 如需詳細資訊,請參閱目錄服務產品查詢

透過REST API擷取檔案

透過REST API (GET /V1/products/{sku})擷取產品時,檔案屬性會出現在custom_attributes陣列中,其檔案名稱為值:

{
  "custom_attributes": [
    {
      "attribute_code": "file_upload",
      "value": "manual_7aa0b2d63f6d3dbf.pdf"
    }
  ]
}
recommendation-more-help
2a2029a1-b458-4706-b074-f9c0c06ca6bb