SharePoint Migration API リファレンス ガイド

このガイドでは、マニフェスト ファイルに基づいて SharePoint にコンテンツをインポートする SharePoint Migration API の使用方法について説明します。

CSOM と REST

移行 API では、SharePoint クライアント側オブジェクト モデル (CSOM) と REST の両方がサポートされています。

CSOM で NuGet パッケージを使用する

ソリューションで SharePoint クライアント側オブジェクト モデル (CSOM) を参照するには、NuGet パッケージを使用します。

依存関係を簡単に管理し、ソリューションが NuGet パッケージで最新バージョンの CSOM ライブラリを使用していることを確認します。

SHAREPoint クライアント側オブジェクト モデル ライブラリの CSOM パッケージの最新バージョンを ID Microsoft.SharePointOnline.CSOMで取得します。

REST API の手順については、「 SharePoint REST サービスを知 る」を参照してください。

CreateMigrationJob メソッド

パラメーターにインポート パッケージを指定して、新しい移行インポート ジョブを azureContainerSourceUri 作成します。

CreateMigrationJob 構文

public Guid CreateMigrationJobEncrypted(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri,
EncryptionOption AES256CBCKey
)
POST https://{site_url}/_api/site/CreateMigrationJobEncrypted
{
  "options": {
    "AES256CBCKey": "000000000000000000000000000000000000000000000000000000="
  },
  "gWebId": "00000000-0000-0000-0000-000000000000",
  "azureContainerSourceUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw",
  "azureContainerManifestUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw"
}

CreateMigrationJob パラメーター

gWebID

必須。

パッケージインポートの対象となる宛先 Web の一意識別子を含む文字列型 ( String) の値。 インポート パッケージ自体は、インポートの追加情報と識別子を指定します。 CSOM 呼び出しを使用してターゲット Web にクエリを実行することで、プログラムによってこの識別子を見つけることができます。

azureContainerSourceUri

必須です。

ブロック型のバイナリ ファイルを含む Azure Blob Storage Container にアクセスするための、SAS トークンを含む有効な URI を含む String 値。

移行で Azure Blob Storage コンテナーを使用する手順については、「SharePoint Migration API でAzure Blob Storage コンテナーと Azure キューを使用する」を参照してください。

このメソッドによって提供されていないコンテンツ コンテナーを使用する場合、Migration API には、、および List アクセス許可のみが必要Readです。 SAS トークンの開始時刻がジョブ送信の前後に設定されていることを確認します。 また、有効期限を設定する場合は、インポート プロセスが完了するまでの妥当な期間を許可します。

移行 API では、メソッドを使用してProvisionMigrationContainersプロビジョニングされたコンテナーからのアクセス許可は必要Listありません。

azureContainerManifestUri

必須です。

マニフェストのブロック BLOB と XML ファイルを記述する他のパッケージを含む、Azure Blob Storage コンテナーにアクセスするための有効な URI (SAS トークンを含む) を含む文字列型 (String) の値。 移行 API は、このコンテナーにログを書き込みます。 このコンテナーは、 に使用 azureContainerSourceUriされたものと同じにすることはできません。

移行で Azure Blob Storage コンテナーを使用する手順については、「SharePoint Migration API でAzure Blob Storage コンテナーと Azure キューを使用する」を参照してください。

このメソッドで提供されていないコンテンツ コンテナーを使用する場合、Migration API には、、List、および Write のアクセス許可のみが必要Readです。 SAS トークンの開始時刻がジョブ送信の前後に設定されていることを確認します。 また、有効期限を設定する場合は、インポート プロセスが完了するまでの妥当な期間を許可します。

azureQueueReportUri

省略可能。

移行ジョブの進行状況のためにユーザーが指定した Azure Queue にアクセスするための有効な URL (SAS トークンを含む) を含む 文字列型 (String) の値。 インポート状態の更新プログラムを受信する必要がない場合に使用 null します。

この値が ではない null場合、SAS トークンに正しいアクセス許可が含まれている場合、移行 API は、指定された URL でインポート状態の更新をキューに書き込みます。

通知キューを複数の移行ジョブ間で共有します。 移行 API は、通知キュー内の一意のジョブ ID 値を持つ各ジョブを識別します。

移行での Azure キューの使用手順については、「Azure」を参照してください。 イベントの種類については、Azure Queue の移行イベントを確認してください。

Read、、および Update のアクセス許可のみが必要Addです。 SAS トークンに他のアクセス許可がある場合、移行ジョブはキューにイベントを追加できません。

CreateMigrationJob の戻り値

ジョブ ID

移行ジョブの一意識別子であるジョブ ID を含む Guid 値。 メソッドは、ジョブの作成に null 失敗した場合に値を返します。 ジョブ ID を使用して、移行ジョブの状態をメソッドで GetMigrationJobStatus 照会します。

Guid MigrationJobId = TargetSite.CreateMigrationJob(
TargetWebId,
azureContainerSourceUri,
azureContainerManifestUri,
azureQueueReportUri);

CreateMigrationJobEncrypted メソッド

暗号化された PRIME パッケージを使用して、新しい移行インポート ジョブを作成します。

使用されているコンテナーと Azure キューの暗号化Azure Blob Storage Azure の暗号化手順を確認します。

CreateMigrationJobEncrypted 構文

public Guid CreateMigrationJobEncrypted(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri,
EncryptionOption AES256CBCKey
)
POST https://{site_url}/_api/site/CreateMigrationJobEncrypted
{
  "options": {
    "AES256CBCKey": "000000000000000000000000000000000000000000000000000000="
  },
  "gWebId": "00000000-0000-0000-0000-000000000000",
  "azureContainerSourceUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw",
  "azureContainerManifestUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw"
}

CreateMigrationJobEncrypted パラメーター

gWebIDazureContainerSourceUriazureContainerManifestUriおよび パラメーターには、メソッドと azureQueueReportUri 同じ要件 CreateMigrationJob があります。

以下の指示に従ってパラメーターを指定 EncryptionOption します。

EncryptionOption

必須です。

出力の EncryptionOption 暗号化を解除するために使用される AES256CBCKey を含む オブジェクト。

移行 API は、AES256CBCKey キーを指定して出力を暗号化します。

詳細については、 [EncryptionOption](https://video2.skills-academy.com/en-us/dotnet/api/microsoft.sharepoint.client.encryptionoption) クラスに関するページを参照してください。

CreateMigrationJobEncrypted 戻り値

メソッドの戻り値に関するページを CreateMigrationJob 参照してください。

GetMigrationJobStatus メソッド

指定された移行ジョブの処理状態を取得します。

移行 API は、完了した移行ジョブをタイマー ジョブ キューから削除します。 通知キューまたはログ出力でインポート結果を確認します。

GetMigrationJobStatus 構文

[ClientNS.ClientCallableMethod]
public SPMigrationJobState GetMigrationJobStatus(Guid MigrationJobId)

GetMigrationJobStatus パラメーター

ID

必須です。

移行ジョブ ID を含む Guid 値が から CreateMigrationJob返されます。

GetMigrationJobStatus 戻り値

SPMigrationJobState移行ジョブの状態を格納する オブジェクト。

GetMigrationJobStatus の例

SPMigrationJobState CurrentJobState = TargetSite.GetMigrationJobStatus(MigrationJobId);

SPMigrationJobState 列挙型

インポート キュー内の移行ジョブの状態を表すメンバーが含まれます。

SPMigrationJobState メンバー

なし

値: 0

キューには、ジョブ ID を持つ移行ジョブが含まれません。 考えられる理由は次のとおりです。

  • 移行 API によってジョブが完了し、キューから削除されました。
  • ジョブ ID が無効です。

キューに登録済み

値: 2

キューには移行ジョブが含まれています。 移行 API はジョブを処理していません。

Processing

値: 4

キューには移行ジョブが含まれています。 移行 API がジョブを処理しています。