自回答此问题以来,AWS Tools for Powershell已经发布,我基本上遇到了同样的问题:我在一个AWS账户上有一个RDS快照,我希望将其转移到另一个账户.
到目前为止,我已经能够使用Get-RDSDBSnapshotcmdlet 选择我想要的快照,并且我想要获取该Amazon.RDS.Model.DBSnapshot对象并在其他帐户中使用它.
我一直在环顾四周,我认为Restore-RDSDBInstanceFromDBSnapshotcmdlet(映射到rds-restore-db-instance-from-db-snapshot)可能是我正在寻找的,但我不相信我理解它的行为 -是否可以使用此cmdlet从我的第一个帐户获取快照,并将其还原到第二个帐户中的实例?
我特别关注Snapshot对象中是否存在任何特定于帐户的详细信息,或者是否会阻止该数据跨帐户移动的cmdlet的处理.如果存在一个问题,我会使用比PowerShell更通用的解决方案.
我想选择使用的文件列表Get-ChildItem通过管道输送到Rename-Item并与每行显示像"改名为输出显示文本oldfilename到newfilename ".
我怎样才能做到这一点?
我想了解一个aws ec2 cli电话.我想在自定义标签上描述所有VPC然后文件管理器(vpcname = myvpc,但是在尝试多种组合后,我不断得到关于格式和使用--filters的冲突错误.使用作为参考[ http://docs.aws .amazon.com/CLI /最新/参考/ EC2 /描述-vpcs.html] [1]
aws --profile myProfile --region eu-west-1 ec2 describe-vpcs --filters vpcname,myvpc
然而这又回来了
Error parsing parameter '--filters': should be: Key value pairs, where values are separated by commas, and multiple pairs are separated by spaces.
--filters Name=string1,Values=string1,string2 Name=string1,Values=string1,string2
Run Code Online (Sandbox Code Playgroud)
这么努力
aws --profile myProfile --region eu-west-1 ec2 describe-vpcs --filters Name = vpcname,Values = myvpc
然后它回来了
A client error (InvalidParameterValue) occurred when calling the DescribeVpcs operation: The filter 'vpcname' is invalid
Run Code Online (Sandbox Code Playgroud)
所以尝试其他一些组合
aws --profile myProfile …Run Code Online (Sandbox Code Playgroud) 我正在完成教程"演练2:处理Amazon S3事件(Node.js)".我有关于CLI参数的问题:
aws lambda add-permission \
--function-name CreateThumbnail \
--region us-west-2 \
--statement-id some-unique-id \
--action "lambda:InvokeFunction" \
--principal s3.amazonaws.com \
--source-arn arn:aws:s3:::sourcebucket \
--source-account bucket-owner-account-id \
--profile adminuser
Run Code Online (Sandbox Code Playgroud)
参数是什么--statement-id some-unique-id?
我一直在尝试使用AWS Update-LMFunctionCode将我的文件部署到AWS中的现有lambda函数.
与Publish-LMFunction不同,我只能提供zipFile(-FunctionZip)的路径,Update-LMFunction需要一个用于其-Zipfile参数的内存流.
有一个例子将本地zipfile从磁盘加载到一个有效的内存流?我的初始调用是收到文件无法解压缩的错误...
$deployedFn = Get-LMFunction -FunctionName $functionname
"Function Exists - trying to update"
try{
[system.io.stream]$zipStream = [system.io.File]::OpenRead($zipFile)
[byte[]]$filebytes = New-Object byte[] $zipStream.length
[void] $zipStream.Read($filebytes, 0, $zipStream.Length)
$zipStream.Close()
"$($filebytes.length)"
$zipString = [System.Convert]::ToBase64String($filebytes)
$ms = new-Object IO.MemoryStream
$sw = new-Object IO.StreamWriter $ms
$sw.Write($zipString)
Update-LMFunctionCode -FunctionName $functionname -ZipFile $ms
}
catch{
$ErrorMessage = $_.Exception.Message
Write-Host $ErrorMessage
break
}
Run Code Online (Sandbox Code Playgroud)
Powershell函数的文档在这里:http://docs.aws.amazon.com/powershell/latest/reference/items/Update-LMFunctionCode.html虽然它想要生活在一个框架中......
我正在尝试获取当前未分配给实例的所有弹性IP.
使用此方法很容易获得所有弹性IP: aws ec2 describe-addresses
从这里开始,很容易过滤掉任何没有的结果"AssociationId".但是,我不知道如何使用它--query.
我知道该--query选项使用JMESPath来过滤结果,但我不知道如何告诉它返回所有没有结果的结果AssociationId.有帮助吗?
谢谢.
我要求将文件从简单存储服务下载到本地文件夹,并计算本地文件夹中的no.of文件并检查简单存储服务,然后发送包含文件数量的邮件.
我试图从简单的存储服务下载文件,但我收到的错误就像get-s3object commandnotfoundexception.我该如何解决这个问题?
# Your account access key - must have read access to your S3 Bucket
$accessKey = "YOUR-ACCESS-KEY"
# Your account secret access key
$secretKey = "YOUR-SECRET-KEY"
# The region associated with your bucket e.g. eu-west-1, us-east-1 etc. (see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions)
$region = "eu-west-1"
# The name of your S3 Bucket
$bucket = "my-test-bucket"
# The folder in your bucket to copy, including trailing slash. Leave blank to copy the entire bucket
$keyPrefix = "my-folder/"
# …Run Code Online (Sandbox Code Playgroud) 这是我的问题,除了对 AWS 不熟悉之外。我接到的任务是将位于 US-East-1 到 US-West-2 的生产站点复制为灾难恢复站点。我在创建 SNS 警报时遇到问题。以下代码来自 AWS 示例,并使用我们的 JSON 导出中的策略。当我将其包含到我的主 PS 脚本中时,出现以下错误:
错误:
Set-SQSQueueAttribute:参数策略值无效。在行:37 字符:5 + Set-SQSQueueAttribute -QueueUrl $qURL -Attribute @{ Policy=$SNSpo ... + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 类别信息:无效操作:(亚马逊。 PowerShe...AttributeCmdlet:SetSQSQ ueueAttributeCmdlet) [Set-SQSQueueAttribute]、InvalidOperationException + ExcellentQualifiedErrorId :Amazon.SQS.AmazonSQSException、Amazon.PowerShell.Cmdlets.SQS。SetSQSQueueAttributeCmdlet
代码:
$qURL = New-SQSQueue -QueueName "Test-Queue"
$topicARN = New-SNSTopic -Name "Test-Topic" -Region "us-west-2"
$SNSpolicy = @"
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_policy_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Subscribe",
"SNS:ListSubscriptionsByTopic",
"SNS:DeleteTopic",
"SNS:GetTopicAttributes",
"SNS:Publish",
"SNS:RemovePermission",
"SNS:AddPermission",
"SNS:Receive", …Run Code Online (Sandbox Code Playgroud) 我创建了一个空的.Net Core应用程序并为Amazon.Core和Amazon.S3安装了nuget包.
然后我尝试使用S3来获取一个对象但是我在第一时间陷入困境......在程序集内部无法找到Amazon.AWSClientFactory.即使使用dotPeek,我也试图搜索这种工厂方法,但我找不到它.甚至来自亚马逊的示例代码都不起作用.
我应该在哪里找到这门课?
我正在使用 sql server,我们确实有一个 while 循环,我在存储过程中创建了它。我正在评估 redshift 并在 redshift amazon 中寻找等效项。以下是我想要做的,我如何在亚马逊红移中做到这一点:
Declare
@MaxId SmallInt,
@CurrId SmallInt
Set @CurrId = 0
Set @MaxId = 10
While @CurrId <= @MaxId
Select @CurrId
set @CurrId = @CurrId + 1
end
Run Code Online (Sandbox Code Playgroud) powershell ×5
amazon-s3 ×4
aws-cli ×3
aws-lambda ×3
amazon-ec2 ×2
amazon-rds ×1
amazon-vpc ×1
aws-sdk ×1
c# ×1
elastic-ip ×1
while-loop ×1