2013-04-12 56 views

回答

4

API只是「通過HTTP發送特定的東西」。你不需要特定的語言庫,但它確實使事情變得更簡單。任何人都可以寫這樣的包裝,並some people already have done that for Perl

+0

嗨昆汀,謝謝你的回覆!其實我想使用AWS轉碼器服務。目前我有相同的PHP腳本,它使用autoload.php,它是在安裝PHP SDK時自動創建的。 – user2274163

+1

哪些[有API文檔](http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html)顯示您需要製作的HTTP請求。 – Quentin

+0

這是好的昆汀,但我通過AWS SQS服務獲取輸入視頻文件信息。它在PHP腳本中使用Aws/Sqs/SqsClient庫。我是否也可以在perl腳本上使用這個相同的庫。或者我們有其他方法嗎? – user2274163

1

編寫自己的Perl模塊以使用AWS API相當容易。如上所述,如果您可以進行HTTP調用並創建HMAC簽名,則任何語言都可以執行此操作。

但是,CPAN上已經有很多Perl模塊用於解決特定的AWS功能,如S3或EC2。請轉至http://www.cpan.org/src/以搜索您需要的內容(例如,SNS)。你通常會找到滿足你需求的東西。

1

http://www.timkay.com/aws/

我發現添凱的 「AWS」 和 「S3」 的工具非常有用。它們是用Perl編寫的。 它具有--exec的附加優勢,因此您可以將命令直接附加到輸出,並以AWS的原始狀態進行添加。對於我來說,讓國際性的角色和其他垃圾成爲文件名的悲哀藉口一直是一種恐怖。使用Tim的工具集,我可以通過使用--exec調用文件名前綴(也是唯一的)來解決問題,然後直接對其執行操作,而不是使用元字符和其他廢話。

例如:

/123/456/789/You can't be serious that this is really a filename.txt 
/123/456/901/Oh!Yes I can! *LOL* Honest!.txt 

要核彈第一個:

aws ls --no-vhost mybucketname/123/456/789/ --exec='system "aws", "rm", "--no-vhost", "$bucket/$key"' 

簡單地說,該工具執行對S3桶的等效的 「ls」,則該前綴和ALL返回該前綴中的文件名,它們被傳遞給exec函數。從那裏,你可以看到我正在盲目地刪除裏面的文件。

(注:--no的虛擬主機可以幫助解決在他們時期bucketnames,你不需要使用長網址,點A到B點)。

3

多年以後,現在有Paws ,一個Perl AWS接口。它在CPAN上。