リクエストの送信

マイクロサービス対応トランザクション・マネージャREST APIを使用してリクエストを送信するときは、次のガイドラインに従います。

Istioイングレス・ゲートウェイのIPアドレスの確認

マイクロサービス対応トランザクション・マネージャをKubernetesクラスタにインストールした場合は、リクエストを送信する前に、Istioイングレス・ゲートウェイの外部IPアドレスを書き留めておく必要があります。

次のコマンドを実行して、Istioイングレス・ゲートウェイの外部IPアドレスを確認します。

コマンド

kubectl get svc istio-ingressgateway -n istio-system

サンプル出力

kubectl get svc istio-ingressgateway -n istio-system
NAME                   TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                                      AGE
istio-ingressgateway   LoadBalancer   10.109........   192.0.2.1     15021:31695/TCP,80:32333/TCP,443:7777/TCP    44h

Istioイングレス・ゲートウェイの外部IPアドレスと、構成したアクセス・プロトコルに応じてHTTPまたはHTTPSトラフィックに関連付けられたポートを書き留めます。たとえば、192.0.2.1:443です。

必要なロール

環境の権限を設定して、管理者のみがマイクロサービス対応トランザクション・マネージャ REST APIを使用してトランザクションを表示および管理できるようにします。

Kubernetes環境でのリクエストのURL構造

マイクロサービス対応トランザクション・マネージャをKubernetesクラスタにインストールした場合、リクエストのURL構造は次のとおりです:

https://<Istio-gateway-IP-address>:<port>/<resource-path>

説明

  • <Istio-gateway-IP-address>:<port>は、環境内のIstioイングレス・ゲートウェイの外部IPアドレスおよびポート番号の値です。

  • <resource-path>: リソースを定義する相対パス。たとえば、/admin/v1/xa-transactionです。

RESTエンドポイントURLの例は、https://192.0.2.1:443/admin/v1/xa-transactionです。

Docker環境でのリクエストのURL構造

マイクロサービス対応トランザクション・マネージャをDocker Swarmにインストールした場合、リクエストのURL構造は次のとおりです:

https://<Docker-registry-IP-address>:<port>/<resource-path>

説明

  • <Docker-registry-IP-address>: 作成したDockerレジストリのIPアドレス。

  • <port>: マイクロサービス対応トランザクション・マネージャのtcs.yamllistenAddrプロパティに入力したポート番号。たとえば、5000です。このポートを介したインバウンドおよびアウトバウンドのHTTPSまたはHTTPトラフィックを許可するために必要なネットワーキング・ルールを設定したことを確認します。
  • <resource-path>: リソースを定義する相対パス。たとえば、/admin/v1/xa-transactionです。

RESTエンドポイントURLの例は、https://198.51.100.1:5000/admin/v1/xa-transactionです。

サポートされているメソッド

次の表にまとめているように、標準のHTTPメソッド・リクエストを使用してトランザクションを表示、更新および削除できます。

HTTPメソッド 説明
POST リクエスト本文でJSON形式のデータを使用し、リクエストを作成します。
GET 指定されたトランザクション(1つまたは複数)に関する情報を取得します。
PUT LRAトランザクションの取消しまたは確定、XAトランザクションのコミット、TCCトランザクションの確定を行うことで、トランザクション・ステータスを更新します。
DELETE TCCトランザクションの取消しまたはXAトランザクションのロールバックを行います。

APIコールの実行対象になる各オブジェクトは、URIを使用して一意に識別されます。メソッドによっては特定のオブジェクトでサポートされないことに注意してください。オブジェクトごとに呼び出すことができるメソッドを確認するには、すべてのRESTエンドポイントを参照してください。

メディア・タイプ

マイクロサービス対応トランザクション・マネージャREST APIでは、次のメディア・タイプがサポートされています:

  • application/json

サポートされているヘッダー

Oracle Compute Cloud Service REST APIは、HTTPリクエストまたはレスポンスのヘッダー・セクションで渡される可能性のある次のヘッダーをサポートしています。

ヘッダー 説明
Content-Type:

APIサーバーに送信されるHTTPリクエスト本文のすべての内容は、JavaScript Object Notation (JSON)でエンコードされる必要があります。また、APIプロトコル・バージョンもリクエスト・メッセージとレスポンス・メッセージ両方のContent-Type:ヘッダーに指定する必要があります。現在使用されているコンテンツ・タイプは、application/jsonです。

サーバーは、レスポンスで予期されるデータのバージョンをContent-Type:ヘッダーに指定します。

クライアントによってリクエストに指定されたバージョンをサーバーがサポートしていない場合は、HTTPステータス・コード415 (Unsupported Media Type)で応答します。サーバーが、クライアントでサポートされているバージョンでレスポンスを送信できない場合は、ステータス・コード406 (Not Acceptable)で応答します。

Content-Type: application/json
Cookie:

Cookie:ヘッダーは、サービスに対するすべてのリクエストに含める必要があります。

Cookie: $COMPUTE_COOKIE

COMPUTE_COOKIEは、認証cookieを格納する変数の名前です認証を参照してください。