问题标签 [aws-php-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3659 浏览

php - AWS S3 上传的图像已损坏

我正在使用 AWS ec2 ubuntu 机器。我的代码在 cakephp 中。当我尝试将任何图像上传到 AWS S3 时,它会损坏。

虽然它在核心 php 代码中运行良好。

这是我的控制器代码

如果我不使用body参数还有一件事,那么它会向我显示以下错误

您必须为 Body 或 SourceFile 参数指定一个非空值。

虽然以下代码适用于核心 php 中的测试

我创建了一个自定义组件来访问 SDK 的所有功能。参考https://github.com/Ali1/cakephp-amazon-aws-sdk

检查这个

在此处输入图像描述

图像正确保存在我的 ec2 存储中。对于 ec2 服务器上的图像上传,我正在使用这个插件https://github.com/josegonzalez/cakephp-upload

我尝试putobject使用简单的表单上传方法,这也适用于我这里是代码

和 saveimg.php 是

当我尝试打开该文件时,显示了以下消息。

在此处输入图像描述

0 投票
1 回答
3383 浏览

php - 在 S3 中检索对象用户元数据 - aws sdk v3 php

我希望从 php sdk 中的 S3 存储桶中的对象中检索用户定义的元数据。

根据Editing Object Meta Data,用户元数据与对象一起存储并随之返回,并以“x-amz-meta-”开头

我已经通过控制台(如“x-amz-meta-test”)在上传时定义了对象上的用户元数据,并在上传后添加它(通过 Web 控制台,而不是上传 API)。

永远不会返回测试元数据。我总是得到相同的系统元数据。也就是说,我在@metadata 中只得到以下键:

文件夹

对象

但是,要在其他语言中实现这一点,需要一个简单的方法调用。

在 Android SDK 中获取用户元数据

在 Java SDK 中获取用户元数据

如何在 PHP SDK 中完成相同的任务?

任何帮助将不胜感激 :)

0 投票
2 回答
2118 浏览

php - 动态数据库;获取表中的所有数据 - PHP

我通过此处链接的答案找到了一些有关如何完成此任务的帮助。但它不适合我的用例。我的目标是获取 DynamoDB 表中的所有记录(用户名和电子邮件)。浏览文档我必须使用 LastEvaluatedKey 或 ExclusiveStartKey 来实现分页。任何指导将不胜感激。

谢谢

0 投票
1 回答
2315 浏览

amazon-s3 - 如何使用 aws-sdk-php 连接到亚马逊 aws s3?

我想用 aws-sdk-php 重命名 S3 上的图像。我的代码如下:

我得到的错误是:

有人能帮我吗?

0 投票
1 回答
239 浏览

php - 压缩存储在 S3 上的 100 个文件

我们使用 S3 存储通过我们的应用程序上传的各种媒体,例如图像、文档等。我们在物业软件行业工作,作为与物业门户交换存储在我们系统中的数据的一种方式,门户之间的常见交换格式是 Rightmove BLM 数据饲料规格。这本质上是一个 zip 文件,其中包含一个分隔文本文件和通过 FTP 发送到每个门户的任何相关媒体。然而,该过程中的一个瓶颈是从 S3 下载媒体以进行压缩。例如,我们系统上的一个帐户可能有大约 1000 个图像/文档可供下载和压缩以准备传输(每个文件必须以特定格式的特定门户命名(唯一编号、序列号等) . 但是,通过 PHP SDK 将 1000 个图像/文档从 S3 下载到同一区域的 EC2 服务器需要一些时间(60 多秒)。当同时为多个帐户执行此操作时,它会给服务器带来相当大的负载。

是否有更好/更快的方式从 S3 下载文件,以便在 EC2 实例上进行准备和压缩?

谢谢。

0 投票
1 回答
1237 浏览

php - AWS S3 列出特定文件夹中的文件

我正在尝试列出 S3 存储桶中特定文件夹中的文件和文件夹。我想返回该文件夹中的子文件夹名称,但不返回这些子文件夹的内容。

我不确定是否可以使用分隔符来完成,但这就是我所拥有的:

0 投票
2 回答
685 浏览

php - 使用 AWS SDK for PHP (v3) 检索流对象的标头

适用于 PHP的AWS 开发工具包v2 的指南可用于从S3 流式传输对象(如图像)。在该指南中,它引用了- SDK 的 v3中似乎不存在两者。$command->getResponse()->getHeaders()getResponse()getHeaders()

v3 中流包装器的文档没有提及检索标头。我已经get_headers()使用s3://路径尝试了本机 PHP,但是返回false(没有错误)。如果我尝试get_headers($fullurl),我可以检索标题。

如何使用s3://适用于 PHP 的 AWS 开发工具包版本 3 的流路径检索对象的标头?使用完整 URL 将适用于我有私人文件的情况。

运行文档引用的其他一些原生 PHP 函数使用s3://路径正确返回值。标头可能有一个 SDK 方法调用,我只是找不到它。

0 投票
1 回答
3823 浏览

php - AWS Route 53 - 按域名获取托管区域?

有没有办法按域名检索托管区域?

我认为使用 listHostedZonesByName( 'pagefoo.io' ) 可以解决问题,但它会返回不相关的结果:pagefoo.net、pagefoo.org 而不仅仅是 pagefoo.io。

0 投票
1 回答
1019 浏览

php - 如何将 ContentType 添加到 AWS PHP SDK MultiPartUploader

我已经到处搜索了如何将简单的 ContentType 元数据添加到 AWS PHP SDK 中的 MultiPartUploader。文档特别提到了如何为 PutObject 执行此操作,但没有提及如何使用 MultiPartUploader 执行此操作。

我已经尝试了所有可以在网上找到的方法,但没有任何效果,而且我的文件总是设置为 application/octet-stream。

有人对这个有经验么?这是我的代码:

通读 MultiPartUploader 类后,看起来 ContentType 应该是自动设置的,但它没有被设置。

我正在使用SDK 的 v3

任何建议将不胜感激!

0 投票
1 回答
837 浏览

php - AWS PHP SDK v3 中的响应日志记录

在 AWS PHP SDK 的 v2 中,我可以通过简单地执行以下操作来设置请求和响应信息的日志记录:

在 v3 中,我似乎找不到解决方案。中间件似乎没有帮助,因为它们只在发送请求之前触发,因此我无法访问响应 HTTP 代码。

Guzzle v6 在其中间件中内置了此功能,但我不知道如何使其与 aws-php-sdk 一起使用。https://github.com/guzzle/guzzle/blob/master/src/Middleware.php#L180

我得到的最接近的是:

但是,虽然日志记录工作正常,但 doesObjectExist() 现在返回不正确的值,因为此处理程序不会引发 aws-php-sdk 预期会发生的 404 异常。乍一看,其他一些简单的请求(例如上传到 S3)似乎可以正常工作。不知道这种方法还有什么问题。