リクエストの送信
Compute Classic REST APIを使用してリクエストを送信する場合は、次のガイドラインを使用してください。
URLの構造
REST API呼び出しを使用してCompute Classicリソースに対して操作を実行するには、リソースの完全修飾URIを指定する必要があります。
リソースの完全修飾URIの形式は次のとおりです:
https://{api_endpoint}/{resource_base_path}/{resource_name}
-
api_endpointは、Compute Classicリソースを管理するサイトのRESTエンドポイントURLです。 このガイドの一部の例では、RESTエンドポイントのURLとしてhttps://api-z999.compute.us0.oraclecloud.comが使用されています。 サイトのRESTエンドポイントURLを調べるには:-
クラウド・アカウントにログインし、My Servicesダッシュボードにナビゲートします。
-
Oracle Cloudについては、「Oracle Cloudスタート・ガイド」の「あなたのクラウド・アカウントにサインイン」を参照してください。
-
Oracle Cloud at Customerの場合は、ウェルカム・メールからMy Services URLをクリックします。
「Oracle Cloud My Services Dashboard」ページが表示されます。 あなたのアカウントに割り当てられているサービスを一覧表示します。
-
-
ページの左上隅近くの
をクリックします。 「CLOUD SERVICES」メニューが表示されます。
-
「Compute」を選択します。
Compute Classicコンソールが表示されます。
-
ページの上部にある「サイト」をクリックし、RESTエンドポイントURLを検索するサイトを選択します。
-
表示されるSite Selectorダイアログ・ボックスで、「RESTエンドポイント」フィールドにURLを書き留めます。
-
-
resource_base_pathはリソースのベースURIです。 たとえば、SSH公開キーの場合、ベースURIは/sshkeyになります。 リソース・パスをアルファベット順に並べたRESTリソースを表示するには、「すべてのRESTエンドポイント」を参照してください。 -
resource_nameは、特定のリソースの複数の部分からなる名前です。 ほとんどのリソースには、認証時に渡す2つの部分からなるユーザー名と、それに続くオブジェクト名で構成される3つの部分からなる名前があります:{two-part-user-name}/{object_id}-
従来のクラウド・アカウントを使用している場合は、
resource_nameに次の形式を使用します:/Compute-{identityDomainName}/{user}/{object_id} -
Identity Cloud Service(IDCS)でクラウド・アカウントを使用している場合は、
resource_nameに次の形式を使用します:/Compute-{serviceInstanceID}/{user}/{object_id}
2部構成のユーザー名の識別の詳細については、「認証」を参照してください。
-
注意:
このドキュメントのすべての例では、2つの部分からなるユーザー名として/Compute-acme/jack.jones@example.comを使用しています。 IDCSのクラウド・アカウントを使用している場合は、2部構成のユーザー名のacmeをサービス・インスタンスIDに置き換えます。
例
たとえば、次は、acmeアイデンティティ・ドメインのjack.jones@example.comユーザーによって作成された、key1という名前のsshkeyオブジェクトの完全修飾URIです。
https://api-z999.compute.us0.oraclecloud.com/sshkey/Compute-acme/jack.jones@example.com/key1
-
オブジェクトの追加リクエストは、そのリソースのベース・パスに対して行われる必要があります。 たとえば、SSHキーを追加するには、次のURIを指定します。
https://api-z999.compute.us0.oraclecloud.com/sshkey/
-
オブジェクトの更新または削除リクエストは、オブジェクトの完全リソース名に対して行われる必要があります。 たとえば、
/Compute-acme/jack.jones@example.com/key1SSHキーを削除または更新するには、次のURIを指定します。https://api-z999.compute.us0.oraclecloud.com/sshkey/Compute-acme/jack.jones@example.com/key1
サポートされるメソッド
次の表に示すように、標準のHTTPメソッド・リクエストを使用してCompute Classicオブジェクトに対して基本的なCRUD操作(作成、読み取り、更新、および削除)を実行できます。
| HTTPメソッド | 説明 |
GET |
リクエストURIで指定されたオブジェクトに関する情報を取得します。 |
POST |
リクエスト本文でJSON形式のデータを使用して、オブジェクトを作成します。 |
PUT |
リクエスト本文でJSON形式のデータを使用して、オブジェクトの属性を更新します。 このリクエストを使用して、オブジェクトの1つまたは複数の属性を更新します。 |
DELETE |
リクエストURIで指定されたオブジェクトを削除します。 |
API呼び出しを実行できる各オブジェクトは、そのURIによって一意に識別されます。 これらのメソッドの中には、特定のオブジェクトでサポートされていないものがあることに注意してください。 各オブジェクトの起動用メソッドを確認するには、「すべてのRESTエンドポイント」を参照してください。
メディア・タイプ
Compute Classic REST APIでは、次のメディア・タイプがサポートされています:
-
application/json
サポートされているヘッダー
Compute Classic REST APIは、HTTPリクエストまたはレスポンスのヘッダー・セクションで渡される可能性のある次のヘッダーをサポートしています。
| ヘッダー | 説明 | 例 |
Accept: |
いくつかの例外を除いて、Compute Classic APIはJSONエンコードされたデータをレスポンスに返します。 そのため、これを示すように
|
Accept: application/oracle-compute-v3+json |
Accept-Encoding: |
圧縮をサポートするための受け入れ可能なエンコードのリスト。 APIでは、UTF-8でエンコードされたデータの送信および受信のみがサポートされています。 JSONデータなどの文字データをエンコードおよびデコードするように、HTTPクライアントが適切に設定されていることを確認してください。 |
Accept-Encoding: gzip;q=1.0, identity; q=0.5 |
Content-Encoding |
圧縮をサポートするための受け入れ可能なエンコードのリスト。 | Content-Encoding: deflate |
Content-Type: |
APIサーバーに送信されるHTTPリクエスト本文のすべてのコンテンツは、JavaScript Object Notation (JSON)でエンコードされている必要があります。 APIプロトコルのバージョンは、リクエスト・メッセージとレスポンス・メッセージの両方の
サーバーで、予期されるレスポンス内のデータのバージョンが サーバーが、クライアント側でリクエストに指定されているバージョンをサポートしていない場合は、HTTPステータス・コード415 (「Unsupported Media Type」)が返信されます。 サーバーが、クライアントでサポートされているバージョンでレスポンスを送信できない場合は、ステータス・コード406 (「Not Acceptable」)が返信されます。 |
Content-Type: application/oracle-compute-v3+json |
Cookie: |
|
Cookie: $COMPUTE_COOKIE
|
圧縮
改善されたパフォーマンスのために、Compute Classic RESTリソースのリクエストとレスポンスで圧縮を使用してください。 圧縮を使用するには、リクエストにAccept-EncodingまたはContent-EncodingのHTTPヘッダーのいずれか1つを含めます。