我正在使用AWS S3 CLI按照文档中指定的Amazon CLI S3 SYNC格式同步两个存储桶,如下所示:
aws s3 sync s3://source_bucket s3://target_bucket --exclude *.tmp
Run Code Online (Sandbox Code Playgroud)
错误我收到以下错误:
A region must be specified --region or specifying the region in a configuration file or as an environment variable. Alternately, an endpoint can be specified with --endpoint-url
Run Code Online (Sandbox Code Playgroud)
除了AWS CLI文档之外,我已经浏览了互联网,并且在S3 SYNC的上下文中没有找到对--region的引用.任何指导将不胜感激!
可能无关紧要,但我在MBPr上运行Mac OS X Mavericks 10.9.1(16GB RAM,512GB SSD,四核)
我正在使用AWS CLI使用如下命令将文件从S3存储桶复制到我的R计算机:
system(
"aws s3 cp s3://my_bucket_location/ ~/my_r_location/ --recursive --exclude '*' --include '*trans*' --region us-east-1"
)
Run Code Online (Sandbox Code Playgroud)
这按预期工作,即它复制my_bucket_location中该位置文件名中包含"trans"的所有文件.
我面临的问题是我有其他文件具有类似的命名约定,我不想在此步骤中导入.作为一个例子,在下面的列表中我只想复制前两个文件,而不是最后两个:
File list
trans_120215.csv
trans_130215.csv
sum_trans_120215.csv
sum_trans_130215.csv
Run Code Online (Sandbox Code Playgroud)
如果我正在使用正则表达式,我可以使它更具体"^trans_\\d+",只需要引入前两个文件,但使用AWS CLI似乎不可能.所以我的问题是如何使用AWS CLI进行更复杂的模式匹配,如下所示?
system(
"aws s3 cp s3://my_bucket_location/ ~/my_r_location/ --recursive --exclude '*' --include '^trans_\\d+' --region us-east-1"
)
Run Code Online (Sandbox Code Playgroud)
请注意,我只能使用有关文件的信息,即我想导入带有模式的文件"^trans_\\d+",我不能使用其他不需要的文件在开头包含sum_的事实,因为这只是一个例子可能是其他类似名称的文件,如"check_trans_120215.csv".
我已经考虑了下面的其他替代方案,但希望有一种方法可以调整复制命令以避免沿着这两条路线走下去:
在文档中,它指出EB CLI已被AWS CLI取代,但所有文档仍在讨论EB CLI.
我在Elastic Beanstalk控制台中创建了一个应用程序,现在我已准备好开始开发.我在Ubuntu上安装了所有工具,我已经在本地测试过了.现在我想将它部署到Elastic Beanstalk.如何使用AWS CLI执行此操作?
我正在尝试My CV 2017.pdf使用AWS命令行将文件从一个AWS桶复制到另一个.但我这样做是错误的.
我试着用My\ Cv\ 2017.pdf和'My CV 2017.pdf',两人都没有工作.
我很好奇是否有一种方法可以设置一个通用的生命周期策略,该策略将应用于 ECR 中的所有存储库?
目前,据我了解,没有办法做到这一点。
我正在考虑的一种方法是使用生命周期策略的 JSON 定义,并使用 AWS CLI 将其应用到所有存储库(可以稍微自动化一些)。但是这个东西应该在每次创建新存储库时运行,这会增加复杂性。
我正在尝试使用 AWS CLI 和 ASK CLI 来编写 Alexa 技能,并且我希望能够使用 Alexa 模拟器并直接从命令行查看控制台日志以使其变得简单,但我不确定如何实现从命令行查看最后一个。
我已经安装了 AWS 和 ASK CLI,并且能够查看 Cloudwatch 日志,但没有快速的方法来查看最后的日志。
amazon-web-services aws-cli aws-lambda amazon-cloudwatchlogs
我有一个脚本想要获取 AWS API 网关 ID 和 API 密钥值。到目前为止,我已经能够使用 cli 获取 API 网关 ID:
aws apigateway get-api-keys --query 'items[?name==`my-api-key-name`].id' --output text --region us-east-1
Run Code Online (Sandbox Code Playgroud)
但我无法获取 API 密钥的值。我尝试过以下 cli,但没有成功:
aws apigateway get-api-keys --query 'items[?name==`my-api-key-name`].value' --output text --region us-east-1
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
我曾经能够将记录发送到 firehose 而不会出现任何这样的问题
aws firehose put-record --delivery-stream-name my-stream --record='Data="{\"foor\":\"bar\"}"'
Run Code Online (Sandbox Code Playgroud)
但自从我将 cli 更新到版本 2 后,我收到此错误:
Invalid base64: "{"foor":"bar"}"
Run Code Online (Sandbox Code Playgroud)
我尝试将 {"foo":"bar"} 转换为 based64 但后来我得到了InvalidArgumentException
aws firehose put-record --delivery-stream-name my-stream --record='Data=e1wiYXNkZlwiOlwidGVzdGFtXCJ9Ig=='
An error occurred (InvalidArgumentException) when calling the PutRecord operation: This operation is not permitted on KinesisStreamAsSource delivery stream type.
Run Code Online (Sandbox Code Playgroud) 我有多个 Cloudfront 发行版指向单个 S3 存储桶来创建不同的 URL。现在我部署的时候很难一一手动清除所有桶的缓存。所以我认为应该有一个选项,我可以在其中找到所有 ID 并清除缓存,但我能找到的只是
aws cloudfront get-distribution-config
--id <value>
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
Run Code Online (Sandbox Code Playgroud)
其中 id 采用我想找出的 cloudfront 发行版本身的 id。
我无法使用它,因为我不想清除所有发行版的缓存
aws cloudfront list-distributions
[--max-items <value>]
[--cli-input-json <value>]
[--starting-token <value>]
[--page-size <value>]
[--generate-cli-skeleton <value>]
Run Code Online (Sandbox Code Playgroud)
我正在尝试寻找类似的方法,但到目前为止这似乎不是正确的方法
aws cloudfront --origing <value>
Run Code Online (Sandbox Code Playgroud) 我EB CLI按照这些说明进行安装。
这将创建一个包含以下内容的配置文件~/.aws/config:
[profile <profile_name>]
sso_session = <session_name>
sso_account_id = <account_no>
sso_role_name = <role_name>
region = <region>
output = json
[sso-session <session_name>]
sso_start_url = <start_url>
sso_region = <region>
sso_registration_scopes = <scopes>
Run Code Online (Sandbox Code Playgroud)
所有的值似乎都是正确的。
配置完成后,我可以使用以下方式登录SSO:
aws sso login --profile <profile_name>
Run Code Online (Sandbox Code Playgroud)
这会将我重定向到 SSO <start_url>,并收到登录确认信息:
Successfully logged into Start URL: <start_url>
Run Code Online (Sandbox Code Playgroud)
EB CLI应该能够使用设置的身份验证方法登录AWS CLI。我正在尝试这样做:
eb init --profile <profile_name>
Run Code Online (Sandbox Code Playgroud)
但是,选择区域后,我收到此错误:
ERROR: InvalidConfigError - The profile "<profile_name>" …Run Code Online (Sandbox Code Playgroud) amazon-web-services single-sign-on aws-cli amazon-elastic-beanstalk ebcli
aws-cli ×10
amazon-s3 ×4
api-gateway ×1
api-key ×1
aws-ecr ×1
aws-ecs ×1
aws-lambda ×1
ebcli ×1
r ×1