无法重命名Google云端存储对象

时间:2014-06-02 02:55:38

标签: php google-app-engine google-cloud-storage

我无法重命名Google云端存储对象,以下是我尝试使用的简单代码,但

require_once 'google/appengine/api/cloud_storage/CloudStorageTools.php';
use google\appengine\api\cloud_storage\CloudStorageTools;

$core_url = 'gs://store.lonel.com/F9BEA944A8543F.jpg';

 $ctx = [
  'gs' => [
    'enable_cache' => true,
    'enable_optimistic_cache' => true,
    'read_cache_expiry_seconds' => 300,
  ]
];
$ctx_res = stream_context_set_default($ctx);
if (false == rename($core_url, 'gs://store.lonel.com/MMMF9BEA944A8543F.jpg',$ctx_res))
{
  die('Could not rename.');
}else{
    echo 'Done renaming';
}

我已使用Google Cloud Storage API请求插入了对象。

输出:

  

警告:无法重命名:gs://store.lonel.com/MMMF9BEA944A8543F.jpg。   云存储错误:未在C:\ Program中找到   FILES \谷歌\ google_appengine \ PHP \ SDK \谷歌\ AppEngine上\分机\ cloud_storage_streams \ CloudStorageRenameClient.php   在第77行

1 个答案:

答案 0 :(得分:2)

您是否在本地运行此AppEngine应用并尝试重命名Google云端存储中的真实对象?当您在本地运行AppEngine开发服务器时,AppEngine会模拟连接到Google云端存储,但它不会与实际内容进行通信。您可能正在尝试访问Google云端存储中存在但在本地模拟环境中不存在的对象。

请注意,这不是通过Google API Python客户端(您未使用)访问Google云端存储的情况,该客户端与App Engine分开并与真正的Google云端存储区联系,无论其位于哪个App Engine环境中跑进来。