[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を使用して統合を介してアクセスすることもできます。

製品ファイル属性にファイルをアップロードするには、次の3つの方法があります。

  • 管理者UI – 製品編集ページでファイルを手動でアップロードします。
  • REST API - S3事前署名済みURLを使用して、REST APIを介してファイルをアップロードします。
  • 製品インポート ​ - CSVで外部URLを指定して、ファイルを一括インポートします。

前提条件

ファイルをアップロードする前に、ファイル属性を作成し、属性セットに割り当てる必要があります。

管理者を介したファイルのアップロード

​ ファイル属性を作成して属性セットに割り当てたら、製品編集ページから直接ファイルをアップロードできます。

  1. 管理者 サイドバーで、Catalog > Products​に移動します。

  2. 編集する製品を開きます。

  3. ファイル属性フィールドを探し、Upload​をクリックしてファイルを選択します。

管理者 {width="600" modal="regular"}の「ファイルをアップロード」ボタン

  1. Save​をクリックします。

ファイルを置き換えるには、既存のファイルを削除し、新しいファイルをアップロードします。 アップロードされたファイルは、Amazon S3 メディアストレージに保存されます。

REST APIを介したアップロード

S3事前署名済みURL フローを使用して、REST APIを介してプログラムでファイルをアップロードします。 このプロセスは、カテゴリ画像や顧客属性ファイルなどの他のメディアタイプと同様に、製品ファイル属性に対して機能します。

プロセスには4つのステップがあります。

  1. ファイル名と製品ファイル属性のPOST V1/media/initiate-uploadを使用してmedia_resource_typeを呼び出します。
  2. 返された事前署名済みURLをPUTに使用して、ファイルを直接Amazon S3に送信します。
  3. POST V1/media/finish-uploadに電話して、アップロードを確認してください。
  4. 返されたキーをPUT /V1/products/{sku}を通じて製品のファイル属性に割り当て、キーを​ カスタム属性値として渡します。

製品の読み込みを通じてアップロード

import APIまたは管理者インポート UIを使用して、製品にファイルを一括で添付できます。 製品ファイル属性では、外部URLからの読み込みのみがサポートされます。これは、製品画像の読み込み方法2と同じ方法です。 Commerceは、指定されたURLからファイルをダウンロードし、S3 メディアストレージに保存します。

NOTE
ローカル サーバーパス (方法1)からのファイルの読み込みは、直接のファイル システム アクセスがないので、Adobe Commerce as a Cloud Serviceではサポートされていません。

専用の列に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では、Catalog Service GraphQL エンドポイントが商品データを提供します。 ファイル属性はattributesProductView フィールドに表示され、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-CodeおよびMagento-Store-View-Code個のヘッダーが必要です。 詳しくは、​ カタログサービス製品のクエリ ​を参照してください。

REST APIを使用したファイルの取得

REST APIGET /V1/products/{sku})を介して製品を取得する場合、ファイル属性はcustom_attributes配列に表示され、ファイル名は次の値になります。

{
  "custom_attributes": [
    {
      "attribute_code": "file_upload",
      "value": "manual_7aa0b2d63f6d3dbf.pdf"
    }
  ]
}
recommendation-more-help
76c6d489-ee5b-4411-84d1-033660e03d8c