1. アップロード API (V2)

アップロード API (V2)

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

アップロード API を使用すると、Sitecore Content Hub™ Web UI 以外のクライアントからアップロードできます。たとえば、Sitecore Connect for Creative Cloud™ を使用できます。

アップロード API は、次のエンドポイントを公開します。

  • api/v2.0/upload: アップロード URL を要求します。
  • api/v2.0/upload/finalize: アップロードを完了します。

完全なアップロード フローは、次の 3 つのステップで構成されます。

  1. アップロードの要求
  2. アップロードの実行
  3. アップロードの完了

アップロードの要求

アップロード URL を取得するには、POST 要求をエンドポイント api/v2.0/upload に送信します。

要求の本文は次の構造にする必要があります。

{
   "file_name":"<filename>",
   "file_size":"<filesize>",
   "upload_configuration":{
      "name":"<upload configuration name>",
      "parameters":{
         ...
      }
   },
   "action":{
      "name":"<action name>",
      "parameters":{
         ...
      }
   }
}
  • fileName: アップロードするファイルの名前
  • fileSize: アップロードするファイルのサイズ
  • upload_configuration: アップロード設定のパラメーター
  • action: ファイルに対して実行するアクション

成功した応答では、アップロード URL を含むロケーション ヘッダーと、次のように構造化された情報を含む JSON 本文が返されます。

{
   "upload_identifier": "<uploadID>",
   "fileIdentifier": "<fileID>"
}
  • upload_identifier: アップロード ジョブの識別子
  • fileIdentifier: システム内のファイルの識別子

[!注] 返されるアップロード URL は、次の例のようになります。/api/v2.0/upload/process?key=local-64215f47c&amp;name=Upload_c3de2f26-8b22.jpg&amp;expires=2020-11-20T17:00:53.1850293+00:00&amp;signature=bQybo8zZb-Q.

サポートされているアクション

ファイルに対する実行がサポートされているアクションは次のとおりです。

アクション説明
NewAsset新しいアセットを作成し、アップロードされたファイルを新しく作成したアセットのメイン ファイルとして設定します。
NewMainFile既存のアセットのアップロードされたファイルを使用して、メイン ファイルを変更します。AssetId アクション パラメーターで、更新するアセットを指定する必要があります。
NewAlternativeFile既存のアセットのアップロードされたファイルを使用して、代替ファイルを変更します。AssetId アクション パラメーターで、更新するアセットを指定する必要があります。
Importアップロードされたファイルをインポートと見なし、インポート ジョブを実行します。

アップロードの実行

最初のステップ (アップロードの要求) で受信したアップロード URL は Azure Blob Storage へのパブリック URL です。つまり、Azure Blob サービスの REST API を使用してファイルをアップロードできます。

アップロードを実行するには、POST 要求をアップロード URL に送信します。その際、要求の本文にファイルを含め、ヘッダーに認証トークン (x-auth-token) を含めます。

Azure Blob Storage への大きなファイルのアップロード

ファイルが 1,000,000 バイト (1 MB より少し小さい) より大きい場合は、1 MB 未満のチャンクに分割してから、Azure にアップロードします。

  1. アップロード URL にチャンク数パラメーターを追加します。 このパラメーターは、アップロードされるチャンクの総数を示します。
  2. アップロード URL にチャンク パラメーターを追加します。 このパラメーターは、現在の要求によってアップロードされるチャンクを示します。
  3. ファイル チャンクを 1 つずつアップロードします。
  4. チャンクのアップロードを完了します。

アップロードの完了

アップロードを完了としてマークするには、最初のステップ (アップロードの要求) で受信した JSON 応答本文を使用して、エンドポイント api/v2.0/upload/finalizePOST 要求を送信します。

{
   "upload_identifier": "<uploadID>",
   "fileIdentifier": "<fileID>"
}
  • upload_identifier: アップロード ジョブの識別子
  • fileIdentifier: システム内のファイルの識別子

成功した応答の構造は、次のようになります。

{ 
    "success": <Boolean>, 
    "message": <optional text message>, 
    "asset_id": <assetID>, 
    "asset_identifier": <assetIdentifier> 
}
  • success: アップロードのステータス
  • message: (任意) エラー メッセージまたは応答メッセージ
  • asset_id: アセットを特定する数値
  • asset_identifier: アセットの文字列識別子 (大文字と小文字を区別)
この記事を改善するための提案がある場合は、 お知らせください!