Utilizzo di Cmdlets

In questa sezione viene descritto come utilizzare i moduli OCI per i cmdlet PowerShell.

I moduli OCI per i cmdlet PowerShell si basano su Oracle Cloud Infrastructure SDK for .NET. Questi cmdlet effettuano chiamate alle API REST di Oracle Cloud Infrastructure con i valori dei parametri del cmdlet passati.

Nota

I parametri Cmdlet sono denominati corrispondenti ai rispettivi parametri API REST elencati nel riferimento API.

Le API REST OCI utilizzano richieste e risposte HTTPS. Per ulteriori informazioni, vedere Informazioni sull'interfaccia API.

Ricerca automatica cmdlet

I Cmdlet OCI vengono denominati utilizzando un pattern di coppia verb -noun, in cui verb è l'operazione eseguita sulla risorsa denotata da noun, che in genere include il nome del servizio seguito dal nome della risorsa in tale servizio.

Ad esempio, il comando seguente restituisce tutti i cmdlet disponibili per l'utilizzo con una risorsa di istanza di computazione nel servizio di computazione, che fa parte del modulo PowerShell di base OCI:

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
Nota

Il comando Get-Command standard può essere utilizzato per trovare i cmdlet presenti in qualsiasi modulo.

Cmdlet di esempio

Questo esempio mostra come richiamare un semplice cmdlet OCI che richiama l'operazione GetNamespace del servizio di storage degli oggetti OCI. Questa operazione restituisce il nome dello spazio di nomi dello storage degli oggetti per l'utente che effettua la richiesta.

Nota

Prima di provare questo esempio, installare e importare il servizio ObjectStorage. Per maggiori informazioni, vedere Installazione.
PS /> Get-OCIObjectStorageNamespace
  
us-phx-test-namespace

Guida di Cmdlet

Per ottenere informazioni sulla Guida per un cmdlet, utilizzare il cmdlet Get-Help, passando il nome del cmdlet come parametro.

Nota

Per informazioni più dettagliate sulla Guida, utilizzare il parametro -Full.
Questo esempio mostra l'output della Guida per il cmdlet 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

Parametri comuni

Questa sezione descrive i parametri opzionali del cmdlet globale comuni a tutti i cmdlet presenti in qualsiasi modulo del servizio PowerShell OCI.

ConfigFile

Il percorso del file di configurazione che fornisce le credenziali per Oracle Cloud.

Endpoint

Indica l'endpoint del servizio da utilizzare per le chiamate API OCI, incluso qualsiasi percorso di versione API richiesto. Ad esempio, https://audit.us-ashburn-1.oraclecloud.com

FullResponse

Per impostazione predefinita, i Cmdlet OCI restituiscono il corpo della risposta dell'operazione API REST. L'inclusione del parametro switch FullResponse indica che il cmdlet deve eseguire l'output della risposta completa restituita dall'operazione API con wrapping nel tipo .NET associato (un oggetto contenente intestazioni di risposta API oltre a un corpo di risposta facoltativo).

NoRetry

Parametro switch per disabilitare la logica dei nuovi tentativi predefinita per le chiamate ai servizi.

Per impostazione predefinita, i moduli OCI per PowerShell ripetono le chiamate API non riuscite che restituiscono i codici di stato 400, 401, 404, 409, 429 e 500. I nuovi tentativi utilizzano un algoritmo di backoff esponenziale con un massimo di 5 tentativi in un arco di tempo massimo di 10 minuti. Includere questo parametro switch nel richiamo del cmdlet per disabilitare la logica dei nuovi tentativi predefinita.

Profilo

Specifica il profilo da caricare dal file di configurazione. Questo parametro prevede che nel file di configurazione esista un nome di profilo con distinzione tra maiuscole e minuscole.

Region

Specifica l'ID area dell'area in cui effettuare le chiamate. Ad esempio: us-phoenix-1 o ap-singapore-1.

TimeOutInMillis

Specifica il tempo di attesa massimo in millisecondi per il completamento della richiesta API. Il valore predefinito è 100.000 millisecondi (100 secondi).

AuthType

Definisce il tipo di autenticazione da utilizzare per l'esecuzione di richieste API. Per impostazione predefinita, viene utilizzata la chiave API nel file di configurazione. I valori validi sono ApiKey o InstancePrincipal.

Input e Output Cmdlet

In questa sezione viene descritto come i Cmdlet OCI elaborano l'input e l'output.

Input Cmdlet

I Cmdlet OCI attualmente accettano input dai parametri della riga di comando o tramite pipeline in base ai nomi delle proprietà. Per visualizzare un esempio di passaggio degli input tramite la pipeline in base al nome della proprietà, fare riferimento a questo esempio.

Output Cmdlet

Per impostazione predefinita, i Cmdlet OCI restituiscono solo il corpo della risposta API incapsulato in un tipo .NET associato. Per i casi d'uso che richiedono agli utenti di ispezionare la risposta API completa, incluse le intestazioni di risposta, utilizzare il parametro dello switch FullResponse nel richiamo del cmdlet.

Nell'esempio seguente, l'operazione GetConfiguration nel servizio di audit OCI restituisce una risorsa Configuration nel corpo della risposta.

Nota

Per eseguire l'esempio seguente, importare 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;}

Nell'output di esempio precedente, il richiamo predefinito restituisce solo l'oggetto .NET che incapsula il corpo della risposta API.

Per ottenere un oggetto di output che include la risposta API completa, includere il parametro -FullResponse nel richiamo del cmdlet. Ad esempio:

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;}

Chiamate asincrone

Per le API Oracle Cloud che restituiscono una risposta richiesta di lavoro asincrona, con opc-work-request-id nell'intestazione della risposta e nessun corpo della risposta, i Cmdlet PowerShell OCI restituiscono un oggetto Oci.PSModules.Common.Cmdlets.WorkRequest contenente la proprietà OpcWorkRequestId.

Ad esempio:


   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;}

Gestione errori

Se si verifica un errore durante l'esecuzione di un Cmdlet OCI, il cmdlet genera un errore di terminazione con un record di errore contenente l'eccezione e un messaggio di errore relativo alla causa di base.