Trabajar con cmdlets
En esta sección, se describe cómo utilizar los módulos de OCI para cmdlets PowerShell.
Los módulos OCI para cmdlets de PowerShell se basan en el SDK de Oracle Cloud Infrastructure para .NET. Estos cmdlets hacen llamadas a la API de REST de Oracle Cloud Infrastructure con los valores de parámetros cmdlet transferidos.
Los parámetros de cmdlet se denominan en función de los parámetros de API de REST respectivos que se muestran en la referencia de API.
Las API de REST de OCI utilizan solicitudes y respuestas HTTPS. Para obtener más información, consulte Acerca de la API.
Detección de cmdlet
Los cmdlets de OCI se denominan con un patrón de par verbo -noun, donde verbo es la operación denota el nombre en el recurso, que generalmente incluye el nombre de servicio seguido del nombre de ese recurso en ese servicio.
Por ejemplo, el siguiente comando devuelve todos los cmdlets disponibles para trabajar con un recursos de instancia informática en el servicio de recursos informáticos, que es parte del módulo 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
El estándar Get-Command se puede utilizar para encontrar cmdlets presentes en cualquier módulo.
Cmdlet de ejemplo
En este ejemplo, se muestra cómo llamar a un cmdlet de OCI simple que llama a la operación GetNamespace
del servicio Object Storage de OCI. Esta operación devuelve el nombre del espacio de nombres de Object Storage al usuario que realiza la solicitud.
Instale e importe el servicio ObjectStorage antes de probar este ejemplo. Para obtener más información, consulte Instalación.
PS /> Get-OCIObjectStorageNamespace
us-phx-test-namespace
Ayuda de cmdlet
Para obtener información de ayuda para un cmdlet, utilice el Obtener ayuda de cmdlet, transfiriendo el nombre del cmdlet como parámetro.
Para obtener información de ayuda más detallada, utilice el parámetro
-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
Parámetros comunes
En esta sección, se describen los parámetros cmdlet opcionales comunes a todos los cmdlets presentes en cualquier módulo de servicio PowerShell de OCI.
ConfigFile
Ruta de acceso al archivo de configuración que proporciona credenciales para Oracle Cloud.
Endpoint
Indica el punto final de servicio que se utilizará para las llamadas de API de OCI, incluida cualquier ruta de acceso de versión de API necesaria. Por ejemplo, https://audit.us-ashburn-1.oraclecloud.com
FullResponse
Por defecto, los cmdlets de OCI muestran el cuerpo de respuesta de la operación de API de REST. Incluir el parámetro de conmutador FullResponse
indica que el cmdlet debe producir la respuesta completa que devuelve la operación de API ajustada a su tipo .NET asociado (un objeto que contiene cabeceras de respuesta de API además de un cuerpo de respuesta opcional).
NoRetry
Un parámetro de conmutador para desactivar la lógica de reintento por defecto para llamadas a servicios.
Por defecto, los módulos OCI para PowerShell han fallado al reintentar las llamadas de API que devuelven los códigos de estado 400, 401, 404, 409, 429 y 500. Los reintentos utilizan un algoritmo de retroceso exponencial con un máximo de 5 intentos durante un período de tiempo máximo de 10 minutos. Incluya este parámetro de conmutador en la llamada de cmdlet para desactivar la lógica de reintento por defecto.
Profile
Especifica qué perfil del archivo de configuración cargar. Este parámetro espera que exista un nombre del perfil sensible a mayúsculas/minúsculas en el archivo de configuración.
Region
Especifica el ID de región de la región en la que se deben realizar llamadas. Por ejemplo: us-phoenix-1
o ap-singapore-1
.
TimeOutInMillis
Especifica el tiempo máximo de espera en milisegundos para terminar la solicitud de API. El valor por defecto es 100 000 milisegundos (100 segundos).
AuthType
Define el tipo de autenticación que se utilizará para realizar solicitudes de API. Por defecto, se utiliza la clave de API del archivo de configuración. Los valores válidos son ApiKey
o InstancePrincipal
.
Entrada y salida de cmdlet
En esta sección se describe cómo los cmdlets de OCI procesan la entrada y la salida.
Entrada de cmdlet
Los cmdlets de OCI aceptan actualmente entradas de parámetros de línea de comandos o mediante pipeline por nombres de propiedad. Para ver un ejemplo sobre cómo transferir entradas por pipeline por nombre de propiedad, consulte este ejemplo.
Salida de cmdlet
Por defecto, los cmdlets de OCI devuelven solo el cuerpo de respuesta de API encapsulado en un tipo .NET asociado. Para casos de uso que requieran que los usuarios inspeccionen la respuesta completa de la API, incluidas las cabeceras de respuesta, utilice el parámetro de conmutador FullResponse
en la llamada de cmdlet.
En el siguiente ejemplo, la operación GetConfiguration
del servicio de auditoría de OCI devuelve un recurso Configuration
en el cuerpo de respuesta.
Para ejecutar el siguiente ejemplo, importe
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;}
En la salida de ejemplo anterior, la llamada por defecto solo devuelve el objeto .NET que encapsula el cuerpo de respuesta de API.
Para obtener un objeto de salida que incluya la respuesta completa de API, incluya el parámetro -FullResponse
en la llamada de cmdlet. Por ejemplo:
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;}
Llamadas asíncronas
Para las APIs de Oracle Cloud que devuelven una respuesta de solicitud de trabajo asíncrona, con opc-work-request-id
en la cabecera de respuesta y sin cuerpo de respuestas, los cmdlets de PowerShell de OCI devuelven un objeto Oci.PSModules.Common.Cmdlets.WorkRequest
que contiene la propiedad OpcWorkRequestId
.
Por ejemplo:
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;}
Gestión de errores
Si se produce un error al ejecutar un cmdlet de OCI, el cmdlet devuelve un error de terminacióncon un registro de error que contiene la excepción y un mensaje de error sobre la causa subyacente.