标签: aws-cli

解析参数“--change-batch”时出错:预期:“=”,收到:“”输入:

我想更新 CNAME 记录。Error parsing parameter '--change-batch': Expected: '=', received: ' ' for input:当我运行下面的 powershell 脚本时,我得到了。我在另一个 aws 命令中看到了此处提到的类似错误。我确认我正在file://按照那里的建议使用。我还看到了另一篇文章,我确认我没有前面或后面的双引号或单引号。我能够验证 json 数据并确保该文件存在于同一目录中。我不明白发生了什么事。任何帮助表示赞赏。我的 powershell 脚本如下。

$json = '{"Changes": [{"Action": "UPSERT","ResourceRecordSet": {"Name": "dev.mydns.com","Type": "CNAME","TTL": 300,"ResourceRecords": [{"Value": "s-########1.server.transfer.us-east-1.amazonaws.com."}]}},{"Action": "UPSERT","ResourceRecordSet": {"Name": "qa.mydns.com","Type": "CNAME","TTL": 300,"ResourceRecords": [{"Value": "s-########2.server.transfer.us-east-1.amazonaws.com"}]}},{"Action": "UPSERT","ResourceRecordSet": {"Name": "uat.mydns.com","Type": "CNAME","TTL": 300,"ResourceRecords": [{"Value": "s-########3.server.transfer.us-east-1.amazonaws.com."}]}}]}'
$json | Out-File "route_update.json"

#I was able to get the file content and print using below commands

<#
$jsondata = Get-Content -Raw -Path route_update.json 
Write-Host $jsondata …
Run Code Online (Sandbox Code Playgroud)

powershell amazon-route53 aws-cli

2
推荐指数
1
解决办法
1725
查看次数

AWS CLI 创建 ECR 存储库

我正在尝试使用 AWS cli 中的标签列表创建 ECR 存储库。这是我正在运行的命令。我需要将标签作为 JSON 传递

aws ecr create-repository \
    --repository-name alpha/sample-repo \
    --region us-west-2 \
    --tags [{"Key":"env","Value":"dev"},{"Key":"team","Value":"finance"}]
Run Code Online (Sandbox Code Playgroud)

并收到以下错误

Error parsing parameter '--tags': Invalid JSON:
[Key:env]
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?如何让它发挥作用?

amazon-web-services aws-cli amazon-ecr

2
推荐指数
1
解决办法
3604
查看次数

将 AWS 凭证传递到 docker

我想使用我的测试 aws 凭证创建一个 docker 映像。这是我当前的 Dockerfile 的样子。我想要做的是将我的.aws文件夹复制到容器中并使用该数据,而不通过命令行传递它们。是否可以?那我该怎么办呢?谢谢。 在此输入图像描述

credentials amazon-web-services docker aws-cli dockerfile

2
推荐指数
1
解决办法
1万
查看次数

AWS CLI S3 CP --递归函数在控制台中有效,但在 .sh 文件中无效

我的文件中有以下行.sh

aws s3 cp s3://bucket/folder/ /home/ec2-user/ --recursive
Run Code Online (Sandbox Code Playgroud)

当我在控制台中运行此行时,它运行良好并按预期完成。当我在文件内运行此行时.sh,该行返回以下错误。

Unknown options: --recursive
Run Code Online (Sandbox Code Playgroud)

这是我的完整.sh脚本。

echo "Test"
aws s3 cp s3://bucket/folder/ /home/ec2-user/ --recursive
echo "Test"
python /home/ec2-user/Run.py
Run Code Online (Sandbox Code Playgroud)

如果我手动添加 Run.py 文件(没有根据需要从 S3 复制它)并运行脚本,我会得到以下输出。

Test

Unknown options: --recursive
Test
Hello World
Run Code Online (Sandbox Code Playgroud)

如果我从 Linux 环境中删除预计由 S3 传输的文件并依赖 AWS S3 命令,我会得到以下输出:

Test

Unknown options: --recursive
Test
python: can't open file '/home/ec2-user/Run.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

请注意,可以在指定的 S3 位置内传输多个文件。从控制台运行 AWS 命令​​时,所有这些文件都会按预期传输。

我最初认为这是一个行结束错误,因为我是.sh从 Windows 复制文件的。我已确保我的行结尾有效,并且我们通过脚本的其余部分按预期运行看到了这一点。因此,这个问题似乎与实际的 AWS 命令​​无关。如果我从通话中删除--recursive …

linux amazon-s3 amazon-ec2 amazon-web-services aws-cli

2
推荐指数
1
解决办法
2564
查看次数

使用 AWS CLI lambda 调用时,有没有办法传递环境变量?

假设使用 AWS CLI 调用 AWS Lambda,是否有任何方法可以为调用传递不同的环境变量值?

我看到上下文可以传递,但我没有看到环境。

我似乎找不到办法

amazon-web-services aws-cli aws-lambda

2
推荐指数
1
解决办法
1794
查看次数

如何使用 AWS CLI 或 Python 列出 AWS S3 存储桶中的*最近*文件

我有一个摄像头,每小时都会向我的 AWS S3 存储桶添加新文件,除非不这样做。为了快速排除故障,我希望能够找到(列出或查看)S3 文件夹中的最新文件。或者列出自特定日期/时间以来的所有文件。FWIW,文件名由 UNIX 纪元日期戳组成,因此我可以查找包含大于 161315000 的数字的文件名。

到目前为止,我唯一的解决方案是列出所有文件,通过管道传输到文本文件,然后我可以对其进行解析。这需要太长的时间...我有数以万计的文件。

我很乐意使用 AWS CLI、s3cmd、Boto...任何有效的方法。

python amazon-s3 s3cmd aws-cli boto3

2
推荐指数
1
解决办法
7585
查看次数

当 Windows 上的文件夹中创建新文件或文件夹时,如何同步到 AWS S3

我的目的是让我的计算机内的本地文件夹与 AWS S3 存储桶保持同步。我需要从安装了 AWS CLI 的 Windows 服务器建立此操作。

windows amazon-s3 amazon-web-services aws-cli

2
推荐指数
1
解决办法
5435
查看次数

如何在 Windows 中找到 AWS CLI 的路径

我已成功安装 aws cli,但收到“'aws' 未被识别为内部或外部命令、可操作程序或批处理文件”。

我认为是路径设置的问题。我如何知道 Windows 版 AWSCLI 的路径?

aws-cli

2
推荐指数
1
解决办法
8485
查看次数

AWS CLI CodeArtifact:为 list-package-versions 子命令的 --package 标志提供什么值

问题陈述

我正在尝试查看 AWS CodeArtifact 中的特定 Maven 包部署了哪些版本。我无法通过 Web GUI 查看任何内容,因此我使用 AWS CLI。

当我运行以下命令时,aws codeartifact list-packages --domain kickingtires --repository kickingtires输出如下所示

包 maven edu.excelsior.api 核心

所以基本上在kickingtires存储库中有一个 Maven 工件:edu.excelsior.api:core。我已经部署了此项目的两个版本,并希望使用 AWS CLI 列出这些版本。

我尝试运行以下排列

aws codeartifact list-package-versions --domain kickingtires --repository kickingtires --format maven --package edu.excelsior.api

aws codeartifact list-package-versions --domain kickingtires --repository kickingtires --format maven --package edu.excelsior.api.core

aws codeartifact list-package-versions --domain kickingtires --repository kickingtires --format maven --package edu.excelsior.api:core

aws codeartifact list-package-versions --domain kickingtires --repository kickingtires --format maven --package "edu.excelsior.api"

aws …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services maven aws-cli aws-codeartifact

2
推荐指数
1
解决办法
890
查看次数

官方 aws-cli 映像不接受来自 gitlab 的脚本命令

我在 gitlab 管道中使用amazon/aws-cli:2.2.40在 S3 上发布静态站点。

deploy_front: 
  image: amazon/aws-cli:2.2.40
  variables:
    AWS_ACCESS_KEY_ID:  $AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
    AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
  stage: publish
  script:
    - s3 sync ./front/build s3://some-bucket-name
Run Code Online (Sandbox Code Playgroud)

最终在

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: argument command: Invalid choice, valid choices are:
accessanalyzer                           | acm                                     
acm-pca                                  | alexaforbusiness                        
amp                                      | amplify                                 
amplifybackend                           | apigateway
.......                                    ..........
Run Code Online (Sandbox Code Playgroud)

我设法通过docker run -it amazon/aws-cli:2.2.40 aws s3 …

amazon-s3 aws-cli gitlab-ci

2
推荐指数
1
解决办法
1000
查看次数