我正在尝试从 AWS 下载 Docker 映像,并按照我正在运行的AWS 上的说明进行操作:
(Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
Get-ECRLoginCommand : The term 'Get-ECRLoginCommand' is not recognized as the name of a cmdlet, function, script file, or operable program.
Run Code Online (Sandbox Code Playgroud)
我该如何修复这个错误?我认为我需要安装该模块。
有谁知道如何使用AWS Powershell获取AWS账号?看起来没有可用的API.
当我这样做:
foreach ($f in (Get-ChildItem -filter "*.flv")){
Write-S3Object -BucketName bucket.example -File $f.fullName -Key $f.name -CannedACLName PublicRead
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Write-S3Object :
At line:1 char:51
+ foreach ($f in (Get-ChildItem -filter "*.flv")){ Write-S3Object -BucketName xx. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Amazon.PowerShe...eS3ObjectCmdlet:WriteS3ObjectCmdlet) [Write-S3Objec
t], InvalidOperationException
+ FullyQualifiedErrorId : Amazon.S3.AmazonS3Exception,Amazon.PowerShell.Cmdlets.S3.WriteS3ObjectCmdlet
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?有什么我可以做的来看到更多的错误,或者这只是一个语法问题?
如何使用PowerShell将所有特定文件类型上传到存储桶?
我故意设置Set-DefaultAWSRegion了一个桶不在的区域,并得到了
Write-S3Object : The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
Run Code Online (Sandbox Code Playgroud)
作为一个错误消息,正如预期的那样,所以看起来它可以连接到存储桶,它知道它不在某个区域.
此外,如果我 …
我一直在尝试使用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虽然它想要生活在一个框架中......
我要求将文件从简单存储服务下载到本地文件夹,并计算本地文件夹中的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) 我想向现有用户发布临时凭证,以允许他们访问AWS管理控制台,方法是为他们提供使用这些临时凭证创建的URL.
我正在关注通过AWS文档给出的书面示例:使用IAM查询API的示例代码
我编写了以下代码,在执行时不会出现任何错误,并且似乎返回会话令牌,这样我就可以正确地形成一个URL来登录.
以下是返回会话令牌和后续URL的代码:
$accessKeyId = 'accesskeyId'
$secretAccessKey = 'secretaccessKey'
$region = 'us-east-1'
Set-AWSCredentials -AccessKey $accessKeyId -SecretKey $secretAccessKey
$role = Use-STSRole -RoleSessionName "testSTS" -RoleArn "arn:aws:iam::1234567890:role/adminAccess" -DurationInSeconds 900
$jsonSession = @"
{
"sessionId": $([string]::Format("{0}", $role.Credentials.AccessKeyId)),
"sessionKey": $([string]::Format("{0}", $role.Credentials.SecretAccessKey)),
"sessionToken": $([string]::Format("{0}", $role.Credentials.SessionToken))
}
"@
Add-Type -AssemblyName System.Web
$Encode = [System.Web.HttpUtility]::UrlEncode($jsonSession)
$url = $([string]::Format("https://signin.aws.amazon.com/federation?Action=getSigninToken&Session={0}", $Encode))
$payload = Invoke-WebRequest -Uri $url | ConvertFrom-Json
$issuer = [System.Web.HttpUtility]::UrlEncode("https://1234567890.signin.aws.amazon.com")
$destination = [System.Web.HttpUtility]::UrlEncode("https://console.aws.amazon.com")
$signintoken = [System.Web.HttpUtility]::UrlEncode($payload.SigninToken)
$signInUrl = $([string]::Format("https://signin.aws.amazon.com/federation?Action=login&Issuer={0}&Destination={1}&SigninToken={2}", $issuer, $destination, $signintoken))
write-host $signInUrl
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我在网络浏览器中访问网址时,我收到以下错误"亚马逊网络服务登录:您的登录链接中的凭据无效.请与您的管理员联系."
这是我回复给我的网址的样子,显然我出于安全原因更改了accountid和real会话令牌:
我已经尝试使用谷歌搜索如何检索与亚马逊访问密钥相关的可用s3存储桶列表,但要么我正在搜索错误的条款,要么我没有通过足够的结果.
我有一个访问密钥和密钥,但我不知道与帐户或IAM用户关联的存储桶名称.
如何使用Powershell和AWS Tools获取可用的存储桶名称列表?
我有一个Powershell脚本,可将审核日志上载到S3存储库。当我在登录时运行脚本时,脚本运行良好,但是我需要定义计划任务,并且该任务需要以SYSTEM用户身份运行。有人可以推荐一种方法,我可以向SYSTEM用户提供AWS凭证,以便它们不会以明文形式存储在计算机上吗?
我想扩展AWS PowerShell命令.许多AWS开发工具包都在GitHub上,例如AWS .NET SDK,而不是用于Windows PowerShell的AWS工具.