SQS를 사용하여 S3에 업로드하면 프로세스의 내결함성이 향상됩니까?
그렇다면 queue
을 생성하고 S3에 업로드하는 것과 결합하여 구문에 어려움을 겪고 있습니다.
논리가 올바르지 않은 경우 SQS
을 사용하여 S3
에 업로드하는 시스템을 어떻게 설정합니까?SQS - PHP 구문을 사용하여 S3에 AWS 업로드
if (!class_exists('S3'))require_once('S3.php');
// *these keys are random strings
$AWS_KEY = "6VVWTU4JDAAKHYB1C3ZN";
$AWS_SECRET_KEY = "GMSCUD8C0QA1QLV9Y3RP2IAKDIZSCHRGKEJSXZ4F";
//AWS access info
if (!defined('awsAccessKey')) define('awsAccessKey', $AWS_KEY);
if (!defined('awsSecretKey')) define('awsSecretKey', $AWS_SECRET_KEY);
//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);
//check whether a form was submitted
if(isset($_POST['Submit'])){
//retreive post variables
$fileName = $_FILES['theFile']['name'];
$fileTempName = $_FILES['theFile']['tmp_name'];
//create a new bucket
$s3->putBucket("mybucket", S3::ACL_PUBLIC_READ);
//add the queue
$sqs = new AmazonSQS(array("key" => $AWS_KEY, "secret" => $AWS_SECRET_KEY));
$response = $sqs->create_queue('test-topic-queue');
$queue_url = (string) $response->body->CreateQueueResult->QueueUrl;
$queue_arn = 'arn:aws:sqs:us-east-1:ENCQ8gqrAcXv:test-topic-queue';
//$queue_url . ?Action=SendMessage&MessageBody=Your%20Message%20Text?&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Version=2011-10-01?&Expires=2008-02-10T12:00:00Z?&Signature=lBP67vCvGlDMBQ1do?fZxg8E8SUEXAMPLE&SignatureVersion=2&SignatureMethod=HmacSHA256
// HOW DO I INCORPORATE SQS AND S3
//move the file
if ($s3->putObjectFile($fileTempName,
"mybucket",
"myFolder/" . $fileName, S3::ACL_PUBLIC_READ,
array(),
$_FILES['theFile']['type'])) {
//it works
}else{
// error
}
}
왜 부정 투표입니까? –
통합하고자하는 것은 무엇입니까? SQS는 메시징 용이고 S3는 객체 저장 용입니다. SQS를 사용하여 S3에 대한 실제 업로드의 내결함성을 향상시킬 수 없습니다. 하지만 아마도 당신의 질문을 놓치고 있습니까? – oens
둘째, 코드 스 니펫에 실제 AWS 자격 증명이 게시되지 않았기를 바랍니다. 그렇다면 당신은 그들을 취소해야합니다. – oens