オブジェクトのインポート このリソースとエクスポートリソースを一緒に使用して、オブジェクトを1つの組織から別の組織へと移行します。
オブジェクトのインポートには、一連の要求および応答が含まれます。オブジェクトをインポートするには、次のタスクを実行します。
1 ターゲット組織へのログイン2 インポートPOST要求を送信して、ZIPファイルをアップロードします。Informatica Intelligent Cloud Services により、インポートジョブのジョブIDが返されます。
3 インポートPOST要求を送信して、オブジェクトをインポートします。Informatica Intelligent Cloud Services では、「実行中」や「成功」などのインポートステータスを返すか、エラーメッセージを返します。また、応答にはエクスポートパッケージを作成した組織のソース組織IDも含まれます。
4 インポートGET要求を送信して、インポートジョブのステータスを取得します。また、ステータスをオブジェクトレベルで要求することも可能です。Informatica Intelligent Cloud Services では、インポートジョブのステータスと、要求に応じてパッケージ内の各オブジェクトのステータスを返します。
インポートパッケージのアップロード POST要求を使用してインポートパッケージをアップロードします。
POST要求 インポートパッケージをアップロードするには、次のURIを使用します。
/public/core/v3/import/package
Content-Typeの場合、次を使用します。
multipart/form-data
要求本文には、package の名前の部分を含めます。そのコンテンツでは、インポートするエクスポートZIPファイルを使用します。
Informatica Intelligent Cloud Services では、エクスポートZIPファイルの内容が作成後に変更されていないことを確認するためのチェックサム検証がデフォルトで使用されます。変更されたエクスポートZIPファイルを含むインポートパッケージをアップロードする場合は、relaxChecksumパラメータを含めて値をTrueに設定します。
次の図に、Postmanの要求本文の例を示します。
POST応答 成功した場合、インポートジョブの次の情報が返されます。
フィールド
タイプ
説明
jobId
String
インポートジョブのID。
jobStatus
Collection
パッケージのアップロードステータス。
state
String
ステータスのオブジェクトで返されます。
「実行中」、「成功」、「失敗」などインポートジョブのステータス。
message
String
ステータスのオブジェクトで返されます。
インポートジョブのステータスメッセージ。
checksumValid
Boolean
インポートパッケージのチェックサムが有効かどうかを示します。
POST応答の例 次の例のような応答を受信します。
{ "jobId": "2oZb7vFI2QQg4ncd4AyCGn", "jobStatus": { "state": "NOT_STARTED", "message": null } "checksumValid": true }
インポートジョブの開始 POST要求を使用して、インポートジョブを指定して開始します。アセット、接続、Secure Agentの設定、スケジュールなどのオブジェクトをインポートできます。
POST要求 要求には、インポートするオブジェクトのリストと、発生する可能性のある競合を解決するためのパラメータを含めます。競合の解決の例としては、ターゲット組織にある別のアセットと同じ名前を持つアセットをインポートしようとする場合が挙げられます。
コネクタのタイプとバージョンが同じであれば、ターゲット組織に存在するランタイム環境をソースランタイム環境の代わりに使用するように指定できます。ターゲット組織のランタイム環境のリストを検索するには、ルックアップリソースを使用します。
データ統合 の共有シーケンス、または入出力パラメータまたはシーケンスを含むマッピングタスクをインポートする場合は、パーシステント値を保持、リセット、または上書きすることができます。
インポートオブジェクトを指定し、インポートジョブを開始するには、次のURIを使用します。
/public/core/v3/import/<id>
<id>は、インポートパッケージのアップロードのPOST応答で受信されるインポートジョブIDです。
要求に含めるオブジェクトIDを取得するには、ルックアップリソースを使用します。詳細については、
ルックアップ を参照してください。
要求に次のフィールドを含めます。
フィールド
タイプ
必須
説明
name
String
○
インポートジョブの名前。
デフォルトの名前はjob-<currentTimeInMilliseconds>です。
importSpecification
複合型
-
インポート仕様を指定するために使用します。指定しない場合、インポートパッケージ内のすべてのオブジェクトがインポートに含まれ、デフォルトの競合解決設定が使用されます。
defaultConflictResolution
String
-
importSpecificationオブジェクトに含まれます。
既存のオブジェクトをインポートファイル内のすべてのオブジェクトで上書きするかどうかを示します。以下のオプションが含まれます。
includeObjects
Collection<String>
-
importSpecificationオブジェクトに含まれます。
インポートに含めるオブジェクト。lookupリソースを使用して、オブジェクトIDを検索できます。
指定しない場合、インポートパッケージ内のすべてのオブジェクトがインポートに含まれます。
指定したオブジェクトがプロジェクトの場合、そのプロジェクトに属するすべてのアセットと、ターゲット組織にまだ存在しないすべての依存オブジェクトがインポートに含まれます。
指定されたオブジェクトがアセットの場合、アセットのコンテナ(プロジェクト、フォルダ)が存在しないときはインポートによってこれらが作成されます。
注: 1つのインポートジョブに含めるオブジェクトは1000個以内にすることをお勧めします。
objectSpecification
Collection<複合型>
-
importSpecificationオブジェクトに含まれます。
オブジェクトのプロパティを指定します。プロパティが特定のオブジェクトに対して指定されていない場合、インポートではデフォルトの競合の解決設定を使用します。
conflictResolution
String
-
objectSpecificationオブジェクトに含まれます。
既存のアセットをインポートファイルのアセットで上書きするかどうかを示します。以下のオプションが含まれます。
- OVERWRITE。既存のアセットをインポートファイルのアセットで上書きします。- REUSE。既存のオブジェクトを使用します。オブジェクトが存在しない場合は作成されます。データ統合マッピングタスク、アプリケーション統合ガイド、B2B Gatewayサプライヤ、Data Quality ディクショナリなどのアセットに適用できます。プロジェクト、フォルダ、ランタイム環境、または接続には使用しないでください。
注: ターゲット組織に存在しない場合、インポートには、アセットに関連付けられた接続およびランタイム環境が含まれます。
sourceObjectId
String
○
objectSpecificationオブジェクトに含まれます。
エクスポートパッケージファイルのオブジェクトID。
objectSpecificationが存在する場合は必須です。
targetObjectId
String
-
objectSpecificationオブジェクトに含まれます。
コンテナ間マッピング、および一部のアセット間マッピングに使用されます。
ターゲット組織内に存在する接続またはランタイム環境を指定するために使用します。ターゲットオブジェクトで使用するコネクタのタイプとバージョンは、ソースオブジェクトで使用されているものと同じである必要があります。
mergeTags
ブール
-
objectSpecificationオブジェクトに含めます。
受信アセットタグをターゲットプロジェクトのアセットタグとマージするかどうかを指定します。
デフォルトはFalseです。
additionalProviderFlags
Collection<複合型>
-
追加のオブジェクト指定。
データ統合 の共有シーケンス、または入出力パラメータやシーケンスを含むマッピングタスクをインポートするときに、キーと値のペアを使用して、永続化された値を保持、リセット、または上書きします。
新しいアセットの場合は、キー「mapping_conflict_new」と次のいずれかの値を使用します。
- RESET。ソースで定義されている初期デフォルト値を使用してアセットを作成します。- RETAIN。ソースの現在の値を使用してアセットを作成します。既存のアセットの場合は、キー「mapping_conflict_existing」と次のいずれかの値を使用します。
- RESET。永続化された値を初期のデフォルト値にリセットします。- RETAIN。ソースからの値を無視します。- REPLACE。ターゲットに保持されている値をソースの値で上書きします。
POST要求の例 次の例のような要求を使用できます。
POST <baseApiUrl>/public/core/v3/import/2oZb7vFI2QQg4ncd4AyCGn Content-Type: application/json Accept: application/json INFA-SESSION-ID: <sessionId> { "name" : "testImportName", "importSpecification" : { "defaultConflictResolution" : "REUSE", "includeObjects" : [ "jJGyAmd8Q8odiyvToQhhAQ", "kDjmdtmJlkvfnAlWYaSe2S", "9pJkLYz9B3ucEj4wpXjqg2", "0VHocWvMryobgyuGUsObMJ", "71ggUXTyXQxhb81D57aKs0" ], "objectSpecification" : [{ "sourceObjectId" : "jJGyAmd8Q8odiyvToQhhAQ", "conflictResolution" : "OVERWRITE", "additionalProviderFlags":[ { "key":"mapping_conflict_policy", "value":"RESET" } ] }, { "sourceObjectId": "kDjmdtmJlkvfnAlWYaSe2S", "conflictResolution": "OVERWRITE" }, { "sourceObjectId": "9pJkLYz9B3ucEj4wpXjqg2", "conflictResolution": "REUSE" }, { "sourceObjectId": "0VHocWvMryobgyuGUsObMJ", "conflictResolution": "REUSE" }, { "sourceObjectId": "71ggUXTyXQxhb81D57aKs0", "conflictResolution": "REUSE" }] } } }
POST応答 成功した場合、インポートジョブの次の情報が返されます。
フィールド
タイプ
説明
jobId
String
インポートジョブのID。
createTime
String
インポートジョブが作成された時刻。
updateTime
String
インポートジョブの最終更新時刻。
name
String
インポートジョブの名前。
startTime
String
インポートジョブの開始時刻。
endTime
String
インポートジョブの終了時刻。
status
Collection
パッケージのアップロードステータス。
state
String
ステータスのオブジェクトで返されます。
「実行中」、「成功」、「失敗」など個々のオブジェクトのインポート状態。
message
String
ステータスのオブジェクトで返されます。
インポートジョブのステータスメッセージ。
objects
Collection
インポートジョブに含まれるオブジェクト。
sourceOrgId
String
インポートされたエクスポートパッケージを作成した組織の組織ID。
POST応答の例 成功した場合、次の例のような応答を受信します。
{ "id": "2oZb7vFI2QQg4ncd4AyCGn", "createTime": "2024-02-26T08:40:09.000Z", "updateTime": "2024-02-26T08:55:53.238Z", "name": "ImportName", "startTime": "2024-02-26T08:55:53.232Z", "endTime": "2024-02-26T08:53:03.000Z", "status": { "state": "IN_PROGRESS", "message": "In Progress." }, "objects": null, "sourceOrgId": "0VOx1gScNH7dlDyA4tD8yX" }
エラーを受信した場合、次の例のような応答が表示されます。
{ "error": { "code": "MigrationSvc_040", "message": "User does not have required permissions.", "requestId": "2ataXVlgw3ydI1Yb2MA4sq" } }
インポートジョブのステータスの取得 GET要求を使用して、インポートジョブのステータスを取得するか、インポートジョブのログをダウンロードします。
GET要求 インポートジョブのステータスを取得するには、次のいずれかのURIを使用します。<id>はインポートジョブのIDです。
• インポートジョブのステータスを受け取るには、次のいずれかのURIを使用します。/public/core/v3/import/<id>
• インポートジョブ内の各オブジェクトのステータスを受け取るには、次のいずれかのURIを使用します。/public/core/v3/import/<id>?expand=objects
インポートジョブのログをダウンロードするには、次のURIを使用します。
/public/core/v3/import/<id>/log
GET応答 インポートジョブのログを要求すると、ログがテキストファイルで返されます。
ステータスを要求すると、次のようなインポートステータス情報が返されます。
フィールド
タイプ
説明
id
String
インポートジョブのID。
createTime
String
インポートジョブが作成された時刻。
updateTime
String
インポートジョブの最終更新時刻。
name
String
インポートジョブの名前。
startTime
String
インポートジョブの開始時刻。
endTime
String
インポートジョブの終了時刻。
status
複合型
パッケージのアップロードステータス。
state
String
ステータスのオブジェクトで返されます。
「実行中」、「成功」、「失敗」などインポートジョブのステータス。
message
String
ステータスのオブジェクトで返されます。
インポートジョブのステータスメッセージ。
sourceOrgId
String
インポートされたエクスポートパッケージを作成した組織のID。
objects
コレクション
インポートに含まれるオブジェクト。
sourceObject
コレクション
objectsオブジェクトで返されます。
インポートに含まれるオブジェクト。
id
String
sourceObjectオブジェクトで返されます。
インポートに含まれるオブジェクトのグローバル一意識別子。
name
String
sourceObjectオブジェクトで返されます。
インポートに含まれるオブジェクトの名前。
path
String
sourceObjectオブジェクトで返されます。
インポートに含まれるオブジェクトの完全なパス。
type
String
sourceObjectオブジェクトで返されます。
インポートに含まれるオブジェクトのタイプ。
description
String
sourceObjectオブジェクトで返されます。
インポートに含まれるオブジェクトの説明。
targetObject
Collection
objectsオブジェクトで返されます。
ターゲットオブジェクト。
id
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトのグローバル一意識別子。
name
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトの名前。
path
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトの完全なパス。
type
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトのタイプ
description
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトの説明。
status
String
targetObjectオブジェクトで返されます。
ターゲットオブジェクトのステータス。
status
複合型
objectsオブジェクトで返されます。
個々のオブジェクトのインポートステータス。
state
String
ステータスのオブジェクトで返されます。
「実行中」、「成功」、「失敗」など個々のオブジェクトのインポート状態。
message
String
ステータスのオブジェクトで返されます。
個々のオブジェクトのインポートステータスメッセージ。
GET応答の例 インポートジョブのステータスに対する要求が成功すると、次の例のような応答を受け取ります。
{ "id": "2oZb7vFI2QQg4ncd4AyCGn", "createTime": "2017-10-26T08:40:09.000Z", "updateTime": "2017-10-26T08:55:56.000Z", "name": "ImportName", "startTime": "2017-10-26T08:55:53.000Z", "endTime": "2017-10-26T08:55:56.000Z", "status": { "state": "SUCCESSFUL", "message": "Import completed successfully." }, "objects": null, "sourceOrgId": "0VOx1gScNH7dlDyA4tD8yX" }
要求に個々のオブジェクトのインポートステータスが含まれていた場合、成功時の応答は次の例のようになります。
{ "id": "2oZb7vFI2QQg4ncd4AyCGn", "createTime": "2017-10-26T08:40:09.000Z", "updateTime": "2017-10-26T08:55:56.000Z", "name": "ImportName", "startTime": "2017-10-26T08:55:53.000Z", "endTime": "2017-10-26T08:55:56.000Z", "status": { "state": "SUCCESSFUL", "message": "Import completed successfully." }, "objects": [ { "sourceObject": { "id": "ejZY66c19YUccBdbGwKG4P", "name": "M1", "path": "/Default", "type": "MAPPING", "description": "ab" }, "targetObject": { "id": null, "name": "M1", "path": "/default1", "type": "MAPPING", "description": null, "status": null }, "status": { "state": "SUCCESSFUL", "message": "Reuse existing." } }, { "sourceObject": { "id": "iIVBNZSpUKFg4N6g2PKUox", "name": "abc_map", "path": "/Default", "type": "MAPPING", "description": "" }, "targetObject": { "id": null, "name": "abc_map", "path": "/default1", "type": "MAPPING", "description": null, "status": null }, "status": { "state": "SUCCESSFUL", "message": "Overwrite existing." } } ], "sourceOrgId": "0VOx1gScNH7dlDyA4tD8yX" }
インポートジョブのログを要求した場合、返されるテキストファイルの内容は次の例のようになります。
> OIE_002 INFO 2019-02-07T01:02:24.986Z Starting import operation. Execution Client: API Job Name: ImportExportMapping2-1541009746833 Organization: infa.doc RequestId: 68srkYNhdSkdKCKfLBGxyd User: janer2 > OIE_006 INFO 2019-02-07T01:02:25.416Z Successfully imported object [/Explore/ImportExport] of type [Project] id [3z0FL8tjqEbizNwVBV9LWR] to [/Explore/ImportExport] > OIE_006 INFO 2019-02-07T01:02:25.931Z Successfully imported object [/SYS/CustFF] of type [SAAS_CONNECTION] id [76c7oud5pBzlyAC3tdfVK2] to [/SYS/CustFF] > OIE_006 INFO 2019-02-07T01:02:26.598Z Successfully imported object [/Explore/ImportExport/ImportExportMapping2] of type [MAPPING] id [09wsnChCzUYl9OWCy6PKIe] to [/Explore/ImportExport/ImportExportMapping2] > OIE_003 INFO 2019-02-07T01:02:26.598Z Finished import operation. Job Name: ImportExportMapping2-1541009746833 Start Time: 2019-02-07T01:02:24.915Z End Time: 2019-02-07T01:02:26.598Z Started by: janer2 Start Method: API Source Organization: infadoc2 Status: SUCCESSFUL