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

アップロード API (V2)

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

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

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

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

  • api/v2.0/upload - アップロード URL を要求します。
  • /api/v2.0/upload/process - リクエストを実行します。
  • api/v2.0/upload/finalize - アップロードを完了します。
注意

1000000 バイト (約 1 MB) より大きいファイルをアップロードするには、「大きなファイルをアップロードする」を参照してください。

完全なアップロード フローは、次の 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 - システム内のファイルの識別子

アップロード設定

アップロード設定は、許可されるアップロードのタイプについて、管理者またはスーパーユーザーによって定義されたコンテキストを記述します。アップロード設定は、許可されるファイル拡張子、最大ファイル サイズ、アセットを作成する必要のあるリポジトリとステータスなどをシステムに通知します。

注意

[maximum allowed file size] パラメーターは、アップロードできるファイルのサイズを Azure Blob の上限である 4.7 TB に制限します。

必要なパラメーターは、アップロード設定自体によって異なります。たとえば、ロゴをアップロードする場合は、theme という名前のパラメーターを含めて、アップロード ロゴをリンクするテーマを指定する必要があります。

既存の設定は、次のとおりです。

  • AssetUploadConfiguration
  • ImportPackageConfiguration
  • ImportLocalizationsConfiguration
  • ImportDataConfiguration

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

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

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

一部のアクションには追加のパラメーターが必要です。たとえば、import アクションでは、インポートの種類を定義する必要があります。

{
"file_name": "package.zip",
"file_size": 1000000,
"upload_configuration": {
"name": "ImportPackageConfiguration"
},
"action": {
"name": "Import",
"parameters": {
"Type": "package"
}
}
}

アップロードの実行

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

注意

返されるアップロード URL は、たとえば、/api/v2.0/upload/process?key=local-64215f47c&name=Upload_c3de2f26-8b22.jpg&expires=2020-11-20T17:00:53.1850293+00:00&signature=bQybo8zZb-Q のようになります。この生成されたアップロード URL は 5 分間のみ使用可能です。これはハードコードされた制限であり、この 5 分の時間枠内にアップロードを完了する必要があります。

アップロードの完了

アップロードを完了としてマークするには、最初のステップ (アップロードの要求) で受信した 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 - アセットの文字列識別子 (大文字と小文字を区別)
この記事を改善するための提案がある場合は、 お知らせください!