通知
清除所有

使用aws/aws-sdk-php与谷歌云存储

RSS

(@sathish)
成员 主持人
加入:12个月前
帖子:1391
19/05/2021需要点

谷歌云存储(不一样的谷歌驱动器)似乎有兼容S3 api:

https://developers.google.com/storage/docs/migrating#migration-simple

有人知道我是否可以使用aws/aws-sdk-php (https://packagist.org/packages/aws/aws-sdk-php)打包并配置它连接到我的谷歌云存储,而不是AWS S3?

我已经尝试了以下代码:

<?php使用AwsS3S3Client使用联盟Flysystem文件系统使用联盟Flysystem适配器AwsS3作为适配器require_once“供应商/ autoload.php”;error_reporting (E_ALL & ~ E_NOTICE);报错(“display_errors”1);美元的客户= S3Client::工厂(数组“关键”= >“MY_GCS_KEY”“秘密”= >“MY_GCS_SECRET”“端点”= >“storage.googleapis.com”));美元的文件系统文件系统(适配器(美元的客户“MY_GCS_BUCKET”));美元的文件系统- >写(“filename.txt”“内容”);

但这给了我一个错误:

致命错误:Uncaught Aws\S3\Exception\InvalidAccessKeyIdException: Aws错误码:InvalidAccessKeyId,状态码:403,Aws请求ID: BF7C1317719A4C67, Aws错误类型:客户端,Aws错误消息:您提供的Aws访问密钥ID在我们的记录中不存在。在/var/www/prudhub/ vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php第91行中抛出

有人知道如何正确地设置aws/aws-sdk-php包来连接到谷歌云存储吗?

编辑

下面是让它工作的代码:

<?php使用AwsS3S3Client使用联盟Flysystem文件系统使用联盟Flysystem适配器AwsS3作为适配器require_once“供应商/ autoload.php”美元的客户= S3Client::工厂(数组“关键”= >“MY_GCS_KEY”“秘密”= >“MY_GCS_SECRET”“base_url”= >“https://storage.googleapis.com”));美元的文件系统文件系统(适配器(美元的客户“MY_GCS_BUCKET”));美元的文件系统- >写(“filename.txt”“内容”);

报价
(@abhijith)
贵族成员
加入:12个月前
帖子:1350
19/05/2021 27点

端点钥匙开错了。应该是base_url。

http://docs.aws.amazon.com/aws-sdk-php/guide/latest/configuration.html#setting-a-custom-endpoint


回复报价
分享:
Baidu