[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

让我们使用Google Cloud PHP Client,它可以让您轻松操作各种GCP服务。

你好。
我是Mandai,负责Wild 开发团队。

与 AWS 一样,GCP 也拥有支持各种编程语言的客户端库。

这是一个方便的替代方案,因为您可以使用相同的方法访问各种 GCP 服务。
另外,由于它是集成的,因此可用性在服务之间不会改变,所以一旦你学会了它,你就永远不会迷失。它是一个越用越受益的工具。
这次,我将尝试使用 PHP 客户端库。

 

使用作曲家安装

它可以与composer一起安装,所以安装非常简单。
GCP 的客户端库针对每个服务进行了模块化,因此只需安装您需要的服务的库即可。

下面的示例安装 Cloud Storage 的库。

作曲家需要谷歌/云存储

 

安装现已完成。
之后,您可以通过使用认证信息创建服务帐户(稍后描述)来使用该服务。

每个服务还有其他库,因此我将它们总结在表中。

服务名称 模块名称 评论
云存储 谷歌/云存储
云数据存储 谷歌/云数据存储
云大查询 谷歌/云-bigquery
云扳手 谷歌/云扳手 测试版
云视界 谷歌/云视觉
云翻译 谷歌/云翻译
云语音 谷歌/云语音
云自然语言 谷歌/云语言 部分功能处于测试版状态
谷歌应用引擎 谷歌/云工具 使用适用于 Flex 环境的 Docker 映像
云发布/订阅 谷歌/云-pubsub
Stackdriver 跟踪 谷歌/云跟踪
Stackdriver 日志记录 谷歌/云日志记录
Stackdriver 监控 谷歌/云监控
Stackdriver 错误报告 谷歌/云错误报告
视频智能 谷歌/云视频智能 测试版
云Firestore 谷歌/云火存储 测试版
云数据丢失防护 谷歌/云-dlp 仅限数据丢失防护 API 早期访问计划参与者
Bigquery 数据传输服务 谷歌/云-bigquery数据传输 私人免费试用版

 

  • 所有这些都可以从composer安装和使用。
  • 数据截至2018年1月18日

 

创建服务帐户

从 GCP 云控制台创建服务帐户。
从菜单转换到认证信息屏幕。

接下来,从“创建凭据”按钮中选择服务帐户密钥。

如果您想创建新的服务帐户,请选择“新服务帐户”。

您可以使用任何您喜欢且易于管理的服务帐户名称。

根据服务的不同,有多个角色,因此不存在单一角色,但“所有者/管理员”是权限最高的角色,拥有执行服务内所有操作的权限。如果你遇到麻烦了,就是这个了。

对于发放给开发者的账户,设置具有读写权限的角色。
顺便说一下,你可以担任多个角色。
例如,对于数据存储区,有用户和索引管理员。

服务帐户ID的格式类似于电子邮件,@之前的部分可以设置为您选择的任何字符串。

由于密钥类型是P12,很难从PHP中使用,因此选择“JSON”。

输入以上信息后,按“创建”按钮。
创建后,将开始下载包含身份验证信息的 JSON 文件。

这个JSON文件非常重要,所以要小心处理。

服务帐户的创建现已完成。

 

示例程序

我记得在使用GCP文档中列出的示例程序时遇到了问题,因为它不包含读取身份验证信息的部分,因此假设您使用的是云存储,您实际上应该从身份验证信息设置中上传图像示例。到目前为止的计划如下。

<?php require './vendor/autoload.php'; use Google\Cloud\Core\ServiceBuilder; $keyFilePath = '../hogehoge.json'; $projectId = 'sample-123456'; $bucketName = 'new-my-bucket'; $uploadFile = './test.txt'; $gcloud = new ServiceBuilder([ 'keyFilePath' => $keyFilePath, 'projectId' => $projectId, ]); $storage = $gcloud->storage(); $bucket = $storage->createBucket($bucketName); // 当使用现有存储桶时 // $bucket = $storage->bucket($bucketName); $bucket->upload(fopen($uploadFile, 'r'));

 

上面的示例将名为 test.txt 的文件上传到 new-my-bucket 存储桶。

这里那里的,也没有使用 ServiceBuilder 类,但我个人认为,如果您使用从 ServiceBuilder 类创建的实例,您可以检索每个已通过身份验证的服务的实例。很快。

GCP认证文档说要使用环境变量“GOOGLE_APPLICATION_CREDENTIALS”并输入命令,但我认为如果只用PHP完成,需要的准备工作会更少,所以我这里介绍的方法仅供个人使用,这是我最喜欢的。方法。

 

概括

只有好处!
您对 GCP 服务客户端库有何看法?

我认为如果有一个用于 Cloud SQL 的客户端库就好了,但似乎没有。

GCE 没有任何东西,但我认为首先使用 PHP 进行虚拟机管理没有任何好处。
我认为重点是简单地使用 gcloud 命令。

有些客户甚至无法向公众提供服务,例如云数据丢失防护和Bigquery数据传输服务,但我认为图书馆的发展速度令人难以置信。

特别是,在 GCP 的存储服务中,即使对于最高端的多区域服务,Cloud Storage 也是迄今为止最便宜的(标准永久磁盘价格的 65%,被认为是第二便宜的),因此我们建议使用计划部署在 GCP 上的系统如果是这样,我想主动使用它,而不从程序本地保存它。

 
就是这样。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
3,420
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。