アップロードAPI (V1)
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
アップロードAPIを使用すると、Sitecore Content Hub Web UI以外のクライアントからアップロードできます。例えば、Creative CloudのSitecore Connectを使用できます。
このバージョンのアップロードAPIは廃止され、Creative CloudコネクタのSitecore Connectでのみ使用されるようになりました。
アップロードAPIは、次のエンドポイントを公開します。
-
api/v1.0/upload: アップロードURLをリクエストします。
-
api/v1.0/upload/assets: すでにアップロードされているファイルから新しいアセットをアップロード (作成) します。
-
api/v1.0/upload/assets/{id}: 既存のアセットのマスターファイルをアップロードします。
-
api/v1.0/upload/assets/{id}/alternative: 既存のアセットの代替ファイルをアップロードします。
完全なアップロード フローは、次の3つの手順で構成されます。
-
アップロードURLをリクエストする
-
受信したURLにファイルをアップロードする
-
新しいアセットをアップロードまたは作成するか、既存のアセットをマスターファイルまたは代替ファイルで更新します
アップロードURLをリクエストする
アップロードURLを取得するには、エンドポイントapi/v1.0/uploadにPOSTリクエストを送信します。
リクエストフォームの本文には、次のフィールドが含まれている必要があります。
-
fileName - アップロードするファイルの名前。
-
fileSize - アップロードするファイルのサイズ。
応答が成功すると、locationヘッダーのアップロードURLと、次のように構造化された情報を含むJSON本文が返されます。
-
fileIdentifierは、システム内のファイルの識別子を表します。
-
storageIdentifierは、ファイルが保存されている場所を表します。nullにすることも、JSONに存在しないこともあります。
アップロードURLはAzureストレージBLOBを指しています。
受信したURLにファイルをアップロードする
受信したアップロードURLは、AzureストレージBLOBへのパブリックURLであるため、Azure BLOBサービスREST APIを使用してファイルをアップロードできます。
アップロードを実行するには、次の必須ヘッダーを含むPUTリクエストをアップロードURLに送信します。
-
x-ms-blob-type: Azureは、値がBlockBlobであると想定しています。
-
x-ms-blob-content-type: ファイルのcontent-type 。
-
x-ms-meta-Filename: ファイルのname 。
大きなファイルをAzure Blob Storageにアップロードする
ファイルが200 MBを超える場合は、ファイルを分割し、クエリ文字列パラメーターを使用してアップロードURLを拡張して、各ブロックを個別にAzureに送信しますcomp=block&blockid={blockid}
-
blockidは、ブロックを識別するための有効なBase64文字列値です。
-
特定のBLOBでは、指定されたblockid値の長さは、各ブロックで同じサイズである必要があります。
すべてのブロックが送信されたら、アップロードURLに別のリクエストを送信して、アップロードが完了したこと、およびすべてのブロックをまとめる必要があることを通知します。
-
アップロードURLをクエリ文字列パラメーター comp=blocklistで拡張します。
-
リクエストの本文はXML形式である必要があり、blockidを使用してブロックをロードする順序を指定する必要があります。
次のコード スニペットは、blockidを使用してブロックを読み込む方法を示しています。
この最終リクエストには、次のヘッダーが必要です。
-
x-ms-blob-content-type: ファイルのcontent-type 。
-
x-ms-meta-Filename: ファイルの特定のname 。
詳細については、Azureのputブロック のドキュメントを参照してください。さらに、JavaScript Azure SDKを使用して、前述のアクションを実行できます。
新しいアセットをアップロードまたは作成するか、既存のアセットをマスターファイルまたは代替ファイルで更新します
アップロードしたファイルから新しいアセットを作成するには、api/v1.0/upload/assetsにPOSTリクエストを送信します。
既存のアセットのマスターファイルをアップロードするには、アセットのIDを使用してPOSTリクエストをapi/v1.0/upload/assets/{id} に送信します。
既存のアセットの代替ファイルをアップロードするには、アセットのIDを使用してapi/v1.0/upload/assets/{id}/alternativeにPOSTリクエストを送信します。
いずれの場合も、要求本文には、以前に受信したJSONコンテンツが含まれている必要があります。
アップロードは、アップロード設定を使用して処理されます。アップロード設定には、次のものが含まれます。
-
maximum allowed file sizeは、アップロードできるファイルのサイズを制限します。
-
disallowed extensionsは、アップロードが許可されていないファイル拡張子を定義します。
-
DefaultUploadConfigurationは、デフォルトの設定を定義します。
スーパーユーザーは、ApiUploadConfigurationsettingを使用して、リポジトリと作成されたアセットのライフサイクルのアップロード設定を上書きできます。この設定を変更するには、メニュー バーでManageをクリックし、ManageページでSettingsをクリックします。 PortalConfigurationでApiUploadConfigurationsettingを選択します。