非同期作業リクエスト

このトピックでは、Oracle Cloud Infrastructureサービスで長時間実行している操作への非同期作業リクエストについて説明します。また、リクエスト・ステータスを取得する方法や、リクエストのレスポンスを調査して影響を受けるリソースのフィルタリングを有効にする方法についてのガイダンスも提供します。

概要

Oracle Cloud Infrastructureサービスに対するAPIコールによって、長時間実行操作が起動されることがあり、レスポンスが返される前にクライアントのリクエストが完了しない場合があります。このようなケースでは、非同期作業リクエストがサービスによって生成され、長時間実行されている非同期操作の進行状況を確認できます。REST APIコールに対するレスポンスのopc-work-request-idヘッダーに作業リクエストIDが含まれており、これによって進行状況とステータスをモニターできます。作業リクエスト自体は、操作が完了するまでキューに残ります。

作業リクエストのステータスは、GetWorkRequestをコールして作業リクエストIDを渡すことで、いつでもモニターできます。

ノート

一部のOracle Cloud Infrastructureサービス(コンピュートデータベースなど)では、GetWorkRequest操作を含む作業リクエストAPIを使用した作業リクエストがサポートされています。

一部のサービスには、このトピックで説明する作業リクエストAPIではなく、サービスAPIでサポートされている作業リクエストが用意されています。これらのサービスのAPIには、作業リクエストAPIで使用されるGetWorkRequest操作と同様に動作する操作が含まれます。

詳細は、各サービスの作業リクエストAPIのリファレンス・ドキュメントを参照してください。それぞれのリンクは詳細情報の項に記載されています。

リクエスト・レスポンスの特に重要な2つの要素は、作業リクエストのステータスと、作業リクエストによって影響を受けるリソースのリストです。ステータスが重要なのは、非同期作業リクエストは、操作が完了したか、実行中か、または完全に失敗したかを把握する必要があるためです。

作業リクエストの失敗またはエラーに関する情報を取得できるように、各サービスによって、エラーに関する情報をフェッチするためのAPIとログが提供されます。各サービスのAPIリファレンス・ドキュメントへのリンクは、詳細情報の項を参照してください。

また、作業リクエストが複数のリソースに影響する場合に重要になるのは、作業リクエストが影響を与えるリソースのリストを、それぞれのentityType属性とactionType属性と一緒に得ることです。

作業リクエストのステータス

非同期作業リクエストを使用すると、WorkRequestオブジェクトに対してステータス属性を指定して、進行状況をモニターできます。サポートされているサービスそれぞれが、この後の項で説明するように、ステータスを取得するために独自のAPIを用意しています。

ノート

forWorkRequestメソッドを使用してコールバックを作成するためのContainerEngineWaitersクラスがあります。このAPIを使用して、操作のステータスが変わったとき(たとえば、IN_PROGRESSからCOMPLETED)に通知を転送します。

次の表に、各サービスのWorkRequestオブジェクトでサポートされるステータス属性を示します。

サービス ステータス属性
アプリケーション・パフォーマンス・モニタリング
  • ACCEPTED
  • IN_PROGRESS
  • SUCCEEDED
  • FAILED
  • CANCELING
  • CANCELED
自律型リカバリ・サービス
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • SUCCEEDED
  • FAILED
  • CANCELING
  • CANCELED
ビッグ・データ・サービス
  • CREATING
  • ACTIVE
  • UPDATING
  • SUSPENDING
  • SUSPENDED
  • RESUMING
  • DELETING
  • DELETED
  • FAILED
ブロックチェーン・プラットフォーム
  • ACCEPTED
  • IN PROGRESS
  • SUCCEEDED
  • FAILED
  • CANCELING
  • CANCELED
クラスタ配置グループ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
コンピュート
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
コネクタ・ハブ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
Container Engine for Kubernetes
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
コンテンツ管理
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
データベース管理
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
PostgreSQLを使用したOCIデータベース
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
データ・カタログ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
データ統合
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
データ・ラベリング
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • SUCCEEDED
  • CANCELING
  • CANCELED
  • FAILED
データ・サイエンス
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
データベース
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
データベース移行
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
DevOps
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
フル・スタック・ディザスタ・リカバリ
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • CANCELING
  • CANCELED
  • SUCCEEDED
  • FAILED
  • NEEDS_ATTENTION
グローバルに分散されたAutonomous Database
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
GoldenGate
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELLED
IAM
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
統合
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
Java管理
  • ACCEPTED
  • IN_PROGRESS
  • SUCCEEDED
  • CANCELING
  • CANCELED
  • FAILED
ロード・バランサ
  • CREATING
  • FAILED
  • ACTIVE
  • DELETING
  • DELETED
LogAnalyticsQueryJobWorkRequestログ・アナリティクス
  • ACCEPTED
  • IN_PROGRESS
  • SUCCEEDED
  • CANCELLED
  • FAILED
LogAnalyticsStorageWorkRequestログ・アナリティクス
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELED
LogAnalyticsConfigWorkRequestログ・アナリティクス
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
管理エージェント
  • CREATED
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
ネットワーク・ファイアウォール
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
オブジェクト・ストレージ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • COMPLETED
  • CANCELING
  • CANCELED
Oracle Cloud Bridge
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
Oracle Cloud Migrations
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
  • NEEDS_ATTENTION
OS管理ハブ
  • ACCEPTED
  • IN_PROGRESS
  • SUCCEEDED
  • FAILED
  • CANCELING
  • CANCELED
プロセス自動化
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
キュー
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
リソース・マネージャ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
セキュア・デスクトップ
  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
サービス・メッシュ
  • ACCEPTED
  • IN_PROGRESS
  • FAILED
  • SUCCEEDED
  • WAITING
  • CANCELING
  • CANCELED

リクエスト・レスポンスのフィルタリング

場合によっては、特定の非同期作業リクエストによってどのリソースが影響を受けるかを知る必要があります。リクエスト・レスポンスに影響を受けるリソースが1つか2つしか含まれていない場合、リクエスト・レスポンスの本文で十分かもしれません。ただし、リクエスト・レスポンスが多数のリソースに影響する場合は、目的のリソースを識別するためにレスポンスをフィルタ処理する必要があります。

作業リクエスト・レスポンスにリストされるリソースのフィルタリングでは、WorkRequestResourceタイプのentityTypeactionTypeの2つの属性を利用します。

  • entityType: 作業リクエストが影響するリソース・タイプを表します。これはオプションの属性ですが、各リソースに指定できるentityTypeは1つのみです。
  • actionType: 指定したリソースが作業リクエストに関連付けられた操作によってどのような影響を受けるかを表します。サービスごとに、許容されるactionType 値の固定リストが指定されます(後続の項を参照)。

作業リクエストのリソース情報を取得するには、GetWorkRequestをコールして作業リクエストIDを渡します。このコールによって、JSONフォーマットのレスポンスが返されます。次に示すのは、オブジェクト・ストレージ・サービスに対してGetWorkRequestをコールする例です。

{
    operationType: "COPY_OBJECT",
    status: "IN_PROGRESS",
    id: "f54527d6-029b-4221-9046-a811b7686202",
    resources: [
        {
            entityType: "object",
            actionType: "READ",
            entityUri: "/n/mynamespace/b/backups/o/myobject"
        },
        {
            entityType: "object",
            actionType: "WRITTEN",
            entityUri: "/n/mynamespace/b/backups/o/copyofmyobject"
        },
    ],
    timeAccepted: 2017-10-13T17:23:46.000Z,
    timeStarted: 2017-10-13T17:23:52.198Z,
    percentComplete: 10.0
}
ノート

返されるレスポンスはサービスごとに少し異なります。詳細は、各サービスの作業リクエストAPIのリファレンス・ドキュメントを参照してください。それぞれのリンクは詳細情報の項に記載されています。

次の表に、Oracle Cloud Infrastructureサービスでサポートされるエンティティ・タイプとアクション・タイプを示します。

サービス名 操作 entityType actionType
アプリケーション・パフォーマンス・モニタリング

CreateApmDomain

UpdateApmDomain

DeleteApmDomain

GenerateDataKeys

RemoveDataKeys

apm-domains

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

自律型リカバリ・サービス

CreateProtectionPolicy

UpdateProtectionPolicy

DeleteProtectionPolicy

ChangeProtectionPolicyCompartment

CreateRecoveryServiceSubnet

UpdateRecoveryServiceSubnet

DeleteRecoveryServiceSubnet

ChangeRecoveryServiceSubnetCompartment

CreateProtectedDatabase

UpdateProtectedDatabase

DeleteProtectedDatabase

FetchProtectedDatabaseConfiguration

ChangeProtectedDatabaseCompartment

protectedDatabase

protectionPolicy

recoveryServiceSubnet

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

ブロックチェーン・プラットフォーム

CreateBlockchainPlatform

UpdateBlockchainPlatform

DeleteBlockchainPlatform

ScaleBlockchainPlatform

StopBlockchainPlatform

StartBlockchainPlatform

instance

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

クラスタ配置グループ

CreateClusterPlacementGroup

UpdateClusterPlacementGroup

DeleteClusterPlacementGroup

ChangeClusterPlacementGroupCompartment

clusterplacementgroup

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

Container Engine for Kubernetes

CreateCluster

DeleteCluster

UpdateCluster

CreateNodePool

DeleteNodePool

UpdateNodePool

cluster

nodepool

ACCEPTED

IN_PROGRESS

FAILED

SUCCEEDED

CANCELING

CANCELED

コンテンツ管理

CreateOceInstance

DeleteOceInstance

UpdateOceInstance

oceInstance

ACCEPTED

IN_PROGRESS

FAILED

SUCCEEDED

CANCELING

CANCELED

データベース管理

ChangeDbManagementPrivateEndpointCompartment

CreateDbManagementPrivateEndpoint

DeleteDbManagementPrivateEndpoint

GetDbManagementPrivateEndpoint

ListDbManagementPrivateEndpoints

UpdateDbManagementPrivateEndpoint

private-endpoints

CreateWorkspace

DeleteWorkspace

ChangeCompartment

StartWorkspace

StopWorkspace

データベース移行

CreateMigration

CloneMigration

EvaluateMigration

StartMigration

UpdateMigration

DeleteMigration

CreateConnection

UpdateConnection

DeleteConnection

DeleteAgent

odms-connection

odms-migration

odms-agent

ACTIVE

INACTIVE

ACCEPTED

IN_PROGRESS

WAITING

SUCCEEDED

FAILED

PostgreSQLを使用したOCIデータベース

CreateBackup

UpdateBackup

DeleteBackup

ChangeBackupCompartment

CreateDbSystem

UpdateDbSystem

DeleteDbSystem

ChangeDbSystemCompartment

データ・カタログ

CreateCatalog

DeleteCatalog

ChangeCatalogCompartment

catalog

CREATED

UPDATED

DELETED

IN_PROGRESS

MOVED

データ統合

CreateWorkspace

DeleteWorkspace

ChangeCompartment

StartWorkspace

StopWorkspace

disworkspace

CREATED

UPDATED

DELETED

MOVED

IN_PROGRESS

FAILED

データ・ラベリング

CreateDataset

DeleteDataset

ChangeDatasetCompartment

GenerateDatasetRecords

SnapshotDataset

AddDatasetLabels

RemoveDatasetLabels

RenameDatasetLabels

datalabelingdataset

ACCEPTED

IN_PROGRESS

WAITING

SUCCEEDED

CANCELING

CANCELED

FAILED

データ・サイエンス

CreateNotebookSession

DeleteNotebookSession

DeleteProject

NotebookSession

Project

ACCEPTED

IN_PROGRESS

FAILED

SUCCEEDED

CANCELING

CANCELED

DevOps

CreateProject

UpdateProject

ChangeProjectCompartment

DeleteProject

CreateDeployEnvironment

UpdateDeployEnvironment

DeleteDeployEnvironment

CreateDeployArtifact

UpdateDeployArtifact

DeleteDeployArtifact

CreateDeployPipeline

CreateDeployStage

UpdateDeployPipeline

UpdateDeployStage

DeleteDeployPipeline

DeleteDeployStage

CreateDeployment

UpdateDeployment

CancelDeployment

Project

DeployEnvironment

DeployArtifact

DeployPipeline

DeployStage

Deployment

ACCEPTED

IN_PROGRESS

FAILED

SUCCEEDED

CANCELING

CANCELED

フル・スタック・ディザスタ・リカバリ

CreateDrProtectionGroup

UpdateDrProtectionGroup

DeleteDrProtectionGroup

ChangeDrProtectionGroupCompartment

AssociateDrProtectionGroup

DisassociateDrProtectionGroup

UpdateDrProtectionGroupRole

CreateDrPlan

UpdateDrPlan

DeleteDrPlan

CreateDrPlanExecution

UpdateDrPlanExecution

DeleteDrPlanExecution

RetryDrPlanExecution

IgnoreDrPlanExecution

CancelDrPlanExecution

PauseDrPlanExecution

ResumeDrPlanExecution

DrProtectionGroup

DrPlan

DrPlanExecution

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

グローバルに分散されたAutonomous Database

ListShardedDatabases

GetShardedDatabase

GenerateWallet

UpdateShardedDatabase

ValidateNetwork

StartShardedDatabase

StopShardedDatabase

ChangeShardedDatabaseCompartment

CreateShardedDatabase

DeleteShardedDatabase

ChangePrivateEndpointCompartment

CreatePrivateEndpoint

DeletePrivateEndpoint

GetPrivateEndpoint

UpdatePrivateEndpoint

ListPrivateEndpoints

OsdShardedDatabase

OsdPrivateEndpoint

ACCEPTED

IN_PROGRESS

WAITING

FAILED

SUCCEEDED

CANCELING

CANCELED

GoldenGate

CreateDeployment

DeleteDeployment

StartDeployment

StopDeployment

UpdateDeployment

UpgradeDeployment

ChangeDeploymentCompartment

CreateDatabaseRegistration

UpdateDatabaseRegistration

DeleteDatabaseRegistration

ChangeDatabaseRegistrationCompartment

CreateDeploymentBackup

DeleteDeploymentBackup

RestoreDeployment

Deployment

DatabaseRegistration

DeploymentBackup

CREATING

UPDATING

ACTIVE

INACTIVE

DELETING

DELETED

FAILED

統合

CreateIntegrationInstance

DeleteIntegrationInstance

GetIntegrationInstance

StartIntegrationInstance

StopIntegrationInstance

UpdateIntegrationInstance

ノート: StopIntegrationInstanceおよびStartIntegrationInstanceは、Oracle Integration Generation 2でのみサポートされています。

instance

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

ロード・バランサ

CreateLoadBalancer

UpdateLoadBalancer

DeleteLoadBalancer

LoadBalancer

ACCEPTED

IN_PROGRESS

FAILED

SUCCEEDED

管理エージェント DeployPlugins managementAgent

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

ネットワーク・ファイアウォール

CreateNetworkFirewall

UpdateNetworkFirewall

DeleteNetworkFirewall

ChangeNetworkFirewallCompartment

CreateNetworkFirewallPolicy

UpdateNetworkFirewallPolicy

DeleteNetworkFirewallPolicy

ChangeNetworkFirewallPolicyCompartment

NetworkFirewall

NetworkFirewallPolicy

  • ACCEPTED
  • IN_PROGRESS
  • WAITING
  • FAILED
  • SUCCEEDED
  • CANCELING
  • CANCELED
オブジェクト・ストレージ CopyObject object

READ

WRITTEN

Oracle Cloud Bridge

CreateEnvironment

UpdateEnvironment

DeleteEnvironment

ChangeEnvironmentCompartment

CreateAgent

UpdateAgent

DeleteAgent

ChangeAgentCompartment

CreateAgentDependency

UpdateAgentDependency

DeleteAgentDependency

ChangeAgentDependencyCompartment

CreateInventory

DeleteInventory

ImportInventory

DeleteAssetSource

RefreshAssetSource

CreateAssetSource

UpdateAssetSource

ocbworkrequest

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATEDFAILED

Oracle Cloud Migrations

CreateMigration

UpdateMigration

RefreshMigration

DeleteMigration

ChangeMigrationCompartment

StartAssetReplication

StartMigrationReplication

CreateReplicationSchedule

UpdateReplicationSchedule

DeleteReplicationSchedule

ChangeReplicationScheduleCompartment

CreateMigrationPlan

UpdateMigrationPlan

DeleteMigrationPlan

ChangeMigrationPlanCompartment

RefreshMigrationPlan

ExecuteMigrationPlan

RefreshMigrationAsset

CreateMigrationAsset

DeleteMigrationAsset

CreateTargetAsset

UpdateTargetAsset

DeleteTargetAsset

ocmworkrequest

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATEDFAILED

OS管理ハブ

AttachManagedInstancesToLifecycleStage

AttachManagedInstancesToManagedInstanceGroup

AttachSoftwareSourcesToManagedInstance

AttachSoftwareSourcesToManagedInstanceGroup

DeleteLifecycleEnvironment

DeleteManagedInstanceGroup

DetachManagedInstancesFromLifecycleStage

DetachManagedInstancesFromManagedInstanceGroup

DetachSoftwareSourcesFromManagedInstance

DisableModuleStreamOnManagedInstance

DisableModuleStreamOnManagedInstanceGroup

EnableModuleStreamOnManagedInstance

EnableModuleStreamOnManagedInstanceGroup

InstallModuleStreamProfileOnManagedInstance

InstallModuleStreamProfileOnManagedInstanceGroup

InstallPackagesOnManagedInstance

InstallPackagesOnManagedInstanceGroup

InstallWindowsUpdatesOnManagedInstance

InstallAllWindowsUpdatesOnManagedInstancesInCompartment

InstallWindowsUpdatesOnManagedInstanceGroup

ManageModuleStreamsOnManagedInstance

ManageModuleStreamsOnManagedInstanceGroup

PromoteSoftwareSourceToLifecycleStage

RefreshSoftwareOnManagedInstance

RemoveModuleStreamProfileFromManagedInstance

RemoveModuleStreamProfileFromManagedInstanceGroup

RemovePackagesFromManagedInstance

RemovePackagesFromManagedInstanceGroup

ScheduledJob/RunScheduledJobNow

SwitchModuleStreamOnManagedInstance

SynchronizeMirrors

SynchronizeSingleMirrors

UpdateAllPackagesOnManagedInstanceGroup

UpdateAllPackagesOnManagedInstancesInCompartment

UpdateManagedInstance

UpdateManagementStation

UpdatePackagesOnManagedInstance

UpdateSoftwareSource

managementagent

osmhlifecycleenvironment

osmhlifecyclestage

osmhmanagedinstancegroup

osmhmanagementstation

osmhsoftwaresource

ACCEPTED

IN_PROGRESS

SUCCEEDED

FAILED

CANCELING

CANCELED

プロセス自動化

CreateOpaInstance

UpdateOpaInstance

DeleteOpaInstance

ChangeOpaInstanceCompartment

instance

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

キュー

CreateQueue

UpdateQueue

PurgeQueue

DeleteQueue

ChangeQueueCompartment

リソース・マネージャ

ChangeStackCompartment

CreatePrivateEndpoint

CreateStack

DeletePrivateEndpoint

DetectStackDrift

UpdatePrivateEndpoint

ormprivateendpoint

ormstack

CREATED

UPDATED

DELETED

IN_PROGRESS

セキュア・デスクトップ

CreateDesktopPool

UpdateDesktopPool

DeleteDesktopPool

ChangeDesktopPoolCompartment

StartDesktopPool

StopDesktopPool

DeleteDesktop

UpdateDesktop

StartDesktop

StopDesktop

desktop

desktoppool

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

サービス・メッシュ

CreateMesh

UpdateMesh

DeleteMesh

MoveMesh

CreateAccessPolicy

UpdateAccessPolicy

DeleteAccessPolicy

MoveAccessPolicy

CreateVirtualService

UpdateVirtualService

DeleteVirtualService

MoveVirtualService

CreateVirtualServiceRouteTable

UpdateVirtualServiceRouteTable

DeleteVirtualServiceRouteTable

MoveVirtualServiceRouteTable

CreateVirtualDeployment

UpdateVirtualDeployment

DeleteVirtualDeployment

MoveVirtualDeployment

CreateIngressGateway

UpdateIngressGateway

DeleteIngressGateway

MoveIngressGateway

CreateIngressGatewayRouteTable

UpdateIngressGatewayRouteTable

DeleteIngressGatewayRouteTable

MoveIngressGatewayRouteTable

AccessPolicy

IngressGateway

IngressGatewayRouteTable

Mesh

VirtualDeployment

VirtualService

VirtualServiceRouteTable

CREATED

UPDATED

DELETED

IN_PROGRESS

RELATED

FAILED

リクエスト/レスポンスのサンプル

次に、クラスタを作成するための一連のREST APIコールを示します。これは一般的に長時間実行される操作です。コール元は、最初のPOSTコールのレスポンスから作業リクエストIDを取得し、その後、定期的にWorkRequestをポーリングして操作のステータスを確認します。その後のリクエスト/レスポンス・シーケンスを、次のワークフローとして示します:

  1. ユーザーが、CreateCluster APIコールを発行します。
  2. サービスは、ステータス・コード202で応答して、リクエストが受け入れられたことを示し、opc-work-request-idヘッダーで作業リクエストIDを返します。
  3. 次に、ユーザーは、作業リクエストのステータスを取得するために、作業リクエストIDについてGETコールを発行します。
  4. サービスは、ステータス・コード200で応答し、レスポンス本文でCLUSTER_CREATE操作のステータスがACCEPTEDであることを示します。
  5. ポーリングが続行され、作業リクエストに対してもう1つのGETコールが発行されます。
  6. サービスはステータス・コード200で応答します。レスポンス本文では、操作のSUCCEEDEDが報告されます。

ステップ1CLUSTER_CREATE操作を開始する最初のAPIコール。

POST https://containerengine.eu-frankfurt-1.oraclecloud.com/20180222/clusters
Accept: application/json
authorization: <Redacted>
content-length: 480
Content-Type: application/json
date: Mon, 02 Jul 2018 18:20:03 GMT
host: containerengine.eu-frankfurt-1.oraclecloud.com
opc-client-info: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT
opc-request-id: D7A390ED909C47038C438BA3629FB612
User-Agent: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT (Mac OS X/10.13.5; Java/1.8.0_172; Java HotSpot(TM) 64-Bit Server VM/25.172-b11)
x-content-sha256: S8U8OKQHyTLNViAzgexkjxvF4ctncJJHTjuRfXn0ya4={
   "name":"JavaSDK.CRUD",
   "compartmentId":"ocid1.compartment.oc1..<unique_ID>",
   "vcnId":"ocid1.vcn.oc1.eu-frankfurt-1.<unique_ID>",
   "kubernetesVersion":"v1.10.3",
   "options":{"serviceLbSubnetIds":["ocid1.subnet.oc1.eu-frankfurt-1.<unique_ID>",
   "ocid1.subnet.oc1.eu-frankfurt-1.<unique_ID>"]}}

ステップ2。最初のAPIコールに対するレスポンス。Opc-Work-Request-Idヘッダーに作業リクエストIDが含まれます。

202
Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: opc-work-request-id
Content-Length: 0
Date: Mon, 02 Jul 2018 18:20:04 GMT
Opc-Request-Id: D7A390ED909C47038C438BA3629FB612/33EEDCAAB2E84508B34AA75CD0FD86F4/8261D1CC89814E9BB934440A1F43DA09
Opc-Work-Request-Id: ocid1.clustersworkrequest.oc1.eu-frankfurt-1.exampleuniqueID
Uri: /20180222/clusters
Vary: Accept-Encoding
X-Rate-Limit-Duration: 1
X-Rate-Limit-Limit: 16.70
X-Rate-Limit-Request-Forwarded-For: 10.237.10.0, 10.237.9.51
X-Rate-Limit-Request-Remote-Addr: 10.237.9.51:53077

ステップ3。これは長時間実行中の操作であるため、ユーザーはGETコールを使用して作業リクエストを定期的にポーリングし、ステータスを確認します。

GET https://containerengine.eu-frankfurt-1.oraclecloud.com/20180222/workRequests/<clusters_work_request_OCID>
Accept: application/json
authorization: <Redacted>
date: Mon, 02 Jul 2018 18:20:04 GMT
host: containerengine.eu-frankfurt-1.oraclecloud.com
opc-client-info: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT
opc-request-id: E8F20DAC443346B3B0EA599F367EE294
User-Agent: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT (Mac OS X/10.13.5; Java/1.8.0_172; Java HotSpot(TM) 64-Bit Server VM/25.172-b11)

ステップ4GETコールによって次のレスポンスが返されます。レスポンス本文でCLUSTER_CREATE操作のステータスがACCEPTEDであることが示されます。

200
Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: opc-work-request-id
Content-Length: 717
Content-Type: application/json
Date: Mon, 02 Jul 2018 18:20:05 GMT
Etag: 56a41efaf33d81a54933495ee910c24d7bce7a83adf18810f95e07bdd2055805
Opc-Request-Id: E8F20DAC443346B3B0EA599F367EE294/8B19C9FC3B4442CEA14685D1973D0856/0BA60B0711764DE4A4373071632708C7
Retry-After: 30
Uri: /20180222/workRequests/_id_
Vary: Accept-Encoding
X-Rate-Limit-Duration: 1
X-Rate-Limit-Limit: 16.70
X-Rate-Limit-Request-Forwarded-For: 10.237.10.0, 10.237.9.51
X-Rate-Limit-Request-Remote-Addr: 10.237.9.51:43533
{
  "id": "ocid1.clustersworkrequest.oc1.eu-frankfurt-1.exampleuniqueID",
  "operationType": "CLUSTER_CREATE",
  "status": "ACCEPTED",
  "compartmentId": "ocid1.compartment.oc1..exampleuniqueID",
  "resources": [
    {
      "actionType": "IN_PROGRESS",
      "entityType": "cluster",
      "identifier": "ocid1.cluster.oc1.eu-frankfurt-1.exampleuniqueID",
      "entityUri": "/clusters/ocid1.cluster.oc1.eu-frankfurt-1.exampleuniqueID"
    }
  ],
  "timeAccepted": "2018-07-02T18:20:05Z",
  "timeStarted": null,
  "timeFinished": null
}

ステップ5。操作は続行しています。ユーザーは、引き続き、GETメソッドを使用して作業リクエストをポーリングしています。

GET https://containerengine.eu-frankfurt-1.oraclecloud.com/20180222/workRequests/<clusters_work_request_OCID>
Accept: application/json
authorization: <Redacted>
date: Mon, 02 Jul 2018 18:24:13 GMT
host: containerengine.eu-frankfurt-1.oraclecloud.com
opc-client-info: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT
opc-request-id: 64595B97E39A471A886DA29966BB6B1D
User-Agent: Oracle-JavaSDK/1.2.42-preview1-SNAPSHOT (Mac OS X/10.13.5; Java/1.8.0_172; Java HotSpot(TM) 64-Bit Server VM/25.172-b11)

ステップ6。最後のGETコールで次のレスポンスが生成されました。操作が完了したことが示されます。entityTypeが「cluster」で、actionTypeが「CREATED」であることに注意してください。

200
Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: opc-work-request-id
Content-Length: 750
Content-Type: application/json
Date: Mon, 02 Jul 2018 18:24:14 GMT
Etag: 023d2a8ccb6d893fa8c875f64652353f21d22607825f49eeeb15b5394ae24918
Opc-Request-Id: 64595B97E39A471A886DA29966BB6B1D/3A81140991C94794AF365016E31DBE82/6245FBD8C25842B6BDF15187EA6ADB21
Uri: /20180222/workRequests/_id_
Vary: Accept-Encoding
X-Rate-Limit-Duration: 1
X-Rate-Limit-Limit: 16.70
X-Rate-Limit-Request-Forwarded-For: 10.237.3.0, 10.237.40.183
X-Rate-Limit-Request-Remote-Addr: 10.237.40.183:55856

{
  "id": "ocid1.clustersworkrequest.oc1.eu-frankfurt-1.exampleuniqueID",
  "operationType": "CLUSTER_CREATE",
  "status": "SUCCEEDED",
  "compartmentId": "ocid1.compartment.oc1..exampleuniqueID",
  "resources": [
    {
      "actionType": "CREATED",
      "entityType": "cluster",
      "identifier": "ocid1.cluster.oc1.eu-frankfurt-1.exampleuniqueID",
      "entityUri": "/clusters/ocid1.cluster.oc1.eu-frankfurt-1.exampleuniqueID"
    }
  ],
  "timeAccepted": "2018-07-02T18:20:05Z",
  "timeStarted": "2018-07-02T18:20:10Z",
  "timeFinished": "2018-07-02T18:24:01Z"
}

詳細情報