1. WebクライアントSDK

クライアントのアップロード

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

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

このSDKは、事前定義された設定のファイルをSitecore Content Hubインスタンスにアップロードするためのクライアントを提供します。サポートされている構成は次のとおりです。

  • パッケージのインポート

  • アセットの作成

  • アセットのメインファイルの更新

  • アセットの代替ファイルの更新

大事な

SDKを使用してアセットをアップロードするには、M.UploadConfiguration定義に対するRead権限が必要です。

メモ

次のコード例のclient変数は、IMClientインスタンスを参照します。Web SDKを使用する場合、変数名を選択できますが、ドキュメントではインスタンス化時にclientとも呼ばれます。

ローカルソースからのパッケージのアップロードとインポート

たとえば、次のスニペットは、ImportPackageConfigurationを使用してパッケージをアップロードおよびインポートします。

var uploadSource = new LocalUploadSource("C:\\my-package.zip");

var request = new UploadRequest(uploadSource, "ImportPackageConfiguration", "Import")
{
  ActionParameters =
  {
    { "Type", "Package" }
  }
};

// Initiate upload and wait for its completion.
var response = await client.Uploads.UploadAsync(request).ConfigureAwait(false);

ローカルファイルからアセットをアップロードして作成する

例えば、次のスニペットは、AssetUploadConfigurationを使用してアセットをアップロードして作成します。

var uploadSource = new LocalUploadSource("C:\\my-image.jpg", "my-image.jpg");

var request = new UploadRequest(uploadSource, "AssetUploadConfiguration", "NewAsset");

// Initiate upload and wait for its completion.
var response = await client.Uploads.UploadAsync(request).ConfigureAwait(false);

// Extract ID of newly created asset from the location header.
var responseId = await client.LinkHelper.IdFromEntityAsync(response.Headers.Location).ConfigureAwait(false);

バイト配列からのアセットのアップロードと作成

警告

ByteArrayUploadSourceを使用してローカル ファイルをアップロードしないでください。これは、内容全体がメモリに保持され、基になる配列ベースの実装には約2ギガバイトの制限があるためです。代わりに、LocalUploadSourceを使用してください。

例えば、次のスニペットは、AssetUploadConfigurationを使用して新しいアセットをアップロードして作成します。

// `RetrieveBytes` is an arbitrary helper method for demonstration purposes to fetch the byte[] from a source.
var bytes = await RetrieveBytes().ConfigureAwait(false);
var uploadSource = new ByteArrayUploadSource(bytes, "my-image.jpg");

var request = new UploadRequest(uploadSource, "AssetUploadConfiguration", "NewAsset");

// Initiate upload and wait for its completion.
var response = await client.Uploads.UploadAsync(request).ConfigureAwait(false);

// Extract ID of newly created asset from the location header.
var responseId = await client.LinkHelper.IdFromEntityAsync(response.Headers.Location).ConfigureAwait(false);

リモートソースからのアセットのアップロードと作成

例えば、次のスニペットは、AssetUploadConfigurationを使用してアセットをアップロードして作成します。

var uri = new Uri("https://picsum.photos/200", UriKind.Absolute);
var uploadSource = new HttpUploadSource(_client, uri);

var request = new UploadRequest(uploadSource, "AssetUploadConfiguration", "NewAsset");

// Initiate upload and wait for its completion.
var response = await client.Uploads.UploadAsync(request).ConfigureAwait(false);

// Extract ID of newly created asset from the location header.
var responseId = await client.LinkHelper.IdFromEntityAsync(response.Headers.Location).ConfigureAwait(false);
この記事を改善するための提案がある場合は、 お知らせください!