Utilisation des applets de commande
Cette section décrit comment utiliser les modules OCI pour les applets de commande PowerShell.
Les applets de commande des modules OCI pour PowerShell reposent sur la trousse SDK Oracle Cloud Infrastructure pour .NET. Ces applets de commande appellent les API REST Oracle Cloud Infrastructure avec les valeurs de paramètre d'applet de commande transmises.
Les noms des paramètres des applets de commande correspondent à ceux des paramètres d'API REST respectifs, tels qu'ils sont répertoriés dans les informations de référence sur les API.
Les API REST OCI utilisent des demandes et des réponses HTTPS. Pour plus d'informations, voir À propos de l'API.
Présentation des applets de commande
Les cmdlets OCI sont nommés à l'aide d'un modèle de paire verbe -nom, où le verbe est l'opération effectuée sur la ressource indiquée par le nom, qui inclut généralement le nom du service suivi du nom de la ressource dans ce service.
Par exemple, la commande suivante retourne tous les cmdlets disponibles pour être utilisés avec une ressource d'instance de calcul du service de calcul, qui fait partie du module 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
L'applet de commande Get-Command standard peut être utilisé pour rechercher des applets de commande présents dans n'importe quel module.
Exemple d'applet de commande
Cet exemple montre comment appeler un applet de commande OCI simple qui appelle l'opération GetNamespace du service de stockage d'objets pour OCI. Cette opération retourne le nom de l'espace de noms de stockage d'objets pour l'utilisateur qui fait la demande.
Installez et importez le service de stockage d'objets avant d'essayer cet exemple. Pour plus d'information, voir Installation.
PS /> Get-OCIObjectStorageNamespace
us-phx-test-namespace
Aide sur un applet de commande
Pour obtenir des informations d'aide pour un applet de commande, utilisez l'applet de commande Get-Help, en transmettant le nom de l'applet de commande comme paramètre.
Pour obtenir des informations d'aide plus détaillées, utilisez le paramètre
-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
Paramètres communs
Cette section décrit les paramètres globaux facultatifs communs à tous les applets de commande présents dans n'importe quel module de service PowerShell OCI.
ConfigFile
Chemin d'accès au fichier de configuration qui fournit les données d'identification pour Oracle Cloud.
Endpoint
Indique le point d'extrémité de service à utiliser pour les appels d'API OCI, y compris le chemin de version d'API requis. Par exemple, https://audit.us-ashburn-1.oraclecloud.com
FullResponse
Par défaut, les applets de commande OCI affichent le corps de réponse de l'opération d'API REST. L'inclusion du paramètre de commutateur FullResponse indique que l'applet de commande doit produire la réponse complète retournée par l'opération d'API encapsulée dans son type .NET associé (un objet contenant des en-têtes de réponse d'API en plus d'un corps de réponse facultatif).
NoRetry
Paramètre de commutation permettant de désactiver la logique de nouvelles tentatives par défaut pour les appels aux services.
Par défaut, les modules OCI pour PowerShell lancent de nouvelles tentatives pour les appels d'API en échec qui retournent les codes de statut 400, 401, 404, 409, 429 et 500. Les nouvelles tentatives utilisent un algorithme d'interruption exponentielle avec un maximum de 5 tentatives sur une période maximale de 10 minutes. Incluez ce paramètre de commutateur dans l'appel d'applet de commande pour désactiver la logique de nouvelles tentatives par défaut.
Profile
Indique le profil à charger à partir du fichier de configuration. Ce paramètre s'attend à ce qu'un nom de profil sensible à la casse existe dans le fichier de configuration.
Region
Indique l'ID région de la région par rapport à laquelle effectuer des appels. Par exemple : us-phoenix-1 ou ap-singapore-1.
TimeOutInMillis
Indique le délai d'attente maximal en millisecondes pour la fin de la demande d'API. La valeur par défaut est 100 000 millisecondes (100 secondes).
AuthType
Définit le type d'authentification à utiliser pour faire des demandes d'API. Par défaut, la clé d'API de votre fichier de configuration est utilisée. Les valeurs valides sont ApiKey ou InstancePrincipal.
Entrée et sortie d'applet de commande
Cette section décrit comment les applets de commande OCI traitent l'entrée et la sortie.
Entrée d'applet de commande
Les applets de commande OCI acceptent actuellement les entrées des paramètres de ligne de commande ou par pipeline par nom de propriété. Pour voir un exemple sur la transmission des entrées par pipeline par nom de propriété, consultez cet exemple.
Sortie d'applet de commande
Par défaut, les applets de commande OCI retournent uniquement le corps de réponse de l'API encapsulé dans un type .NET associé. Pour les cas d'utilisation qui nécessitent que les utilisateurs inspectent la réponse d'API complète, y compris les en-têtes de réponse, utilisez le paramètre de commutateur FullResponse dans l'appel de l'applet de commande.
Dans l'exemple suivant, l'opération GetConfiguration du service de vérification pour OCI retourne une ressource Configuration dans le corps de la réponse.
Pour exécuter l'exemple suivant, importez
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;}
Dans la sortie de l'exemple ci-dessus, l'appel par défaut retourne uniquement l'objet .NET qui encapsule le corps de la réponse d'API.
Pour obtenir un objet de sortie qui inclut la réponse d'API complète, incluez le paramètre -FullResponse dans l'appel de l'applet de commande. Par exemple :
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;}
Appels asynchrones
Pour les API Oracle Cloud qui retournent une réponse de demande de travail asynchrone, avec opc-work-request-id dans l'en-tête de réponse et aucun corps de réponse, les applets de commande OCI PowerShell retournent un objet Oci.PSModules.Common.Cmdlets.WorkRequest contenant la propriété OpcWorkRequestId .
Par exemple :
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;}
Traitement des erreurs
Si une erreur se produit lors de l'exécution d'un applet de commande OCI, l'applet de commande génère une erreur de fin avec un enregistrement d'erreur contenant l'exception et un message d'erreur sur la cause sous-jacente.