我试图使用shell exec从php代码中运行aws s3 cp命令.以下是php代码.
echo shell_exec("sudo aws s3 cp s3://<bucket>/somefolder/somefile s3://<bucket>/someotherfolder/somefile --region ap-southeast-1 --acl public-read");
Run Code Online (Sandbox Code Playgroud)
文件未被复制,echo的输出如下
"无法找到凭据已完成1个部分,其中包含...文件"
注1:我已经使用aws configure命令设置了凭据
注意2:如果我直接从终端运行完全相同的命令,它工作正常.
任何的想法?
使用简单的aws cli查询来检查是否存在Lambda函数并回显相关角色(如果存在):
#!/bin/bash
fname=$1
role=$(aws lambda list-functions --query 'Functions[?FunctionName == `$fname`].Role' --output text)
echo "$fname role: $role"
Run Code Online (Sandbox Code Playgroud)
但是,$ fname似乎正在解析为aws命令中的空字符串.我试图逃避后面的嘀嗒声,交换`到'以及其他捶打编辑的镜像(是的,我在调用脚本时在cl上传递一个字符串:)
如何在bash脚本中将变量正确传递给JMESPath查询?
当我拉出一个干净的 Alphine Linux Docker 镜像时,安装aws-cli在它上面并尝试验证我自己,aws ecr get-authorization-token --region eu-central-1我不断收到以下错误:
调用 GetAuthorizationToken 操作时发生错误 ( UnrecognizedClientException ):请求中包含的安全令牌 无效。
我已经检查了似乎没问题的时区,并且该命令在我的本地机器上正常工作。
这些是我运行来设置的命令aws-cli:
apk add --update python python-dev py-pip
pip install awscli --upgrade
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
有什么明显的我遗漏了吗?
command-line-interface amazon-web-services aws-cli alpine-linux
我正在尝试使用AWS CLI将一些文件推送到s3并遇到错误:
upload failed: ... An HTTP Client raised and unhandled exception: unknown encoding: idna
我相信这是Python特有的问题,但是我不确定如何为我的python解释器启用这种类型的编码。我刚刚刚安装了Python 3.6,并验证了Powershell和cmd正在使用它。
$> python --version
Python 3.6.7
如果这不是特定于Python的问题,那么知道我也刚刚安装了AWS CLI并对其进行了正确配置可能会有所帮助。让我知道是否还有其他我想解决的问题。谢谢。
我的目标是拥有一个简单的工具,可以仅通过aws cli或更少的第三方将 dynamodb 导出到本地文件(json/csv)。我的表大小约为 500mb。
我正在进行几天的研究,我看到了非常好的项目,例如dynamodump另一个 SDK 实现。我还测试了Datapipeline来自亚马逊的,但对于我目标的任务想要简单的aws cli.
假设我已经有表的映射,例如索引和属性。现在我只想导入我拥有的项目。对我来说,最好的实施解决方案是这样的:
将表从 aws 导出到本地文件:
aws dynamodb scan --table-name SOMETABLENAME --output json | jq '.Items[]' > SOMETABLENAME.json
sed使用、jq、awk...等内容渲染文件。要获得可以导入到 aws-dynamodb 的正确 json 格式
使用以下命令将项目从 SOMETABLENAME 导入到 aws-dynamodb:
aws dynamodb put-item --table-name SOMETABLENAME --item file://SOMETABLENAME.json
.net核心无服务器Web api我正在尝试与lambda和api网关进行代理集成,而AWS控制台一切正常
但是我在尝试与cli集成时遇到了aws cli命令的问题,但lambda没有正确集成
aws apigateway create-resource --rest-api-id id --parent-id id --path-part {proxy+}
aws apigateway put-method --rest-api-id id --resource-id id --http-method ANY --authorization-type "NONE"
aws apigateway put-integration --rest-api-id id --resource-id id --http-method ANY --type HTTP_PROXY --integration-http-method ANY --uri arn:aws:apigateway:us-east-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-east-2:account_id:function:helloworld/invocations
aws lambda add-permission --function-name helloworld --action lambda:InvokeFunction --principal apigateway.amazonaws.com --source-arn arn:aws:execute-api:us-east-2:account_id:apiid/*/*/* --statement-id 12345678
Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-cli aws-lambda asp.net-core-webapi aws-serverless
我一直在尝试使用 k8s-sig 组提供的指南运行外部 dns pod。我遵循了指南的每一步,并得到了以下错误。
time="2021-02-27T13:27:20Z" level=error msg="records retrieval failed: failed to list hosted zones: WebIdentityErr: failed to retrieve credentials\ncaused by: AccessDenied: Not authorized to perform sts:AssumeRoleWithWebIdentity\n\tstatus code: 403, request id: 87a3ca86-ceb0-47be-8f90-25d0c2de9f48"
Run Code Online (Sandbox Code Playgroud)
我使用 Terraform 创建了 AWS IAM 策略,并成功创建了它。除了我使用过的服务帐户的 IAM 角色之外eksctl,其他所有内容都是通过 Terraform 生成的。
但是后来我看到了这篇文章,它说使用 awscli 创建 AWS IAM 策略可以消除这个错误。所以我删除了使用 Terraform 创建的策略,并使用 awscli 重新创建它。然而,它抛出了同样的错误错误。
下面是我的外部 dns yaml 文件。
apiVersion: v1
kind: ServiceAccount
metadata:
name: external-dns
# If you're using Amazon EKS with IAM Roles for Service Accounts, specify …Run Code Online (Sandbox Code Playgroud) 使用 aws configure 时,凭证以明文形式存储在我的工作站上。这是一个巨大的安全违规行为。我尝试在 aws cli github 上打开一个问题,但它很快就被关闭了。我直接使用 Terraform 和 aws cli,因此需要解决方法来支持这一点。
例子:
[MyProfile]
aws_access_key_id = xxxxxxxxxxxxxxx
aws_secret_access_key = yyyyyyyyyyyyyyyyyy
region=us-east-2
output=json
Run Code Online (Sandbox Code Playgroud) aws-cli ×10
amazon-s3 ×2
alpine-linux ×1
amazon-ec2 ×1
amazon-iam ×1
aws-lambda ×1
bash ×1
eksctl ×1
external-dns ×1
jmespath ×1
kubernetes ×1
php ×1
python-3.x ×1