リクエストの進行状況の確認
/sites/management/api/v1/requests/{id}/job
リクエスト関連の処理のバックグラウンド・ジョブ・ステータスを読み取ります。 リクエストが承認されると、リクエストに必要な処理がすべて開始されます。たとえば、新規サイトへのリクエストでは、サイト作成処理が開始されます。 このジョブ・ステータス・リソースにアクセスすることにより、この処理の進行状況を監視できます。
ジョブ・ステータスは常にリクエストに対して使用可能です。リクエストが承認されていない場合、ステータスはリクエストがblocked
であることを示します。 - 承認待ちのブロック。 完了したリクエストには、succeeded
というジョブ・ステータスもあり、completed
フィールドはtrue
になります。
ブロックされたリクエストの承認または却下
リクエスト・ジョブ・ステータスによって、リクエストがブロックされている場合は、リクエストが承認されていないかまたは拒否されたことを意味します。 リクエストは、レビューを追加することによって承認または却下されます。
詳細は、「リクエストの却下または承認」を参照してください。
失敗したリクエストの再試行
リクエスト・ジョブ・ステータスによって、リクエストの処理に失敗したことが示される場合は、リクエスト処理を再試行できます。 失敗のタイプに応じて、再試行でリクエストの処理を完了できます。
詳細は、「失敗したリクエストの再試行」を参照してください。
成功したレスポンスの例
この操作は、次の成功(2xx)のレスポンスで応答します。 レスポンスHTTPステータス・コードとサンプル本体の完全なリストは、この操作の「レスポンス」に関する項を参照してください。
200OK - Request Requires Approval
承認待ちの場合、または却下された場合、リクエスト・ジョブはブロックされます。
リクエスト
GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none
レスポンス本文
{ "progress": "blocked", "completed": false }
200 OK - リクエスト・ジョブ実行中
リクエストが承認され、ジョブが実行中です。 startTime
はジョブの実行開始時です。 intervalToPoll
値は、進捗のためのポーリング頻度(ミリ秒)を示すヒントを提供します。
リクエスト
GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none
レスポンス本文
{ "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868", "startTime": "2019-05-31T09:14:29.000Z", "progress": "processing", "completed": false, "completedPercentage": 38, "intervalToPoll": 5000 }
200 OK - リクエストに成功しました
リクエストは正常に完了しました。
リクエスト
GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none
レスポンス本文
{ "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868", "startTime": "2019-05-31T09:14:27.000Z", "endTime": "2019-05-31T09:14:34.000Z", "progress": "succeeded", "completed": true, "completedPercentage": 100 }
200 OK - リクエストに失敗しました
リクエストは承認されましたが、ジョブは失敗しました。 error
プロパティにより失敗の理由が示されます。 失敗の理由が対処されている場合は、リクエストを再試行できます。 たとえば、競合するサイトの名前が変更されている可能性があります。 または、リクエストされているサイトに新しい名前を指定するなどして、問題を解決した場合はリクエスト自体が変更される可能性があります。 リクエストの詳細が変更された場合、リクエストは承認プロセスを再度通過する必要があります。
リクエスト
GET https://api.example.com/sites/management/api/v1/requests/{id}/job?links=none
レスポンス本文
{ "context": "F49F1047E72E2FBBA7AD1754F7253CA453FCE1E1171C1541416472868", "startTime": "2019-05-31T09:14:25.000Z", "progress": "failed", "completed": false, "error": { "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Site Already Exists", "status": 409, "detail": "Site with name 'AcmeProductLaunch' already exists.", "o:errorCode": "OCE-SITEMGMT-009004", "o:errorDetails": [ ] } }
クライアント・エラー・レスポンスの例
この操作は、レスポンス本文に例外の詳細が含まれている次のクライアント・エラー(4xx)レスポンスで応答します。 レスポンスHTTPステータス・コードとサンプル本体の完全なリストは、この操作の「レスポンス」に関する項を参照してください。
404Not Found - Request Not Found
リクエストが存在しないか、削除されたか、認証されたユーザーまたはクライアント・アプリケーションがリクエストへのアクセス権を持っていません。
エラー・コード
OCE-SITEMGMT-009001
解決 - 識別子のチェック
リクエスト識別子が有効であることを確認してください。
解決 - 認可の確認
認証済ユーザーがリクエストをレビューできること、または認証済ユーザーがリクエストを作成したユーザーであることを確認します。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
request | 存在しない、または認証されたユーザーが表示できないリクエストです。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのRequestNotFoundExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Request Not Found", "status": "404", "detail": "Request does not exist or has been deleted, or the authenticated user or client application does not have access to the request.", "o:errorCode": "OCE-SITEMGMT-009001", "request": { "id": "e77229e8-1f44-4c27-bacb-9a99b7c77af7" } }
404Not Found - Relationship Not Found
関係が存在しないため、関係を読み取ろうとしましたが失敗しました。 関係が存在しなくなった場合、または認証されたアイデンティティが関係の詳細の読取りを承認されていない場合に、関係の読取りが失敗する可能性があります。
エラー・コード
PAAS-005027
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Relationship Not Found", "status": "404", "detail": "Relationship resource not found. There is a relationship to a resource, but the resource at the end of the relationship does not exist, or the authenticated identity cannot see the resource.", "o:errorCode": "PAAS-005027" }
このリソースは、リクエスト・ジョブ・ステータスのリソース間の関係を表します。 リクエスト・ジョブ・ステータスが削除されたか、または認証されたユーザーがリソースの読取りを認可されていない場合、レスポンス・ステータス・コードは「404見つかりません」になり、レスポンス本文に「関係が見つかりません」エラーが返されます。
リクエスト
- id: string
リクエストのグローバルに一意の不変識別子。
- excludeFields(optional): string
レスポンスに含めないフィールド名のカンマ区切り文字列。
- excludeLinks(optional): string
レスポンスからexcludeへのリンク関係名のカンマ区切りリスト。
- fields(optional): string
レスポンスに含めるフィールド名のカンマ区切りの文字列。 フィールド名を区切るには、ドットを使用してネストされたフィールドを特定できます。 フィールド名は大文字と小文字を区別します。 フィールドが存在しない場合、フィールド名は無視されます。
- includeDeleted(optional): boolean
削除対象としてマークされているリソースでは、この問合せパラメータが
true
に設定されているかぎり、読取り、変更およびサポート対象の拡張操作が可能です。includeDeleted
問合せパラメータを送信しない場合、読取り、変更および拡張操作に対するレスポンスは、リソースが完全に削除された場合に戻されるものと同じです。 - links(optional): string
レスポンス内のincludeへのリンク関係名のカンマ区切りリスト。 デフォルトでは、すべてのリンクが返されます。
次のリンクは、このリソースにより提供されます:
リンク関係 説明 parent
親リソースが読取り可能な場所を示します。 このリンクは up
リンクに相当し、親リソース(単数形のリソースを含むコレクション・リソースなど)へのリンクを提供します。self
リソースの現在の戻り表現を示します。 リソース自体を表すリンクに使用されます。 たとえば、リソースがコレクションの一部として戻された場合、自己リンクは個々のリソースのURLパスを提供します。 canonical
リクエストされたリソースの優先表現を示します。 リソースの標準的な形式を表すリンクに使用されます。 たとえば、リソースがコレクションの一部として返される場合、正規リンクは個々のリソースの正規の形式のURLパスを提供します。 describedBy
リソースに関するメタデータ情報を提供するスキーマ・リソースが記述されます。 スキーマ・リソースがリソースを説明する場所を示すために、コレクション・リソース、単数形およびリレーション・リソースで使用されます。 request
関連リクエストへのアクセスを提供するためのリクエスト・リンクがレスポンスで返されます。 リクエスト・リンクの主な使用方法は、受け入れられステータス・リソースに向けて指示された拡張操作に関連付けられているリクエストを検出する方法を提供することです。 ステータス・リソースは、操作に対するリクエストを表す「リクエスト」リンクを提供できます。 - return(optional): string
レスポンス・フィールドおよびリンクの制御に使用するリソース表現を指定します。 表現が指定されない場合、
fields
、excludeFields
、links
、excludeLinks
およびexpand
問合せパラメータの値に基づいて、クライアント定義の表現が戻されます。次の表現は、
return
問合せパラメータでサポートされています:表現 説明 representation
フル・リソース表示には、すべてのプロパティとリンクが含まれ、大部分の関係が拡張されます。 default
デフォルトのリソース表示には、ほとんどのプロパティとリンクが含まれます。 basic
基本的なリソース表現には、いくつかのプロパティといくつかのリンクが含まれます。 minimal
最小リソース表現。必須プロパティとリンクなしが含まれます。
レスポンス
- application/json
- application/vnd.oracle.resource+json;type=singular
200レスポンス
- Cache-Control: string
キャッシュ・メカニズムのディレクティブ。
- Content-Length: string
レスポンス本文のサイズ。
- Content-Type: string
レスポンスのコンテンツ・タイプ。
- ETag: string
オリジン・サーバーによって特定のバージョンのリソースに割り当てられた不透明識別子。
object
- completed: boolean
非同期ジョブが完了したかどうか。
- completedPercentage(optional): integer(int32)
プロセスの完了数を取得し、0から100までの数値。 非同期ジョブが開始していない場合、完了率は提供されません。 すべてのバックグラウンド非同期ジョブが詳細なプロセスをサポートしているわけではないため、完了率はステップなしでゼロから100にジャンプできます。
- context(optional): string
レスポンスを元の非同期ジョブに関連付けるために使用できるジョブ・コンテキスト識別子の値。 非同期ジョブがどのように開始されたかによって、コンテキスト値があるかどうか、およびコンテキスト値は何かが決まります。
- endTime(optional): string(date-time)
非同期ジョブの実行が終了した時間、または非同期ジョブが失敗した時間。 非同期ジョブが終了していないか失敗した(または開始していない)場合、このプロパティは存在しません。 特定のバックグラウンド・ジョブは停止時間を記録しないことがあるため、ジョブが完了した場合、停止時間がない可能性があります。 日付値と時間値は、UTCタイムゾーンを使用してISO 8601
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
形式です。 - error(optional): object error
ジョブの失敗時の非同期ジョブ・レスポンスのエラー詳細。 このオプションは、非同期ジョブが実行されたにも失敗した場合にのみ使用可能です。
- intervalToPoll(optional): integer(int64)
クライアントがステータスを再度チェックするまでに待機する必要がある時間のヒントとして、1ミリ秒数。 この値がない場合、ポーリング間隔は提案されず、クライアントは必要に応じてポーリングできることを意味します。
- links(optional): array links
このリソースに対する関連リソースおよびアクションへのHATEOSリンク。 リソースの正規表現へのリンクを含む自己リンクを少なくとも1つ含める必要があります。
- message(optional): string
現在の処理ステータスに関する、人間が読み取り可能なメッセージ。 このメッセージは、エンド・ユーザーに進行状況を通知するために使用されます。 非同期リクエストまたはジョブは、判読可能なステータス・メッセージを提供しない場合があります。
- progress: string
非同期ジョブの現在の進行状況。 これらの値は、非同期ジョブが終了したことを示します:
succeeded
、failed
、aborted
。blocked
の値は、非同期ジョブには人による承認の待機など、アクションが必要であることを意味します。 非同期ジョブが処理中であることを示す値は次のとおりです:pending
、processing
、paused
。有効な値は次のとおりです。
-
pending
- リクエストは実行を待機しています -
processing
- リクエストは実行中です -
succeeded
- リクエストは正常に完了しました -
failed
- リクエストに失敗しました
-
aborted
- リクエストは中断されました
-
paused
- リクエストは実行中でしたが、現在は一時停止しています -
blocked
- リクエストはブロックされています
-
- requestStatus(optional): integer(int32)
非同期ジョブ・リクエストのHTTPステータス・コード。 このステータスは、非同期ジョブ・ステータスの問合せ時に取得するステータスではなく、非同期ジョブが完了したときのステータス・レスポンスです。 この値は非同期ジョブの終了後のみ使用可能です。
- result(optional): result
クライアントがステータスについてサービスをポーリングする際に結果を取得できるよう、ステータス・リソースに最終結果を含めることが望ましい場合もあります。 結果はこのオプション・プロパティで取得されます。 このプロパティは、HTTPレスポンスがステータス・リソース内で効率的に返される場合にのみ使用する必要があります。 このプロパティが存在する場合は、重複を避けるために
requestStatus
プロパティが省略されます。 レスポンスの本文は、レスポンス固有のプロパティで構成されるJSONオブジェクトです。 非JSONレスポンス・データは、Base64が、bodyプロパティ内のバイト文字列として非JSONデータをエンコードするか、ステータス・リソースのリンク・プロパティの非JSONリソースへのリンクを提供することでサポートされます。 - startTime(optional): string(date-time)
非同期ジョブの実行が開始された時間。 非同期ジョブが開始していない場合、このプロパティは表示されません。 特定のバックグラウンド・ジョブは開始時間を記録しないことがあるため、ジョブが開始した場合、開始時間がない可能性があります。 日付値と時間値は、UTCタイムゾーンを使用してISO 8601
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
形式です。
object
ジョブの失敗時の非同期ジョブ・レスポンスのエラー詳細。 このオプションは、非同期ジョブが実行されたにも失敗した場合にのみ使用可能です。
array
このリソースに対する関連リソースおよびアクションへのHATEOSリンク。 リソースの正規表現へのリンクを含む自己リンクを少なくとも1つ含める必要があります。
クライアントがステータスについてサービスをポーリングする際に結果を取得できるよう、ステータス・リソースに最終結果を含めることが望ましい場合もあります。 結果はこのオプション・プロパティで取得されます。 このプロパティは、HTTPレスポンスがステータス・リソース内で効率的に返される場合にのみ使用する必要があります。 このプロパティが存在する場合は、重複を避けるためにrequestStatus
プロパティが省略されます。 レスポンスの本文は、レスポンス固有のプロパティで構成されるJSONオブジェクトです。 非JSONレスポンス・データは、Base64が、bodyプロパティ内のバイト文字列として非JSONデータをエンコードするか、ステータス・リソースのリンク・プロパティの非JSONリソースへのリンクを提供することでサポートされます。
- object HttpResponse
非同期リクエストのHTTPレスポンスの取得など、構造化データとして返すことができるようにHTTPレスポンスを取得します。
object
REST HATEOASリンクおよび関連メタデータ。 レスポンスがリンクを提供する場合(リソース自体へのself
リンクなど)、提供されるリンクには、このリンク構造で定義された1つ以上のプロパティが含まれます。
- href(optional): string
ターゲット・リソースのURI URI RFC3986またはURIテンプレートRFC6570。 値がURIテンプレートに設定されている場合、
templated
プロパティをtrue
に設定する必要があります。 - mediaType(optional): string
メディア・タイプ。RFC 2046で定義され、リンク・ターゲットを記述します。
- method(optional): string
リンクのターゲットをリクエストするためのHTTPメソッド。
有効な値は次のとおりです。
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
- profile(optional): string(uri)
ターゲット・リソースを参照解除するときにリソースを指定するJSONスキーマなどのリソースのメタデータへのリンク。
- rel(optional): string
リンクの詳細を取得するために使用できるリンク・リレーションの名前。
- templated(optional): boolean
href
プロパティを指定するブール・フラグは、URIまたはURIテンプレートです。 プロパティが存在しない場合、false
とみなすことができます。
object
非同期リクエストのHTTPレスポンスの取得など、構造化データとして返すことができるようにHTTPレスポンスを取得します。
- headers(optional): array headers
HTTPレスポンス・ヘッダー。
- status (オプション): object status
HTTPステータス・コードのレスポンス値および理由。
object
HTTPステータス・コードのレスポンス値および理由。
- code: integer(int32)
例外に対応するHTTPステータス・コード。 リソースを含む例外には
404
のHTTPステータスが存在します。 - reason: string
短い、判読可能なステータス・コードのサマリーです。
{
"progress":"blocked",
"completed":false
}
400レスポンス
401レスポンス
403レスポンス
404レスポンス
- Cache-Control: string
キャッシュ・メカニズムのディレクティブ。
- Content-Length: string
レスポンス本文のサイズ。
- Content-Type: string
レスポンスのコンテンツ・タイプ。
- object ExceptionDetail
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
- object RequestNotFoundExceptionDetail-allOf[1]
object
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
- detail(optional): string
この問題の発生に固有の説明。 人間が判読できる、場合によっては複数行の詳細で問題を説明しています。
- instance(optional): string(uri)
エラーに関する詳細を提供するリンクへのURI。
- o:errorCode(optional): string
アプリケーション・エラー・コード。HTTPエラー・コードとは異なります。 このコードは、
title
やdetail
などのフィールドを比較するのではなく、特定のエラーをチェックするために使用する必要があります。 - o:errorDetails(optional): array o:errorDetails
階層構造に複数のエラーがある場合もあります。
- o:errorPath(optional): string
エラーが発生した場所を示すXPathまたはJSONパス。
- status(optional): integer(int32)
エラーに対応するHTTPステータス・コード。
- title(optional): string
問題の短く、判読可能なサマリー。 タイトルは、特定のエラーをチェックする方法としては使用しないでください。そのためには
o:errorCode
を使用してください。 - type(optional): string(uri)
問題のタイプを識別する絶対URI。 このURIが参照解除されると、「推奨」は、HTMLページなどの問題の判読可能なサマリーを提供します。
object
- request(optional): string
存在しない、または認証されたユーザーが表示できないリクエストです。
- object ExceptionDetail
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Request Not Found",
"status":"404",
"detail":"Request does not exist or has been deleted, or the authenticated user or client application does not have access to the request.",
"o:errorCode":"OCE-SITEMGMT-009001",
"request":{
"id":"e77229e8-1f44-4c27-bacb-9a99b7c77af7"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Relationship Not Found",
"status":"404",
"detail":"Relationship resource not found. There is a relationship to a resource, but the resource at the end of the relationship does not exist, or the authenticated identity cannot see the resource.",
"o:errorCode":"PAAS-005027"
}