草庐IT

php - 亚马逊冰川 SDK php

coder 2024-04-29 原文

我正在尝试将 php sdk 与 Glacier 结合使用来上传数据库备份,我能够使用以下代码创建和删除保险库。

<?php
require 'aws.phar';

use Aws\Glacier\GlacierClient;
use Aws\Common\Enum\Region;

$aws = GlacierClient::factory(array(
    'key'    => 'key',
    'secret' => 'secret',
    'region' => Region::US_WEST_2
));
$aws->createVault(array('vaultName'=>'newvault'));

我看到了函数 uploadArchive()、initiateMultiPartUpload() 和 uploadMultipartPart()。 据我所知,我必须初始化上传,然后开始上传文件,但我不确定该函数采用哪些参数。

我知道这些方法,因为这里提到了它们 https://github.com/aws/aws-sdk-php/blob/master/src/Aws/Glacier/GlacierClient.php ,参数是一个参数数组,我找不到每个方法需要什么才能正常工作,而且关于 glacier 和 php sdk 的文档实际上不存在。

有人做这个吗?或者找到好的文档?

最佳答案

有发表API docs可用于 SDK 2。API docs for the GlacierClient如果您单击右侧的小哈希符号,则会列出每个操作的参数。

编辑:A recent post on the AWS PHP Development Blog展示了如何使用单个和分段上传选项将文件上传到 Amazon Glacier。

还有 Amazon Glacier Developer Guide由 AWS 发布。它并不特定于 PHP,但它确实更多地讨论了如何使用该服务以及参数的含义。

虽然没有记录在 API 文档中,但 PHP SDK 在后台做了一些工作来帮助您为 Glacier 上传。在大多数情况下,accountId 参数应设置为"-",因此如果您不设置,SDK 将默认为此设置。此外,如果未提供,SDK 会为您计算 SHA 哈希值。

因此,简单的 UploadArchive 示例(构建问题中提供的内容)可以是:

<?php

require 'vendor/autoload.php'; // Include Composer autoloader

use Aws\Glacier\GlacierClient;
use Aws\Common\Enum\Region;

$glacier = GlacierClient::factory(array(
    'key'    => 'key',
    'secret' => 'secret',
    'region' => Region::US_WEST_2
));

$glacier->createVault(array('vaultName' => 'new-vault'));

$result = $glacier->uploadArchive(array(
    'vaultName'          => 'new-vault',
    'archiveDescription' => 'This is my new archive',
    'body'               => 'the contents of the archive',
));

$archiveId = $result->get('archiveId');

仍然缺少可用的示例,但我希望随着时间的推移会有所改善。此外,AWS SDK for PHP forum是专门发布有关 SDK 的问题的好地方,因为 SDK 团队一直在监视那里的帖子。

关于php - 亚马逊冰川 SDK php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574390/

有关php - 亚马逊冰川 SDK php的更多相关文章

  1. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  2. ruby-on-rails - 如何使用 JSON 的 Nokogiri 中的 XPath 从 eBay 和亚马逊抓取图像 - 2

    我正在尝试使用Nokogiri和XPath从网站上抓取图像,但到目前为止收效甚微。对于其HTML具有img和src的典型网站,我可以使用:tmp2=Nokogiri::HTML(open(site_url))tmp2.xpath("//img/@src").eachdo|src|...dowhateverend但是,某些网站(如Amazon和eBay)仅使用JavaScript触发特定图像。如果我查看代码,我可以看到数组中的数据。例如,来自Amazon:P.when('jQuery','cf').execute(function($,cf){P.load.js('http://z-ec

  3. python - 亚马逊搜索 API - 2

    有没有一种用Ruby或Python访问亚马逊搜索结果(给定查询)的好方法?我一直在寻找API,发现了一个产品广告API,它似乎与搜索不同。我宁愿不必在给定查询(嵌入在url中)的情况下抓取亚马逊搜索网页。 最佳答案 我已经使用AmazonAPI好几年了,我承认他们似乎试图隐藏他们在使用他们的常规附属产品(例如AmazonSearch)所做的事情,就好像他们不希望您使用该API或者至少让它变得困难。因此,在您的附属仪表板中,单击顶部的“产品API”选项卡。接下来,您需要创建公钥和私钥。如果未创建和设置这些,您将无法访问API。另请注意

  4. ruby-on-rails - 亚马逊 s3 - ruby 。获取刚刚上传的资源的URL - 2

    我有以下用于将本地文件上传到AmazonS3存储桶的代码:require'aws/s3'moduleAmazonS3defself.upload_file(local_file)bucket_name="bucketfortest"s3=AWS::S3.new(:access_key_id=>ENV["AMAZON_ACCESS_KEY"],:secret_access_key=>ENV["AMAZON_SECRET_KEY"])key=File.basename(local_file)amazon_object=s3.buckets[bucket_name].objects[key]

  5. Ruby 亚马逊图书搜索 - 2

    有没有人有一个很好的Ruby脚本来使用他们的API在Amazon上查找书籍(或其他产品)? 最佳答案 我一直在使用Amazon/ECS取得了巨大的成功。重要的一点是它不是GPL的(而Ruby/AWS似乎是),所以如果它对您的情况很重要,请小心。这是一个示例:require'amazon/ecs'#defaultoptions;willbecamelizedandconverted#toRESTrequestparameters.Amazon::Ecs.options={:aWS_access_key_id=>[youraccessk

  6. ruby-on-rails - Rails 还是 Sinatra? PHP程序员入门学习哪个好? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我使用PHP的时间太长了,对它感到厌倦了。我也想学习一门新语言。我一直在使用Ruby并且喜欢它。我必须在Rails和Sinatra之间做出选择,那么您会推荐哪一个?Sinatra真的不能用来构建复杂的应用程序,它只能用于简单的应用程序吗?

  7. ruby-on-rails - PHP 魔术方法 __call、__get 和 __set 的 Ruby 等价物 - 2

    我很确定Ruby有这些(等同于__call、__get和__set),否则find_by将如何在Rails中工作?也许有人可以举一个简单的例子来说明如何定义与find_by相同的方法?谢谢 最佳答案 简而言之你可以映射__调用带有参数的method_missing调用__设置为方法名称以'='结尾的method_missing调用__获取不带任何参数的method_missing调用__调用PHPclassMethodTest{publicfunction__call($name,$arguments){echo"Callingob

  8. ruby - Lisp - 是否适合网络编程/应用程序(交互式)? ruby 的方式是? php的方式是? - 2

    Lisp是否适合Web编程/应用程序(交互式),就像ruby​​和php一样?需要考虑的事情是:易于使用可部署性难度(尤其是对于编程初学者而言)(编辑)在阅读PaulGraham'sessay之后,我特别提到了CommonLisp.将是我的第一门编程语言。在这方面。这样做合适吗?我听说Clojure的宏功能不如CommonLisp的强大,这就是我尝试学习Clojure的原因。它教授编程并且非常强大。 最佳答案 Lisp是一个语系,而不是单一的语言。为了稍微回答您的问题,是的,存在用于各种Lisp方言的Web框架,例如用于Common

  9. 软件工程毕业设计课题(81)微信小程序毕业设计PHP校园跑腿小程序系统设计与实现 - 2

        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对应订单。意义:手机网络时代,大学生通过手机网购日常用品、外卖外卖、代取快递等已不再是稀奇的事情。此外,不少高校还流行着校园有偿工作,校园跑腿就成了大学生创业服务项目。        因为你在校园里,所以不会有进入的限制。并不是所有的外卖平台都可以随意进入校园,比如小黄和小蓝的双打外卖平台。许多大学禁止送餐进入学校,更不用说送餐进入宿舍了。这一措施使得校园服务市场的竞争相对不

  10. K8s部署PHP项目 - 2

    前言    前端时间PHP项目部署升级需要,需要把Laravel开发的项目部署K8s上,下面以laravel项目为例,讲解采用yaml文件方式部署项目。一、部署步骤1.创建Dockerfile文件Dockerfile是一个用来构建镜像的文本文件,在容器运行时,需要把项目文件和项目运行所必须的组件安装其中。#基础镜像FROMphp:7.4-fpm#时区ARGTZ=Asia/Shanghai#更换容器时区RUNcp"/usr/share/zoneinfo/$TZ"/etc/localtime&&echo"$TZ">/etc/timezone#替换成阿里apt-get源RUNsed-i"s@http

随机推荐