标签: aws-sdk

安装aws php sdk - 意外变量

我正在尝试使用AWS php sdk,并设置了一些问题.当我运行需要自动加载器的php脚本时,我收到此错误:

Parse error: syntax error, unexpected '$value' (T_VARIABLE) in /[directory path]/Aws/functions.php on line 36
Run Code Online (Sandbox Code Playgroud)

我看了那个文件,第36行就是那个开头的if ($pred($value)).

function filter($iterable, callable $pred){
    foreach ($iterable as $value) {
        if ($pred($value)) {
            yield $value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

不确定如何解决这个问题,所以任何提示都将非常感激.我尝试过的事情:用作曲家安装.用.zip安装.

遵循以下步骤:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/installation.html

php amazon-web-services aws-sdk

14
推荐指数
1
解决办法
7180
查看次数

Rails上传到AWS创建.zip.cpgz文件循环

我遇到了一个奇怪的情况,一些文件,特别是ZIP格式,在我的Rails应用程序中上传到AWS时被破坏/转换.下载和解压缩后,它们会变成CPGZ格式,它会解压缩回ZIP,并无限制地执行此操作.

我没有注意到导致这种情况的模式,所以它看起来很零星,并且可以在上传之前确认文件没有损坏.我在此发现的唯一其他问题/主题与PHP有关,并且似乎是不同的情况.

我正在使用AWS SDK for Ruby v1(因为我的Rails版本而不是v2)和jQuery-File-Upload.由于某些文件很大,我使用的是分块上传.

在我的控制器中,预先设定的POST URL是这样创建的:

S3_BUCKET.presigned_post(key: "uploads/#{SecureRandom.uuid}-${filename}", success_action_status: '201')
Run Code Online (Sandbox Code Playgroud)

并且jQuery文件上传设置如此(为简洁起见,删除了一些部分):

this.$el.fileupload({
  fileInput: this.uploadField, // this is an <input type="file">
  url: this.awsURL, // https://BUCKET.s3.amazonaws.com/
  formData: JSON.parse(this.awsData), // {"AWSAccessKeyId":"...","key":"uploads/1234-${filename}","policy":"...","signature":"...","success_action_status":"201"}
  type: 'POST',
  autoUpload: true,
  paramName: 'file',
  dataType: 'XML',
  replaceFileInput: false,
  maxChunkSize: 1000000,
  add: function(event, data) {
    var file = data.files[0];
    var fileType = file.type;

    // Check file type
    if (~'ai sketch psd jpg jpeg png zip ttf woff eot gif'.indexOf(fileType.toLowerCase())) {
      return alert('Sorry, …
Run Code Online (Sandbox Code Playgroud)

zip ruby-on-rails amazon-s3 jquery-file-upload aws-sdk

14
推荐指数
1
解决办法
807
查看次数

aws lambda使用.net core 2.0

我正在尝试利用.net核心2.0 for AWS lambda,并且找不到任何支持它的文档.

有没有人尝试过lambda target .net core 2.0或者是否支持?

c# amazon-web-services aws-sdk aws-lambda

14
推荐指数
1
解决办法
3633
查看次数

如何在C#.NET核心控制台程序中指定AWS凭据

我正在尝试测试.NET核心控制台程序以向SNS发布消息.由于我试图让它在Lambda中运行时遇到问题,我想在非Lambda环境中尝试它.在Lambda中,安全性由角色覆盖,但在控制台程序中,我认为我必须以某种方式指定我的访问密钥和秘密.

我已阅读此页:http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#net-dg-config-creds-sdk - 商店,但仍然完全困惑.

我正在我的本地开发计算机上运行,​​而不是EC2实例.没有意图用这个去生产,只是试图测试一些代码.

我在Visual Studio 2015,.NET Core 1.0上.我使用Nuget来获得以下内容:"AWSSDK.Extensions.NETCore.Setup":"3.3.3","AWSSDK.SimpleNotificationService":"3.3.0.23",

基于如何在NET Core上的AWS SDK上设置凭据的答案我创建了/user/.aws/credentials文件(假设凭据是文件名而不是目录名).

但是这个问题/答案没有解决如何实际使用这个文件.我正在运行的代码如下.

    public static void Main(string[] args)
    {
        Console.WriteLine("Started");
        //var awsCredentials = new Amazon.Runtime.AWSCredentials()
        var client = new Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient(Amazon.RegionEndpoint.EUWest2);
        //var client = new Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient(awsCredentials, Amazon.RegionEndpoint.EUWest2);
        //Amazon.SimpleNotificationService.Model.PublishResponse publishResp = null;
        SendMessage(client).Wait();
        Console.WriteLine("Completed call to SendMessage: Press enter to end:");
        Console.ReadLine(); 
    }
Run Code Online (Sandbox Code Playgroud)

我在新客户端上遇到的错误是:

An unhandled exception of type 'Amazon.Runtime.AmazonServiceException' occurred in AWSSDK.Core.dll

Additional information: Unable to find credentials
Run Code Online (Sandbox Code Playgroud)

我看到有一种方法可以将AWSCredentials对象传递给该构造函数,但我不明白如何构建它.Amazon.Runtime.AWSCredentials是一个抽象类,所以我不能在"新"语句中使用它.

c# amazon-web-services aws-sdk

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

AWS S3通过代理获取图像 - PHP

我在S3上有一个桶,我已经上传了图像.现在我使用AWS-SDK获取图像.现在我想通过代理绕过图像

$client = new Aws\S3\S3Client([
            'version'     => 'latest',
            'region'      => 'us-east-1',
            'debug'       => TRUE, // enable debug info
            'stats'       => TRUE, // enable stats
            '@http'  => [
            'proxy' => 'http://192.168.16.1:10'
            ],
            'credentials' => [
                'key'    => base64_decode(KEY),
                'secret' => base64_decode(SECRET)
            ]
        ]);
Run Code Online (Sandbox Code Playgroud)

这是我的存储桶设置,当我执行wireshark时,它仍然在请求中显示AWS IP地址.

任何人都可以告诉我如何使用代理绕过S3图像.

php amazon-s3 aws-php-sdk aws-sdk

14
推荐指数
1
解决办法
787
查看次数

aws sdk 使用node.js分段上传到s3

我正在尝试使用 node.js 将大文件上传到 s3 存储桶aws-sdk

该方法以分段上传的V2方式upload对文件进行整体上传。

我想使用新的 V3 aws-sdk。新版本如何上传大文件?该方法PutObjectCommand似乎没有做到这一点。

我见过一些方法,CreateMultiPartUpload但我似乎找不到使用它们的完整工作示例。

提前致谢。

amazon-s3 amazon-web-services node.js aws-sdk aws-sdk-nodejs

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

使用ResourceNotFoundException的简单DynamoDB请求失败

我刚刚使用Java SDK(v1.8)启动并运行DynamoDB.我使用AWS控制台创建了一个非常简单的表.我的表有一个主哈希键,它是一个String(没有范围).我已经将一个项目放入表中,其中包含4个其他属性值(所有字符串).

我正在为表中的那个项目做一个简单的Java请求,但它失败了ResourceNotFoundException.我绝对肯定我提供的表名是正确的,因为我用来查询该项的主哈希键的名称.表状态在AWS控制台中列出,Active我也可以看到该项及其值.

这是我得到的错误:

Requested resource not found (Service: AmazonDynamoDB; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: ...)
Run Code Online (Sandbox Code Playgroud)

我尝试了以下(使用dynamodbv2类的版本):

Map<String, AttributeValue> key = new HashMap<String, AttributeValue>();
key.put(PRIMARY_KEY, new AttributeValue().withS(value));

GetItemRequest request = new GetItemRequest()
    .withTableName(TABLE_NAME)
    .withKey(key);

GetItemResult result = client.getItem(request);
Run Code Online (Sandbox Code Playgroud)

我也尝试使用所有这些类的较旧的,已弃用的版本,如下所示:

GetItemRequest request = new GetItemRequest()
        .withTableName(TABLE_NAME)
        .withKey(new Key().withHashKeyElement(new AttributeValue().withS(value)));
GetItemResult result = client.getItem(request);
Run Code Online (Sandbox Code Playgroud)

......但结果却是一样的.
ResourceNotFoundException对它的理解是它表示引用的表名或属性是无效的,但实际情况并非如此.如果表在Creating状态太早,也可以抛出它,但我的表是Active.

java amazon-web-services amazon-dynamodb aws-sdk

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

如何使用匿名用户将aws CLI配置为s3 cp

我需要从s3存储桶中递归下载文件.s3存储桶允许匿名访问.

如何在不使用匿名用户提供AWS Access Key的情况下列出文件并下载它们?

我的命令是:

aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive
Run Code Online (Sandbox Code Playgroud)

aws表示:

Unable to locate credentials. You can configure credentials by running "aws 配置"

amazon-s3 amazon-web-services aws-sdk

13
推荐指数
2
解决办法
4458
查看次数

AWS API Gateway:由于配置错误导致执行失败:输出映射不匹配且未配置默认输出映射

在AWS API Gateway中,我有一个调用lambda函数的GET方法.

当我在API网关仪表板中测试该方法时,lambda函数成功执行,但API Gateway未将context.success()调用映射到200结果,尽管默认映射设置为yes.

相反,我得到这个错误:

Execution failed due to configuration error: No match for output mapping and no default output mapping configured
Run Code Online (Sandbox Code Playgroud)

这是我的集成响应设置: 在此输入图像描述

这是我的方法响应设置: 在此输入图像描述

基本上我希望API网关识别成功的lambda执行,然后默认将它映射到200响应,但这不会发生.

有谁知道为什么这不起作用?

amazon-web-services aws-sdk aws-lambda aws-api-gateway

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

CloudFront背后的API网关是否不支持AWS_IAM身份验证?

似乎无法调用通过CloudFront分配启用AWS_IAM保护的REST API.

以下是如何重现这个:

  • 使用API​​网关创建REST API
  • 使用AWS_IAM身份验证保护REST API方法
  • 创建面向REST API的CloudFront分配
  • 在Route 53中创建一个以CloudFront Distribution为目标的A Record

现在使用经过身份验证的用户(我使用Cognito UserPool用户和aws-amplify)来调用

  1. 受保护的REST API方法及其API网关URL = SUCCESS
  2. 受保护的REST API方法通过CloudFront分发URL = FAILURE
  3. 受保护的REST API方法通过Route 53域URL = FAILURE

我得到的错误是:

{"message":"我们计算的请求签名与您提供的签名不匹配.请检查您的AWS秘密访问密钥和签名方法.有关详细信息,请参阅服务文档."}

我无法相信AWS不支持自定义域后面的AWS_IAM受保护端点,因为这必须是一个非常常见的用例.

因此,请您提供一份如何实现这一目标的详细清单?

谢谢

amazon-cloudfront amazon-cognito aws-sdk aws-api-gateway aws-amplify

13
推荐指数
2
解决办法
1151
查看次数