As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Aliases e descoberta de cmdlet
Esta seção mostra como listar serviços que são compatíveis com o AWS Tools for PowerShell, como mostrar o conjunto de cmdlets fornecido pelo AWS Tools for PowerShell para apoiar esses serviços e como encontrar nomes de cmdlet alternativos (também chamados de aliases) para acessar esses serviços.
Descoberta de cmdlets
Todas as operações de serviços da AWS (ou APIs) são documentadas no Guia de referência da API para cada serviço. Por exemplo, consulte Referência da API do IAM. Há, na maioria dos casos, uma correspondência um-para-um entre a API de um serviço da AWS e um cmdlet do PowerShell da AWS. Para obter o nome do cmdlet correspondente a um nome de API de serviço da AWS, execute o cmdlet Get-AWSCmdletName
da AWS com o parâmetro -ApiOperation
e o nome da API de serviço da AWS. Por exemplo, para obter todos os nomes de cmdlet baseados em qualquer API de serviço da AWS DescribeInstances
disponível, execute o seguinte comando:
PS >
Get-AWSCmdletName -ApiOperation DescribeInstances
CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Get-EC2Instance DescribeInstances Amazon Elastic Compute Cloud EC2 Get-GMLInstance DescribeInstances Amazon GameLift Service GML
O parâmetro -ApiOperation
é o parâmetro padrão, portanto, você pode omitir o nome do parâmetro. O exemplo a seguir é equivalente ao anterior:
PS >
Get-AWSCmdletName DescribeInstances
Se você sabe os nomes da API e do produto, inclua o parâmetro -Service
junto com o prefixo do substantivo do cmdlet ou parte do nome do serviço da AWS. Por exemplo, o prefixo de substantivo do cmdlet para Amazon EC2 é EC2
. Para obter o nome do cmdlet que corresponde à API DescribeInstances
no serviço Amazon EC2, execute um dos comandos a seguir. Todos eles resultam na mesma saída:
PS >
Get-AWSCmdletName -ApiOperation DescribeInstances -Service EC2
PS >
Get-AWSCmdletName -ApiOperation DescribeInstances -Service Compute
PS >
Get-AWSCmdletName -ApiOperation DescribeInstances -Service "Compute Cloud"
CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Get-EC2Instance DescribeInstances Amazon Elastic Compute Cloud EC2
Valores de parâmetro nesses comandos fazem distinção de maiúsculas e minúsculas.
Se não souber o nome da API do serviço da AWS ou do serviço da AWS desejado, você poderá usar o parâmetro -ApiOperation
junto com o padrão para fazer a correspondência e o parâmetro -MatchWithRegex
. Por exemplo, para obter todos os nomes de cmdlets disponíveis que contêm SecurityGroup
, execute o comando a seguir.
PS >
Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex
CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Approve-ECCacheSecurityGroupIngress AuthorizeCacheSecurityGroupIngress Amazon ElastiCache EC Get-ECCacheSecurityGroup DescribeCacheSecurityGroups Amazon ElastiCache EC New-ECCacheSecurityGroup CreateCacheSecurityGroup Amazon ElastiCache EC Remove-ECCacheSecurityGroup DeleteCacheSecurityGroup Amazon ElastiCache EC Revoke-ECCacheSecurityGroupIngress RevokeCacheSecurityGroupIngress Amazon ElastiCache EC Add-EC2SecurityGroupToClientVpnTargetNetwrk ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroup DescribeSecurityGroups Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroupReference DescribeSecurityGroupReferences Amazon Elastic Compute Cloud EC2 Get-EC2StaleSecurityGroup DescribeStaleSecurityGroups Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupEgress AuthorizeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 New-EC2SecurityGroup CreateSecurityGroup Amazon Elastic Compute Cloud EC2 Remove-EC2SecurityGroup DeleteSecurityGroup Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupEgress RevokeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupIngress RevokeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleEgressDescription UpdateSecurityGroupRuleDescriptionsEgress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress Amazon Elastic Compute Cloud EC2 Edit-EFSMountTargetSecurityGroup ModifyMountTargetSecurityGroups Amazon Elastic File System EFS Get-EFSMountTargetSecurityGroup DescribeMountTargetSecurityGroups Amazon Elastic File System EFS Join-ELBSecurityGroupToLoadBalancer ApplySecurityGroupsToLoadBalancer Elastic Load Balancing ELB Set-ELB2SecurityGroup SetSecurityGroups Elastic Load Balancing V2 ELB2 Enable-RDSDBSecurityGroupIngress AuthorizeDBSecurityGroupIngress Amazon Relational Database Service RDS Get-RDSDBSecurityGroup DescribeDBSecurityGroups Amazon Relational Database Service RDS New-RDSDBSecurityGroup CreateDBSecurityGroup Amazon Relational Database Service RDS Remove-RDSDBSecurityGroup DeleteDBSecurityGroup Amazon Relational Database Service RDS Revoke-RDSDBSecurityGroupIngress RevokeDBSecurityGroupIngress Amazon Relational Database Service RDS Approve-RSClusterSecurityGroupIngress AuthorizeClusterSecurityGroupIngress Amazon Redshift RS Get-RSClusterSecurityGroup DescribeClusterSecurityGroups Amazon Redshift RS New-RSClusterSecurityGroup CreateClusterSecurityGroup Amazon Redshift RS Remove-RSClusterSecurityGroup DeleteClusterSecurityGroup Amazon Redshift RS Revoke-RSClusterSecurityGroupIngress RevokeClusterSecurityGroupIngress Amazon Redshift RS
Se você souber o nome do serviço da AWS, mas não a API do serviço da AWS, adicione o parâmetro -MatchWithRegex
e o parâmetro -Service
para limitar a pesquisa a um único serviço. Por exemplo, para obter todos os nomes de cmdlets que contêm SecurityGroup
apenas no serviço do Amazon EC2, execute o comando a seguir.
PS >
Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex -Service EC2
CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Add-EC2SecurityGroupToClientVpnTargetNetwrk ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroup DescribeSecurityGroups Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroupReference DescribeSecurityGroupReferences Amazon Elastic Compute Cloud EC2 Get-EC2StaleSecurityGroup DescribeStaleSecurityGroups Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupEgress AuthorizeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 New-EC2SecurityGroup CreateSecurityGroup Amazon Elastic Compute Cloud EC2 Remove-EC2SecurityGroup DeleteSecurityGroup Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupEgress RevokeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupIngress RevokeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleEgressDescription UpdateSecurityGroupRuleDescriptionsEgress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress Amazon Elastic Compute Cloud EC2
Se você souber o nome do comando AWS Command Line Interface (AWS CLI), você pode usar o parâmetro -AwsCliCommand
e o nome do comando AWS CLI desejado para obter o nome do cmdlet baseado na mesma API. Por exemplo, para obter o nome do cmdlet correspondente à chamada de comando authorize-security-group-ingress
da AWS CLI no serviço Amazon EC2, execute o seguinte comando:
PS >
Get-AWSCmdletName -AwsCliCommand "aws ec2 authorize-security-group-ingress"
CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2
O cmdlet Get-AWSCmdletName
precisa do nome do comando da AWS CLI apenas o suficiente para identificar o serviço e a API da AWS.
Para obter uma lista de todos os cmdlets no Tools for PowerShell Core, execute o cmdlet Get-Command
do PowerShell, conforme mostrado no exemplo a seguir.
PS >
Get-Command -Module AWSPowerShell.NetCore
Você pode executar o mesmo comando com -Module AWSPowerShell
para ver os cmdlets no AWS Tools for Windows PowerShell.
O cmdlet Get-Command
gera a lista de cmdlets em ordem alfabética. Observe que, por padrão, a lista é classificada por verbo do PowerShell, em vez de substantivo do PowerShell.
Para classificar os resultados por serviço, execute o comando a seguir:
PS >
Get-Command -Module AWSPowerShell.NetCore | Sort-Object Noun,Verb
Para filtrar os cmdlets retornados pelo cmdlet Get-Command
, canalize a saída para o cmdlet Select-String
do PowerShell. Por exemplo, para visualizar o conjunto de cmdlets com regiões da AWS, execute o seguinte comando:
PS >
Get-Command -Module AWSPowerShell.NetCore | Select-String region
Clear-DefaultAWSRegion Copy-HSM2BackupToRegion Get-AWSRegion Get-DefaultAWSRegion Get-EC2Region Get-LSRegionList Get-RDSSourceRegion Set-DefaultAWSRegion
Você também pode encontrar cmdlets para um serviço específico filtrando o prefixo de serviço de substantivos de cmdlet. Para ver a lista de prefixos de serviço disponíveis, execute Get-AWSPowerShellVersion -ListServiceVersionInfo
. O exemplo a seguir retorna cmdlets que oferecem suporte ao serviço Amazon CloudWatch Events.
PS >
Get-Command -Module AWSPowerShell -Noun CWE*
CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Disable-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Disable-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Enable-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Enable-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventBusList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventSourceList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSourceAccountList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSourceList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERuleDetail 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERuleNamesByTarget 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWETargetsByRule 3.3.563.1 AWSPowerShell.NetCore Cmdlet New-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet New-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEPermission 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWETarget 3.3.563.1 AWSPowerShell.NetCore Cmdlet Test-CWEEventPattern 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEEvent 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEPartnerEvent 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEPermission 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWETarget 3.3.563.1 AWSPowerShell.NetCore
Nomenclatura de cmdlets e aliases
Os cmdlets no AWS Tools for PowerShell de cada serviço são baseados em métodos fornecidos pelo AWS SDK para o serviço. No entanto, devido a convenções de nomenclatura obrigatórias do PowerShell, o nome de um cmdlet pode ser diferente do nome da chamada ou método de API no qual é baseado. Por exemplo, o cmdlet Get-EC2Instance
é baseado no método DescribeInstances
do Amazon EC2.
Em alguns casos, o nome do cmdlet pode ser semelhante a um nome de método, mas talvez execute uma função diferente. Por exemplo, o método GetObject
do Amazon S3 recupera um objeto do Amazon S3. No entanto, o cmdlet Get-S3Object
retorna informações sobre um objeto do Amazon S3 em vez do próprio objeto.
PS >
Get-S3Object -BucketName text-content -Key aws-tech-docs
ETag : "df000002a0fe0000f3c000004EXAMPLE" BucketName : aws-tech-docs Key : javascript/frameset.js LastModified : 6/13/2011 1:24:18 PM Owner : Amazon.S3.Model.Owner Size : 512 StorageClass : STANDARD
Para obter um objeto do S3 com o AWS Tools for PowerShell, execute o cmdlet Read-S3Object
.
PS >
Read-S3Object -BucketName text-content -Key text-object.txt -file c:\tmp\text-object-download.text
Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/5/2012 7:29 PM 20622 text-object-download.text
nota
A ajuda de um cmdlet da AWS fornece o nome da API do AWS SDK no qual o cmdlet é baseado.
Para obter mais informações sobre os verbos padrão do PowerShell e seus significados, consulte Verbos aprovados para comandos do PowerShell
Todos os cmdlets da AWS que usam o verbo Remove
, e o cmdlet Stop-EC2Instance
quando você adiciona o parâmetro -Terminate
, solicitam confirmação antes de continuar. Para ignorar a confirmação, adicione o parâmetro -Force
ao seu comando.
Importante
Os cmdlets da AWS não oferecem suporte à opção -WhatIf
.
Aliases
Configuração das instalações de AWS Tools for PowerShell e arquivos de alias que contêm alias para muitos cmdlets da AWS. Você pode considerar esses aliases mais intuitivos do que os nomes dos cmdlets. Por exemplo, nomes de serviço e nomes de método do AWS SDK substituem verbos e substantivos do PowerShell em alguns alias. Um exemplo é o alias EC2-DescribeInstances
.
Outros aliases usam verbos que, embora não sigam as convenções padrão do PowerShell, podem descrever melhor a operação real. Por exemplo, o arquivo de alias mapeia o alias Get-S3Content
para o cmdlet Read-S3Object
.
PS >
Set-Alias -Name Get-S3Content -Value Read-S3Object
O arquivo de aliases está localizado no diretório de instalação do AWS Tools for PowerShell. Para carregar os aliases em seu ambiente, faça dot-source do arquivo. Veja a seguir um exemplo de Windows.
PS >
. "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowershell\AWSAliases.ps1"
Para um shell do Linux ou macOS, ele pode ter a seguinte aparência:
. ~/.local/share/powershell/Modules/AWSPowerShell.NetCore/3.3.563.1/AWSAliases.ps1
Para mostrar todos os alias de AWS Tools for PowerShell, execute o comando a seguir. Esse comando usa o alias ?
do cmdlet Where-Object
do PowerShell e a propriedade Source
para filtrar somente aliases provenientes do módulo AWSPowerShell.NetCore
.
PS >
Get-Alias | ? Source -like "AWSPowerShell.NetCore"
CommandType Name Version Source ----------- ---- ------- ------ Alias Add-ASInstances 3.3.343.0 AWSPowerShell Alias Add-CTTag 3.3.343.0 AWSPowerShell Alias Add-DPTags 3.3.343.0 AWSPowerShell Alias Add-DSIpRoutes 3.3.343.0 AWSPowerShell Alias Add-ELBTags 3.3.343.0 AWSPowerShell Alias Add-EMRTag 3.3.343.0 AWSPowerShell Alias Add-ESTag 3.3.343.0 AWSPowerShell Alias Add-MLTag 3.3.343.0 AWSPowerShell Alias Clear-AWSCredentials 3.3.343.0 AWSPowerShell Alias Clear-AWSDefaults 3.3.343.0 AWSPowerShell Alias Dismount-ASInstances 3.3.343.0 AWSPowerShell Alias Edit-EC2Hosts 3.3.343.0 AWSPowerShell Alias Edit-RSClusterIamRoles 3.3.343.0 AWSPowerShell Alias Enable-ORGAllFeatures 3.3.343.0 AWSPowerShell Alias Find-CTEvents 3.3.343.0 AWSPowerShell Alias Get-ASACases 3.3.343.0 AWSPowerShell Alias Get-ASAccountLimits 3.3.343.0 AWSPowerShell Alias Get-ASACommunications 3.3.343.0 AWSPowerShell Alias Get-ASAServices 3.3.343.0 AWSPowerShell Alias Get-ASASeverityLevels 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorCheckRefreshStatuses 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorChecks 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorCheckSummaries 3.3.343.0 AWSPowerShell Alias Get-ASLifecycleHooks 3.3.343.0 AWSPowerShell Alias Get-ASLifecycleHookTypes 3.3.343.0 AWSPowerShell Alias Get-AWSCredentials 3.3.343.0 AWSPowerShell Alias Get-CDApplications 3.3.343.0 AWSPowerShell Alias Get-CDDeployments 3.3.343.0 AWSPowerShell Alias Get-CFCloudFrontOriginAccessIdentities 3.3.343.0 AWSPowerShell Alias Get-CFDistributions 3.3.343.0 AWSPowerShell Alias Get-CFGConfigRules 3.3.343.0 AWSPowerShell Alias Get-CFGConfigurationRecorders 3.3.343.0 AWSPowerShell Alias Get-CFGDeliveryChannels 3.3.343.0 AWSPowerShell Alias Get-CFInvalidations 3.3.343.0 AWSPowerShell Alias Get-CFNAccountLimits 3.3.343.0 AWSPowerShell Alias Get-CFNStackEvents 3.3.343.0 AWSPowerShell ...
Para adicionar seus próprios aliases a esse arquivo, talvez seja necessário aumentar o valor da variável de preferência$MaximumAliasCount
do PowerShell para um valor superior a 5500. O valor padrão é 4096. Você pode aumentá-lo para um máximo de 32768. Para fazer isso, execute o seguinte.
PS >
$MaximumAliasCount = 32768
Para verificar se a alteração foi bem-sucedida, insira o nome da variável para mostrar seu valor atual.
PS >
$MaximumAliasCount
32768