AWS Lambda로 S3 객체 목록을 어떻게 얻습니까?
5973 단어 csharpdotnetserverlessaws
소개
AWS S3는 비즈니스에 가장 효과적인 온라인 스토리지 중 하나입니다. 원하는 대로 AWS Lambda로 S3 객체를 처리할 수 있다면 작업이 훨씬 잘 진행될 것입니다. 이것은 S3 객체 목록 가져오기에 중점을 둔 논평 기사입니다.
S3 버킷 및 IAM 설정
AWS Lambda로 처리하기 위한 S3 버킷 설정은 매우 간단합니다. 특별한 작업을 수행할 필요가 없습니다. AWS Lambda에 대한 IAM 사용자를 생성하고 사용자에게 여러 정책을 추가하기만 하면 됩니다.
정책 설정은 아래와 같습니다. 리소스에 대해 "s3:ListBucket"작업을 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
}
]
}
이 경우 "YOUR_BUCKET_NAME"버킷에 액세스하려고 합니다.
.NET을 사용한 소스 코드
AWS Lambda는 .NET6을 지원하며 C#으로 소스 코드를 작성할 수 있습니다. 이는 일부 개발자에게 매우 중요합니다. .NET으로 일부 시스템을 개발한 경우 .NET 기술 자산은 AWS Lambda를 개발하는 데 큰 도움이 됩니다.
S3용 AWSSDK를 사용하는 것은 매우 쉽습니다. 먼저 S3 클라이언트를 초기화합니다. 두 번째로 요청 인스턴스를 생성합니다. 마지막으로 ListObjectsAsync 메서드를 실행하고 응답을 받습니다.
using Amazon.S3;
public string GetObjectlist(string tempPrefix)
{
try
{
var returnString = "";
var s3Client = new AmazonS3Client(RegionEndpoint.YOUR_REGION);
var request = new Amazon.S3.Model.ListObjectsRequest
{
BucketName = "S3_BUCKET_NAME",
Prefix = tempPrefix,
};
Amazon.S3.Model.ListObjectsResponse response = s3Client.ListObjectsAsync(request).Result;
foreach (var objectItem in response.S3Objects)
{
if(returnString != "")
{
returnString += "::";
}
returnString += objectItem.Key;
}
return returnString;
}
catch (System.Exception e)
{
throw e;
}
}
응답 클래스 레이아웃은 다음과 같습니다.
https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/NS3Model.html
결론
이 게시물에서는 AWS Lambda로 S3 객체를 가져오는 방법에 대해 소개하려고 했습니다. 다음 포스트에서 또 다른 AWS 동작을 보여드리겠습니다. 내 게시물이 귀하의 작업이 잘 완료되기를 바랍니다.
Reference
이 문제에 관하여(AWS Lambda로 S3 객체 목록을 어떻게 얻습니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nomurabbit/how-do-you-get-s3-object-list-with-aws-lambda--1edi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)