PHP 3.x용 AWS SDK 사용: 마지막 수정 시간까지 S3 버킷의 최신 객체를 가져옵니다.
P粉262113569
P粉262113569 2023-07-28 11:50:32
0
1
422

PHP용 AWS SDK 3.x를 사용하여 마지막 수정 시간까지 버킷의 최신 객체를 가져오려고 합니다.

AWS CLI를 사용하여 이 기능을 구현하는 방법을 살펴보았습니다. 여기:

  • 마지막 수정 시간을 기준으로 S3 버킷의 최신 객체를 가져옵니다
  • AWS CLI를 사용하여 S3에서 마지막으로 수정된 객체를 가져옵니다

그런데 PHP SDK를 사용하여 이 기능을 구현하는 방법을 모르겠습니다.

$S3Client = 새로운 AwsS3S3Client([ '버전' => '최신', '지역' => 'eu-west-3', '자격증명' => '키' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', '비밀' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', ] ]); $startTime = strtotime('-5분'); $res = $S3Client->ListObjectsV2([ '버킷' => '내 버킷', '접두사' => '객체/', 'StartAfter' => $startTime ]) 

권장되는 ListObjectsV2 방법을 사용하고 있습니다.

세 가지 질문이 있습니다.


<올>
  • LastModified를 기준으로 결과를 어떻게 정렬해야 하나요? (CLI에서 할 수 있는 것과 마찬가지로)

  • 원치 않는 GLACIER 저장 객체로 이동된 일부 결과를 얻었기 때문에 검색에 영향을 미치는 일부 수명 주기 정책이 있습니다.

  • 객체의 태그와 메타데이터를 가져오고 싶습니다. 어떻게 받아야 하나요? x-amz-ional-object-attributes를 사용하시겠습니까? 사용하는 방법?

  • 그런데 StartAfter 매개변수를 사용해도 아무런 변화가 없는 것 같습니다.

    P粉262113569
    P粉262113569

    모든 응답 (1)
    P粉068486220

    • 코드에 정렬 논리를 구현해야 하지만 S3Client/AWS는 기본적으로 이 기능을 지원하지 않습니다. 이는 또한 최신 개체를 찾기 위해 정렬하기 전에 모든 개체(처음 1000개뿐만 아니라)를 나열해야 함을 의미합니다.
    • StorageClass 속성은 결과에 포함되며 결과를 정렬하거나 추가로 처리하기 전에 결과를 필터링할 수 있거나 필터링해야 합니다.
    • 액션을 나열하는 것만으로는 불가능합니다. 관심 있는 각 개체에 대해 별도의 GetObject 요청을 제출해야 합니다. 수천 개의 개체에 대한 메타데이터를 동시에 얻으려면 접근 방식을 다시 생각해야 하며 아마도 그러한 데이터를 적절한 쿼리/검색 가능한 데이터베이스에 저장해야 할 것입니다.
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!