

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Neptune Loader Get-Status API
<a name="load-api-reference-status"></a>

`loader` ジョブのステータスを取得します。

ロードステータスを取得するには、`https://your-neptune-endpoint:port/loader` エンドポイントに、HTTP `GET` リクエストを送信する必要があります。特定のロードリクエストのステータスを取得するには、URL パラメータに `loadId` を含めるか、`loadId` を URL パスに追加する必要があります。

Neptune は、直近 1,024 個のバルクロードジョブのみを追跡し、ジョブごとに直近 10,000 個のエラーの詳細のみを保存します。

エラー発生時にローダーから返されるエラーおよびフィードメッセージのリストについては、[Neptune ローダーのエラーおよびフィードメッセージ](loader-message.md) を参照してください。

**Contents**
+ [Neptune Loader Get-Status リクエスト](load-api-reference-status-requests.md)
  + [Loader Get-Status リクエストの構文](load-api-reference-status-requests.md#load-api-reference-status-request-syntax)
  + [Neptune Loader Get-Status リクエストパラメータ](load-api-reference-status-requests.md#load-api-reference-status-parameters)
+ [Neptune Loader Get-Status レスポンス](load-api-reference-status-response.md)
  + [Neptune Loader Get-Status レスポンスのレイアウト](load-api-reference-status-response.md#load-api-reference-status-response-layout)
  + [Neptune Loader Get-Status `overallStatus` および `failedFeeds` レスポンスオブジェクト](load-api-reference-status-response.md#load-api-reference-status-response-objects)
  + [Neptune Loader Get-Status `errors` レスポンスオブジェクト](load-api-reference-status-response.md#load-api-reference-status-errors)
  + [Neptune Loader Get-Status `errorLogs` レスポンスオブジェクト](load-api-reference-status-response.md#load-api-reference-error-logs)
+ [Neptune Loader Get-Status の例](load-api-reference-status-examples.md)
  + [ロードステータスのリクエスト例](load-api-reference-status-examples.md#load-api-reference-status-examples-status-request)
  + [loadId のリクエストの例](load-api-reference-status-examples.md#load-api-reference-status-examples-loadId-request)
  + [詳細なステータスのリクエストの例](load-api-reference-status-examples.md#load-api-reference-status-examples-details-request)
+ [Neptune Loader Get-Status `errorLogs` の例](load-api-reference-error-logs-examples.md)
  + [エラー発生時の詳細なステータス応答の例](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-details-request-errors)
  + [`Data prefetch task interrupted` エラーの例](load-api-reference-error-logs-examples.md#load-api-reference-status-examples-task-interrupted)

# Neptune Loader Get-Status リクエスト
<a name="load-api-reference-status-requests"></a>

## Loader Get-Status リクエストの構文
<a name="load-api-reference-status-request-syntax"></a>

```
GET https://your-neptune-endpoint:port/loader?loadId=loadId
```

```
GET https://your-neptune-endpoint:port/loader/loadId
```

```
GET https://your-neptune-endpoint:port/loader
```

## Neptune Loader Get-Status リクエストパラメータ
<a name="load-api-reference-status-parameters"></a>
+ **`loadId`** - ロードジョブの ID。`loadId` を指定しないと、ロード ID のリストが返されます。
+ **`details`** - 全体的なステータスを超えた詳細を含めます。

  *使用できる値*: `TRUE`、`FALSE`。

  *デフォルト値*: `FALSE`。
+ **`errors`** - エラーのリストを含めます。

  *使用できる値*: `TRUE`、`FALSE`。

  *デフォルト値*: `FALSE`。

  エラーのリストはページ分割されます。`page` および `errorsPerPage` パラメータで、すべてのエラーをページ分割できます。
+ **`page`** - エラーページ番号。`errors` パラメータが `TRUE` に設定されている場合にのみ有効です。

  *使用できる値*: 正の整数。

  *デフォルト値*: 1。
+ **`errorsPerPage`** - 各ページあたりのエラーの数。`errors` パラメータが `TRUE` に設定されている場合にのみ有効です。

  *使用できる値*: 正の整数。

  *デフォルト値*: 10。
+ **`limit`** - 一覧表示されるロード ID の数。`loadId` が指定されていない `GET` リクエストを送信して、ロード ID のリストをリクエストするときにのみ有効です。

  *使用できる値*: 1～100 の正の整数。

  *デフォルト値*: 100。
+ **`includeQueuedLoads`** - ロード ID のリストがリクエストされたときに、キューに入れられたロードリクエストのロード ID を除外するために使用できるオプションのパラメータ。

  デフォルトでは、ステータスが `LOAD_IN_QUEUE` のすべてのロードジョブのロード ID がこのようなリストに含まれます。これらは、他のジョブのロード ID の前に表示され、キューに追加された時間順に最新のものから古いものにソートされます。

  *使用できる値*: `TRUE`、`FALSE`。

  *デフォルト値*: `TRUE`。

# Neptune Loader Get-Status レスポンス
<a name="load-api-reference-status-response"></a>

 Neptune Get-Status API からの次のレスポンスの例では、レスポンスの全体的な構造、さまざまなフィールドとそれらのデータ型、およびエラー処理とエラーログの詳細について説明します。

## Neptune Loader Get-Status レスポンスのレイアウト
<a name="load-api-reference-status-response-layout"></a>

ローダーステータスレスポンスの一般的なレイアウトは次のとおりです。

```
{
    "status" : "200 OK",
    "payload" : {
        "feedCount" : [
            {
                "LOAD_FAILED" : number
            }
        ],
        "overallStatus" : {
            "fullUri" : "s3://bucket/key",
            "runNumber" : number,
            "retryNumber" : number,
            "status" : "string",
            "totalTimeSpent" : number,
            "startTime" : number,
            "totalRecords" : number,
            "totalDuplicates" : number,
            "parsingErrors" : number,
            "datatypeMismatchErrors" : number,
            "insertErrors" : number,
        },
        "failedFeeds" : [
            {
                "fullUri" : "s3://bucket/key",
                "runNumber" : number,
                "retryNumber" : number,
                "status" : "string",
                "totalTimeSpent" : number,
                "startTime" : number,
                "totalRecords" : number,
                "totalDuplicates" : number,
                "parsingErrors" : number,
                "datatypeMismatchErrors" : number,
                "insertErrors" : number,
            }
        ],
        "errors" : {
            "startIndex" : number,
            "endIndex" : number,
            "loadId" : "string,
            "errorLogs" : [ ]
        }
    }
}
```

## Neptune Loader Get-Status `overallStatus` および `failedFeeds` レスポンスオブジェクト
<a name="load-api-reference-status-response-objects"></a>

エラーの説明とともに、ローダーからの失敗したフィードごとに返される可能性のある応答は、`Get-Status` レスポンスの `overallStatus` オブジェクトの場合と同じです。

これらのフィールドは、すべてのロードの `overallStatus` オブジェクト、および失敗した各フィードの `failedFeeds` オブジェクトに表示されます。
+ **`fullUri`** - ロードされる 1 つ以上のファイルの URI。

  *タイプ:* *文字列*

  *形式*: `s3://bucket/key`。
+ **`runNumber`** - このロードまたはフィードの実行数。これは、ロードが再開されると増加します。

  *タイプ:* *符号なし long*。
+ **`retryNumber`** - このロードまたはフィードの再試行回数。これは、ローダーがフィードまたはロードを自動的に再試行するときに増分されます。

  *タイプ:* *符号なし long*。
+ **`status`** - ロードあるいはフィードの返されたステータス。`LOAD_COMPLETED` はロードが問題なく成功したことを示します。その他のロードステータスメッセージのリストについては、[Neptune ローダーのエラーおよびフィードメッセージ](loader-message.md) を参照してください。

  *タイプ:* *文字列*。
+ **`totalTimeSpent`** - ロードまたはフィードのデータの解析や挿入に費やした時間 (秒単位)。これには、ソースファイルのリストを取得するのに費やされた時間は含まれません。

  *タイプ:* *符号なし long*。
+ **`totalRecords`** - ロードされた、またはロードしようとした全レコード。

  *タイプ:* *符号なし long*。

  CSV ファイルからロードする場合、レコード数はロードされた行数ではなく、その行に含まれる個々のレコードの数を指すことに注意してください。例えば、次のような小さな CSV ファイルを考えてみましょう。

  ```
  ~id,~label,name,team
  'P-1','Player','Stokes','England'
  ```

  Neptune は、このファイルには次の 3 つのレコードが含まれていると見なします。

  ```
  P-1  label Player
  P-1  name  Stokes
  P-1  team  England
  ```
+ **`totalDuplicates`** - 発生した重複レコードの数。

  *タイプ:* *符号なし long*。

  `totalRecords` カウントの場合と同様に、この値には重複行の数ではなく、CSV ファイル内の個々の重複レコードの数が含まれます。例えば、次のような小さな CSV ファイルを考えてみましょう。

  ```
  ~id,~label,name,team
  P-2,Player,Kohli,India
  P-2,Player,Kohli,India
  ```

  ロード後に返されるステータスは以下のようになり、合計で 6 件のレコードが報告され、そのうちの 3 件は重複しています。

  ```
  {
    "status": "200 OK",
    "payload": {
      "feedCount": [
        {
          "LOAD_COMPLETED": 1
        }
      ],
      "overallStatus": {
        "fullUri": "(the URI of the CSV file)",
        "runNumber": 1,
        "retryNumber": 0,
        "status": "LOAD_COMPLETED",
        "totalTimeSpent": 3,
        "startTime": 1662131463,
        "totalRecords": 6,
        "totalDuplicates": 3,
        "parsingErrors": 0,
        "datatypeMismatchErrors": 0,
        "insertErrors": 0
      }
    }
  }
  ```

  openCypher ロードの場合、次の場合に重複がカウントされます。
  + ローダーは、ノードファイル内の行が、別の行または既存のノードに属する ID スペースのない別の ID 値と同じ ID スペースを持たないIDを持っていることを検出します。
  + ローダーは、ノードファイル内の行が、別の行にあるか、既存のノードに属する ID スペースを持つ別の ID 値と同じ ID スペースを持つ ID を持っていることを検出します。

  「[openCypher データのロードに関する特別な考慮事項](load-api-reference-load.md#load-api-reference-load-parameters-opencypher)」を参照してください。
+ **`parsingErrors`** - 発生した解析エラーの数。

  *タイプ:* *符号なし long*。
+ **`datatypeMismatchErrors`** - 指定されたデータとデータ型が一致しないレコードの数。

  *タイプ:* *符号なし long*。
+ **`insertErrors`** - エラーにより挿入できなかったレコード数。

  *タイプ:* *符号なし long*。

## Neptune Loader Get-Status `errors` レスポンスオブジェクト
<a name="load-api-reference-status-errors"></a>

エラーは以下のカテゴリに分類されます。
+ **`Error 400`** - `loadId` が無効の場合、HTTP `400` 無効な要求エラーが返されます。エラーを説明するメッセージ。
+ **`Error 500`** - 処理できない有効なリクエストは、HTTP `500` 内部サーバーエラーを返します。エラーを説明するメッセージ。

エラー発生時にローダーから返されるエラーおよびフィードメッセージのリストについては、[Neptune ローダーのエラーおよびフィードメッセージ](loader-message.md) を参照してください。

エラーが発生すると、JSON `errors` オブジェクトがレスポンスの `BODY` に次のフィールドと共に返されます。
+ **`startIndex`** - 最初に含まれたエラーのインデックス。

  *タイプ:* *符号なし long*。
+ **`endIndex`** - 最後に含まれたエラーのインデックス。

  *タイプ:* *符号なし long*。
+ **`loadId`** - ロードの ID。この ID を使用すると、`errors` パラメータを `TRUE` に設定してロードのエラーを出力できます。

  *タイプ:* *文字列*。
+ **`errorLogs`** — エラーのリスト。

  *タイプ:* *リスト*。

## Neptune Loader Get-Status `errorLogs` レスポンスオブジェクト
<a name="load-api-reference-error-logs"></a>

ローダー Get-Status レスポンスの `errors` にある `errorLogs` オブジェクトには、次のフィールドを使用して各エラーを説明するオブジェクトが含まれています。
+ **`errorCode`** — エラーの性質を識別します。

  これには、次のいずれかの値を指定できます。
  + `PARSING_ERROR`
  + `S3_ACCESS_DENIED_ERROR`
  + `FROM_OR_TO_VERTEX_ARE_MISSING`
  + `ID_ASSIGNED_TO_MULTIPLE_EDGES`
  + `SINGLE_CARDINALITY_VIOLATION`
  + `FILE_MODIFICATION_OR_DELETION_ERROR`
  + `OUT_OF_MEMORY_ERROR`
  + `INTERNAL_ERROR` (一括ローダーがエラーのタイプを特定できない場合に返されます)。
+ **`errorMessage`** - エラーを説明するメッセージ。

  これは、エラーコードに関連付けられた一般的なメッセージ、または詳細を含む特定のメッセージ (たとえば、From/To 頂点の欠落、解析エラーなど) です。
+ **`fileName`** — フィードの名前。
+ **`recordNum`** — 解析エラーの場合、これは解析できなかったレコードのファイル内のレコード番号です。レコード番号がエラーに適用されない場合、または特定できなかった場合は 0 に設定されます。

たとえば、RDF `nquads` ファイルで次のような障害のある行に遭遇した場合、バルクローダは解析エラーを生成します。

```
<http://base#subject> |http://base#predicate> <http://base#true> .
```

ご覧のとおり、上の 2 番目の `http` 行の前には `|` ではなく `<` とがあります。ステータスレスポンスの `errorLogs` における結果のエラーオブジェクトは次のようになります。

```
{
    "errorCode" : "PARSING_ERROR",
    "errorMessage" : "Expected '<', found: |",
    "fileName" : "s3://bucket/key",
    "recordNum" : 12345
},
```

# Neptune Loader Get-Status の例
<a name="load-api-reference-status-examples"></a>

 次の例は、Neptune ローダーの GET-Status API の使用方法を示しています。これにより、Amazon Neptune グラフデータベースへのデータロードのステータスに関する情報を取得できます。これらの例は、特定のロードのステータスの取得、使用可能なロード ID、特定のロードの詳細なステータス情報のリクエストという 3 つの主なシナリオを対象としています。

## ロードステータスのリクエスト例
<a name="load-api-reference-status-examples-status-request"></a>

以下は、`curl` コマンドを使用して HTTP `GET` 経由で送信されるリクエストです。

```
curl -X GET 'https://your-neptune-endpoint:port/loader/loadId (a UUID)'
```

**Example 応答**  

```
{
    "status" : "200 OK",
    "payload" : {
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        }
    }
}
```

## loadId のリクエストの例
<a name="load-api-reference-status-examples-loadId-request"></a>

以下は、`curl` コマンドを使用して HTTP `GET` 経由で送信されるリクエストです。

```
curl -X GET 'https://your-neptune-endpoint:port/loader?limit=3'
```

**Example 応答**  

```
{
    "status" : "200 OK",
    "payload" : {
         "loadIds" : [
            "a2c0ce44-a44b-4517-8cd4-1dc144a8e5b5",
            "09683a01-6f37-4774-bb1b-5620d87f1931",
            "58085eb8-ceb4-4029-a3dc-3840969826b9"
        ]
    }
}
```

## 詳細なステータスのリクエストの例
<a name="load-api-reference-status-examples-details-request"></a>

以下は、`curl` コマンドを使用して HTTP `GET` 経由で送信されるリクエストです。

```
curl -X GET 'https://your-neptune-endpoint:port/loader/loadId (a UUID)?details=true'
```

**Example 応答**  

```
{
    "status" : "200 OK",
    "payload" : {
        "failedFeeds" : [
            {
                "datatypeMismatchErrors" : 0,
                "fullUri" : "s3://bucket/key",
                "insertErrors" : 0,
                "parsingErrors" : 5,
                "retryNumber" : 0,
                "runNumber" : 1,
                "status" : "LOAD_FAILED",
                "totalDuplicates" : 0,
                "totalRecords" : 5,
                "totalTimeSpent" : 3.0
            }
        ],
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        }
    }
}
```

# Neptune Loader Get-Status `errorLogs` の例
<a name="load-api-reference-error-logs-examples"></a>

 次の例は、データのロードプロセス中にエラーが発生した場合の Neptune ローダーからの詳細なステータスレスポンスを示しています。この例では、エラーが発生したフィード、全体的なステータス、詳細なエラーログに関する情報など、レスポンスの構造を示しています。

## エラー発生時の詳細なステータス応答の例
<a name="load-api-reference-status-examples-details-request-errors"></a>

これは `curl` を使用し HTTP `GET` 経由で送信されるリクエストです。

```
curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true&errors=true&page=1&errorsPerPage=3'
```

**Example エラー発生時の詳細なレスポンス**  
これは、発生したロードエラーを一覧表示するオブジェクト `errorLogs` とともに、上記のクエリから得られる可能性のあるレスポンスの例です。  

```
{
    "status" : "200 OK",
    "payload" : {
        "failedFeeds" : [
            {
                "datatypeMismatchErrors" : 0,
                "fullUri" : "s3://bucket/key",
                "insertErrors" : 0,
                "parsingErrors" : 5,
                "retryNumber" : 0,
                "runNumber" : 1,
                "status" : "LOAD_FAILED",
                "totalDuplicates" : 0,
                "totalRecords" : 5,
                "totalTimeSpent" : 3.0
            }
        ],
        "feedCount" : [
            {
                "LOAD_FAILED" : 1
            }
        ],
        "overallStatus" : {
            "datatypeMismatchErrors" : 0,
            "fullUri" : "s3://bucket/key",
            "insertErrors" : 0,
            "parsingErrors" : 5,
            "retryNumber" : 0,
            "runNumber" : 1,
            "status" : "LOAD_FAILED",
            "totalDuplicates" : 0,
            "totalRecords" : 5,
            "totalTimeSpent" : 3.0
        },
        "errors" : {
            "endIndex" : 3,
            "errorLogs" : [
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 1
                },
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 2
                },
                {
                    "errorCode" : "PARSING_ERROR",
                    "errorMessage" : "Expected '<', found: |",
                    "fileName" : "s3://bucket/key",
                    "recordNum" : 3
                }
            ],
            "loadId" : "0a237328-afd5-4574-a0bc-c29ce5f54802",
            "startIndex" : 1
        }
    }
}
```

## `Data prefetch task interrupted` エラーの例
<a name="load-api-reference-status-examples-task-interrupted"></a>

`LOAD_FAILED` ステータスが発生し、その後より詳細な情報をリクエストした場合、次のように `PARSING_ERROR` エラーが `Data prefetch task interrupted` メッセージとともに返されることがあります。

```
"errorLogs" : [
    {
        "errorCode" : "PARSING_ERROR",
        "errorMessage" : "Data prefetch task interrupted: Data prefetch task for 11467 failed",
        "fileName" : "s3://amzn-s3-demo-bucket/some-source-file",
        "recordNum" : 0
    }
]
```

このエラーが発生するのは、一般的にリクエストやデータが原因で発生しない、データロードプロセスの一時的な中断があった場合です。これは通常、単にバルクアップロードリクエストを再実行することで解決できます。デフォルト設定 (`"mode":"AUTO"` および `"failOnError":"TRUE"`) を使用している場合、ローダーは既に正常にロードされたファイルをスキップし、中断が発生したときにまだロードされていなかったファイルのロードを再開します。