首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws-sdk 3 putobject未检索文件数据PHP

aws-sdk 3 putobject未检索文件数据PHP
EN

Stack Overflow用户
提问于 2017-01-31 22:45:52
回答 1查看 707关注 0票数 0

我正在尝试从我的amazon AWS存储桶上的txt文件中读取数据。但是响应数组中的主体键显示为NULL。我的代码是-

代码语言:javascript
复制
function s3_file_get_contents($path, $private = TRUE, $bucket = '') {
  require_once(CODE_BASE_DIR . '/ds_engine/docSuggest/external/aws-sdk-3/aws-autoloader.php');
  try {
    $s3Client = new Aws\S3\S3Client(array('region' => S3_ENDPOINT_REGION, 'version' => S3_ENDPOINT_VERSION,
      'credentials' => array(
        'key'       =>  S3_SUGGESTADOC_API_KEY,
        'secret'    => S3_SUGGESTADOC_API_SECRET,
      ),
    ));

$result = $s3Client->getObject(array(
    'Bucket' => $private ? S3_BUCKET_DOCSUGGEST : S3_BUCKET_SUGGESTADOC,
    'Key' => $path,
    ));
} catch (Exception $e) {
$error = $e->getMessage();
log_message('ERROR', '['.__FUNCTION__.'] Exception: '.$error);
}
die(print_array($result['body']));
  return $error ? $error : $result['body'];
}

该文件包含一些文本,但控制台中没有显示任何内容。请放心,我已经正确设置了连接,没有任何问题。我可以下载该文件,但不能从中读取。

P.S -响应元数据有一个对象URL。使用该文件可以下载该文件。所以我猜我走上了正确的道路,但仍然没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-07 01:51:26

数据在$result['Body']中,而不是在$result['body']中。

查看文档:http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-s3.html#downloading-objects

使用var_dump($result)可以更好地理解响应的结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41960422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档