2013-04-12 3 views
1

Perl에서 AWS SDK를 만들 수 있습니까? 내 펄 스크립트에서 AWS 트랜스 코더 서비스를 사용해야합니다. 하지만 AWS SDK가 Perl (http://aws.amazon.com/code)에 제공되지 않는다고 생각합니다. 아니면 Perl 스크립트에서 PHP SDK를 사용하는 다른 방법이 있습니까?Perl의 AWS SDK

답변

4

API는 단지 "HTTP를 통해 특정 물건 보내기"입니다. 일을 더 쉽게 해주지 만 언어 관련 라이브러리가 필요하지 않습니다. 누구나 이러한 래퍼를 쓸 수 있으며 some people already have done that for Perl입니다.

+0

안녕하세요 퀀틴, 답변 해 주셔서 감사합니다 !!! 사실 AWS 트랜스 코더 서비스를 사용하고 싶습니다. 현재 나는 동일한 PHP 스크립트를 가지고 있으며 PHP SDK를 설치할 때 자동으로 생성되는 autoload.php를 사용합니다. – user2274163

+1

필요한 HTTP 요청을 표시하는 [API 설명서가있는] (http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/api-reference.html). – Quentin

+0

이것은 좋은 Quentin이지만 AWS SQS 서비스를 통해 입력 비디오 파일 정보를 얻고 있습니다. PHP 스크립트에서 Aws/Sqs/SqsClient 라이브러리를 사용합니다. Perl 스크립트에도이 라이브러리를 사용할 수 있습니까? 아니면 다른 방법이 있습니까? – user2274163

1

AWS API로 작업 할 수있는 자체 Perl 모듈을 작성하는 것은 매우 쉽습니다. 위에서 언급 한 것처럼 HTTP 호출을 만들고 HMAC 서명을 만들 수 있으면 모든 언어에서이를 수행 할 수 있습니다.

그러나 이미 S3 또는 EC2와 같은 특정 AWS 기능을 처리하는 CPAN에는 많은 펄 모듈이 있습니다. http://www.cpan.org/src/으로 이동하여 필요한 것을 검색하십시오 (예 : SNS). 당신은 일반적으로 당신의 필요를 충족시킬만한 것을 발견 할 것입니다.

1

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

나는 팀 케이의 "AWS"꽤 유용 "S3"도구를 발견했다. 그들은 Perl로 작성되었습니다. AWS의 원래 상태에서 출력에 직접 명령을 추가 할 수 있도록 --exec의 장점이 추가되었습니다. 나는 국제 문자와 다른 쓰레기를 파일 이름에 대한 슬픈 변명 거리로 떠드는 것은 나를위한 공포였습니다. 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"를 수행하고, 모든 반환 넣어 해당 접두어에있는 파일 이름은 exec 함수에 전달됩니다. 거기에서, 당신은 내가 맹목적으로 그 안에 보유 된 파일을 삭제하고 있다는 것을 알 수 있습니다.

(참고 : --no-가상 호스트는 그들에 마침표 bucketnames를 해결하는 데 도움이 당신은 A 지점에서 B 지점으로 얻을 수 긴 URL을 사용할 필요가 없습니다.)

3

년 후, 지금 Paws있다 , Perl AWS 인터페이스. CPAN에 있습니다.