Orchestrator
v2023.4
バナーの背景画像
Orchestrator ユーザー ガイド
最終更新日 2024年3月4日

ストレージ プロバイダー間でバケット データを移動する

ストレージ バケット データをあるプロバイダーから別のプロバイダーに転送することが必要になる場合もあります。

FileSystem から Orchestrator ストレージにバケット データを移行する

以下の手順では、ストレージ プロバイダーとして現在 FileSystem を利用しており、設定されているストレージの種類が FileSystem であるときに、Orchestrator に移行する場合のシナリオについて説明します。わかりやすくするため、以降は FileSystem を移行元、Orchestrator を移行先と記述します。

  1. 移行元バケットを使用するすべてのプロセスを一時停止します。
  2. 移行元バケットと同じフォルダーに Orchestrator の種類の新しいバケットを作成します。
  3. Orchestrator バケットのベース パスを特定します。Orchestrator の UiPath.Orchestrator.dll.config ファイルを開き、Storage.Type および Storage.Location キーを見つけます。Storage.TypeFileSystem である場合、ベース パスは RootPath プレフィックスの後に続く部分です。
  4. 次の SQL クエリを実行して、移行先のバケットの相対パスを特定します。
    declare @tenancyName nvarchar(64) = N'{tenant name}'
    declare @folderFullyQualifiedName nvarchar(1000) = N'{folder full path}'
    declare @destinationBucketName nvarchar(128) = N'{destination bucket name}'
    select '\)\)Orchestrator-' + LOWER(t.[Key]) + '\)\)BlobFilePersistence\)\)' +
        LOWER((select cast(b.[Identifier] as nvarchar(128))
            from dbo.Buckets b
            inner join dbo.OrganizationUnits ou
                on ou.Id = b.OrganizationUnitId
            where ou.TenantId = t.Id and ou.IsDeleted = 0 and ou.[FullyQualifiedName] = @folderFullyQualifiedName
                and b.TenantId = t.Id and b.IsDeleted = 0 and b.[Name] = @destinationBucketName))
    from dbo.Tenants t
    where t.TenancyName = @tenancyName and t.IsDeleted = 0declare @tenancyName nvarchar(64) = N'{tenant name}'
    declare @folderFullyQualifiedName nvarchar(1000) = N'{folder full path}'
    declare @destinationBucketName nvarchar(128) = N'{destination bucket name}'
    select '\)\)Orchestrator-' + LOWER(t.[Key]) + '\)\)BlobFilePersistence\)\)' +
        LOWER((select cast(b.[Identifier] as nvarchar(128))
            from dbo.Buckets b
            inner join dbo.OrganizationUnits ou
                on ou.Id = b.OrganizationUnitId
            where ou.TenantId = t.Id and ou.IsDeleted = 0 and ou.[FullyQualifiedName] = @folderFullyQualifiedName
                and b.TenantId = t.Id and b.IsDeleted = 0 and b.[Name] = @destinationBucketName))
    from dbo.Tenants t
    where t.TenancyName = @tenancyName and t.IsDeleted = 0
  5. 移行元のバケットの場所から、移行先のバケットの場所にすべてのファイルとフォルダーをコピーします。
    • ファイルとフォルダーをコピーするには、[ストレージ バケット] ページに移動し、移行元のバケットを見つけて、[編集] を選択し、[ファイルの場所] をクリックします。
    • 移行元のバケットの場所は、{ベース パス} + {相対パス} の形式になります (それぞれ手順 3.手順 4. を参照)。

      注: 相対パスの最後のセグメント (フォルダーのはずです) が存在しない場合、ファイルをコピーする前にそれを作成します。コピー操作が完了したら、Orchestrator の新しいバケットにそれらのファイルが表示されていることを確認します。
  6. 移行元のバケット名を書き留め、そのバケットを削除します。
  7. 次の SQL クエリを実行して、移行先のバケットの名前を変更します。
    declare @tenantName nvarchar(64) = N'{tenant name}'
    declare @folderFullyQualifiedName nvarchar(1000) = N'{folder full path}'
    declare @destinationBucketName nvarchar(128) = N'{destination bucket name}'
    declare @originalBucketName nvarchar(128) = N'{source bucket name}'
    update b
    set b.[Name] = @originalBucketName
    from dbo.Buckets b
    inner join dbo.Tenants t
        on b.TenantId = t.Id
    inner join dbo.OrganizationUnits ou
        on b.OrganizationUnitId = ou.Id
    where b.TenantId = t.Id and b.IsDeleted = 0 and b.[Name] = @destinationBucketName
        and ou.TenantId = t.Id and ou.IsDeleted = 0 and ou.FullyQualifiedName = @folderFullyQualifiedNamedeclare @tenantName nvarchar(64) = N'{tenant name}'
    declare @folderFullyQualifiedName nvarchar(1000) = N'{folder full path}'
    declare @destinationBucketName nvarchar(128) = N'{destination bucket name}'
    declare @originalBucketName nvarchar(128) = N'{source bucket name}'
    update b
    set b.[Name] = @originalBucketName
    from dbo.Buckets b
    inner join dbo.Tenants t
        on b.TenantId = t.Id
    inner join dbo.OrganizationUnits ou
        on b.OrganizationUnitId = ou.Id
    where b.TenantId = t.Id and b.IsDeleted = 0 and b.[Name] = @destinationBucketName
        and ou.TenantId = t.Id and ou.IsDeleted = 0 and ou.FullyQualifiedName = @folderFullyQualifiedName
  8. 手順 1 で一時停止したプロセスを再開します。
    注: FileSystem では、同じルート パスを使用する 2 つのバケットを持つことができます。Orchestrator がストレージ プロバイダーである場合、これは不可能です。このシナリオでは、アクティビティ内で単一のバケットまたは複数のフォルダー パスを使用するよう、ワークフローを再コンパイルする必要があります。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.