从Google Compute引擎到Google存储的文件传输

时间:2017-07-21 09:08:58

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

我已阅读Google云端存储(GCS)的文档,我感到非常困惑。

让我来描述一下情况:

之前 我使用一个简单的PHP脚本来备份SQL表中的数据。每隔一小时。然后我把它发送到我的ftp服务器。 立即 现在我希望将其发送到谷歌近线冷库。

在脚本很简单之前,没什么好看的只是一点PHP

passthru('curl --connect-timeout 30 --max-time 3600 -T '.$file_path.' "ftp://'.$ftp_server['user'].':'.$ftp_server['pass'].'@'.$ftp_server['ip'].':'.$ftp_server['port'].$ftp_server['path'].'/'.$filename.'.gz"', $status_result);

现在我读了谷歌云API,我对实际如何更改我的PHP脚本非常困惑,因此它将gz文件发送到近线冷库。

我读到了这个:https://developers.google.com/api-client-library/php/

我有以下问题

  • 它说我必须包含谷歌API,我该怎么做?在示例中,它说我应该使用命令" $ composer require google / cloud "然后写入我的PHP文件:" 使用Google \ Cloud \ ServiceBuilder; "但我还没有在服务器上使用composer。服务器是用纯PHP编写的。

    1. 如果我有一个简单的php文件(例如history_dump.php),我如何将google cloud API作为外部链接包含在内?
    2. 我现在的方式是SQL - > csv - > gz,我不想改变,我可以将gz文件发送给GCS吗?怎么样?

提前谢谢

1 个答案:

答案 0 :(得分:1)

为什么不继续使用一个小脚本? GCE附带import UIKit class ViewController : UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet var proTable: UITableView! override func viewDidLoad() { super.viewDidLoad() proTable.reloadData() } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "Default Pros") cell.textLabel?.text = pcMgr.pros[indexPath.row].name return cell } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return pcMgr.pros.count } func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){ if (editingStyle == UITableViewCellEditingStyle.delete){ pcMgr.pros.remove(at: indexPath.row) proTable.reloadData() } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } } ,您可以使用它将文件传输到GCS。试试这个:

gsutil

请注意,要使身份验证有效,您必须确保您的实例的服务帐户具有作用域以访问GCS,请参阅:https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes