コマンドレットの作業
この項では、OCI Modules for PowerShellコマンドレットの使用方法について説明します。
OCI Modules for PowerShellコマンドレットは、Oracle Cloud Infrastructure SDK for .NET上に構築されています。これらのコマンドレットは、渡されたコマンドレット・パラメータ値を使用してOracle Cloud Infrastructure REST APIをコールします。
OCI REST APIでは、HTTPSリクエストおよびレスポンスが使用されます。詳細は、APIについてを参照してください
コマンドレットの検出
OCIコマンドレットの名前では動詞- 名詞というペアのパターンが使用されます(動詞は、名詞で示されるリソースに対して実行される操作です(通常、名詞では、サービス名のあとにそのサービス内のリソースの名前が続きます)。
たとえば、次のコマンドを実行すると、OCI Core PowerShellモジュールに含まれる、コンピュート・サービスのコンピューティング・インスタンス・リソースの操作に使用できるすべてのコマンドラインレットが返されます:
PS /> Get-Command -Module OCI.PSModules.Core -Noun "*ComputeInstance*"
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-OCIComputeInstance 0.1.0 OCI.PSModules.Core
Cmdlet Get-OCIComputeInstanceConsoleConnection 0.1.0 OCI.PSModules.Core
Cmdlet Get-OCIComputeInstanceConsoleConnectionsList 0.1.0 OCI.PSModules.Core
Cmdlet Get-OCIComputeInstanceDevicesList 0.1.0 OCI.PSModules.Core
Cmdlet Get-OCIComputeInstancesList 0.1.0 OCI.PSModules.Core
Cmdlet Invoke-OCIComputeInstanceAction 0.1.0 OCI.PSModules.Core
Cmdlet Move-OCIComputeInstanceCompartment 0.1.0 OCI.PSModules.Core
Cmdlet New-OCIComputeInstance 0.1.0 OCI.PSModules.Core
Cmdlet New-OCIComputeInstanceConsoleConnection 0.1.0 OCI.PSModules.Core
Cmdlet Remove-OCIComputeInstanceConsoleConnection 0.1.0 OCI.PSModules.Core
Cmdlet Update-OCIComputeInstance 0.1.0 OCI.PSModules.Core
サンプル・コマンドレット
この例は、OCI Object StorageサービスのGetNamespace
操作をコールする単純なOCIコマンドレットを起動する方法を示します。この操作は、リクエストを行ったユーザーのオブジェクト・ストレージ・ネームスペースの名前を返します。
PS /> Get-OCIObjectStorageNamespace
us-phx-test-namespace
コマンドレットのヘルプ
コマンドレットのヘルプ情報を取得するには、Get-Helpコマンドレットを使用して、コマンドレットの名前をパラメータとして渡します。
詳しいヘルプ情報を取得するには
-Full
パラメータを使用してください。Get-OCIObjectStorageNamespace
コマンドレットのヘルプ出力を示します:PS /> Get-Help Get-OCIObjectStorageNamespace
NAME
Get-OCIObjectStorageNamespace
SYNOPSIS
Invokes ObjectStorage service - GetNamespace operation.
SYNTAX
Get-OCIObjectStorageNamespace [-OpcClientRequestId <String>] [-CompartmentId <String>] [-ConfigFile <String>] [-Endpoint <String>] [-NoRetry
<SwitchParameter>] [-Profile <String>] [-Region <String>] [-FullResponse <SwitchParameter>] [-TimeOutInMillis <Int32>] [<CommonParameters>]
DESCRIPTION
Each Oracle Cloud Infrastructure tenant is assigned one unique and uneditable Object Storage namespace. The namespace is a system-generated string
assigned during account creation. For some older tenancies, the namespace string may be the tenancy name in all lower-case letters. You cannot edit a
namespace. GetNamespace returns the name of the Object Storage namespace for the user making the request. If an optional compartmentId query parameter
is provided, GetNamespace returns the namespace name of the corresponding tenancy, provided the user has access to it.
RELATED LINKS
APIReference https://docs.cloud.oracle.com/en-us/iaas/api/
REMARKS
To see the examples, type: "Get-Help Get-OCIObjectStorageNamespace -Examples"
For more information, type: "Get-Help Get-OCIObjectStorageNamespace -Detailed"
For technical information, type: "Get-Help Get-OCIObjectStorageNamespace -Full"
For online help, type: "Get-Help Get-OCIObjectStorageNamespace -Online
共通パラメータ
この項では、すべてのOCI PowerShellサービス・モジュールに存在するすべてのコマンドレットに共通する、オプションのグローバル・コマンドレット・パラメータについて説明します。
ConfigFile
Oracle Cloudの資格証明を提供する構成ファイルへのパス。
Endpoint
OCI APIコールに使用するサービス・エンドポイントを、必要なAPIバージョン・パスを含めて指定します。たとえば、https://audit.us-ashburn-1.oraclecloud.com
FullResponse
デフォルトでは、OCIコマンドレットはREST API操作のレスポンス本文を出力します。FullResponse
スイッチ・パラメータを含めると、関連付けられた.NETタイプでラップされた、API操作で返される完全なレスポンス(オプションのレスポンス本文に加えてAPIレスポンス・ヘッダーを含むオブジェクト)を出力する必要があることをコマンドレットに指示します。
NoRetry
サービスに対するコールのデフォルトの再試行ロジックを無効にするスイッチ・パラメータ。
デフォルトでは、OCI Modules for PowerShellは、失敗したAPIコール(ステータス・コード400、401、404、409、429および500を返す)を再試行します。再試行では、最長10分間で最大試行回数5回の指数関数的バックオフ・アルゴリズムが使用されます。コマンドレットの呼出しにこのスイッチ・パラメータを含めると、デフォルトの再試行ロジックが無効になります。
Profile
構成ファイルからロードするプロファイルを指定します。このパラメータでは、構成ファイルに大/小文字が区別されるプロファイル名が存在する必要があります。
Region
コールを行うリージョンのRegion-IDを指定します。例: us-phoenix-1
またはap-singapore-1
。
TimeOutInMillis
APIリクエストの完了までの最大待機時間をミリ秒単位で指定します。デフォルト値は100,000ミリ秒(100秒)です。
AuthType
APIリクエストの作成に使用する認証のタイプを定義します。デフォルトでは、構成ファイルのAPIキーが使用されます。有効な値は、ApiKey
またはInstancePrincipal
です。
コマンドレットの入力および出力
この項では、OCIコマンドレットが入力および出力をどのように処理するかについて説明します。
コマンドレットの入力
現在、OCIコマンドレットは、コマンドライン・パラメータからの入力、またはプロパティ名によるパイプラインを介した入力を受け入れます。プロパティ名によりパイプラインを介して入力を渡す例は、このサンプルを参照してください。
コマンドレットの出力
デフォルトでは、OCIコマンドレットは、関連付けられた.NETタイプにカプセル化されたAPIレスポンス本文のみを返します。レスポンス・ヘッダーを含む完全なAPIレスポンスをユーザーが調べる必要があるユースケースでは、コマンドレットの呼出しでFullResponse
スイッチ・パラメータを使用します。
次の例では、OCI AuditサービスのGetConfiguration
操作が、レスポンス本文でConfiguration
リソースを返しています。
次の例を実行するには、
OCI.PSModules.Audit
をインポートします。PS /> Get-OCIAuditConfiguration -CompartmentId $env:CompartmentId | gm
TypeName: Oci.AuditService.Models.Configuration
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
RetentionPeriodDays Property System.Nullable[int] RetentionPeriodDays {get;set;}
前述の出力例で、デフォルトの呼出しによって、APIレスポンス本文をカプセル化する.NETオブジェクトのみが返されます。
完全なAPIレスポンスを含む出力オブジェクトを取得するには、コマンドレットの呼出しに-FullResponse
パラメータを含めます。例:
PS /> Get-OCIAuditConfiguration -CompartmentId $env:CompartmentId -FullResponse | gm
TypeName: Oci.AuditService.Responses.GetConfigurationResponse
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Configuration Property Oci.AuditService.Models.Configuration Configuration {get;set;}
非同期コール
非同期作業リクエスト・レスポンスを返し(レスポンス・ヘッダーにopc-work-request-id
があり、レスポンス本文がない)を返すOracle Cloud APIの場合、OCI PowerShellコマンドレットはOpcWorkRequestId
プロパティを含むOci.PSModules.Common.Cmdlets.WorkRequest
オブジェクトを戻します。
例:
TypeName: Oci.PSModules.Common.Cmdlets.WorkRequest
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
OpcWorkRequestId Property string OpcWorkRequestId {get;set;}
エラー処理
OCIコマンドレットの実行中にエラーが発生すると、コマンドレットは、例外を含むエラー・レコードと根本的な原因に関するエラー・メッセージとともに、終了エラーをスローします。