AWS S3 Pre-Sign URL 全部 S3 目錄所有檔案都要,我該如何做?

閱讀時間約 4 分鐘


以下為簡單範例,可自行發揮~

建立 Lambda

raw-image

增加 S3 權限

raw-image

為了方便用 s3 full access policy(依照實際情況調整)

raw-image

修改Timeout 時間,依照實際情況調整

raw-image


範例

import json
import boto3
from botocore.exceptions import NoCredentialsError

def lambda_handler(event, context):
# 初始化 S3 客户端
s3_client = boto3.client('s3')

# 從事件中取得桶名稱和前綴
bucket_name = event.get('bucket_name', 'your-bucket-name')
prefix = event.get('prefix', 'your-directory-prefix/')
expiration = event.get('expiration', 3600)

def generate_presigned_urls(bucket_name, prefix, expiration):
try:
# 列出指定前綴下的所有對象
response = s3_client.list_objects_v2(Bucket=bucket_name, Prefix=prefix)

if 'Contents' not in response:
print("No files found in the specified bucket and prefix.")
return []

urls = []
for obj in response['Contents']:
key = obj['Key']
# 產生預簽名 URL
url = s3_client.generate_presigned_url('get_object',
Params={'Bucket': bucket_name, 'Key': key},
ExpiresIn=expiration)
urls.append({'file': key, 'url': url})
print(f'Generated URL for {key}: {url}')

return urls

except NoCredentialsError:
print("Credentials not available.")
return []

# 呼叫函數產生預簽名 URL
urls = generate_presigned_urls(bucket_name, prefix, expiration)

# 傳回產生的 URL 列表
return {
'statusCode': 200,
'body': json.dumps(urls, indent=4) # 格式化输出
}


執行

raw-image


{
"bucket_name": "you bucke",
"prefix": "you prefix/",
"expiration": 3600
}

產生結果

raw-image


raw-image


avatar-img
15會員
80內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
西尼亞ming的沙龍 的其他內容
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
本文介紹了使用PyMuPDF,AWS Lambda和Docker將PDF文件轉換為圖像的高效方法。同時提到了在執行過程中可能會遇到的部分問題和解決方法。
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
如何計算 CloudFront 在使用中,回到Origins的數量,以及命中總數量
客戶提出以下需求: 當用戶在日本,會導到離用戶最近的CloudFront節點(亞洲),當CF要回原站時,需要導到新加坡的S3 當用戶為美國,會導到離用戶最近的CloudFront節點(美國東岸),當CF要回原站時,需要導到美國的S3
依據 CloudFront 預設的配額限制 [1],有以下項目會影響流量:
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
本文介紹了使用PyMuPDF,AWS Lambda和Docker將PDF文件轉換為圖像的高效方法。同時提到了在執行過程中可能會遇到的部分問題和解決方法。
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
如何計算 CloudFront 在使用中,回到Origins的數量,以及命中總數量
客戶提出以下需求: 當用戶在日本,會導到離用戶最近的CloudFront節點(亞洲),當CF要回原站時,需要導到新加坡的S3 當用戶為美國,會導到離用戶最近的CloudFront節點(美國東岸),當CF要回原站時,需要導到美國的S3
依據 CloudFront 預設的配額限制 [1],有以下項目會影響流量:
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
             Amazon Web Services(AWS)宣布致力於AI安全和研究的公司Anthropic的模型Claude 3系列將於Amazon Bedrock提供服務。Claude 3系列模型具備業界領先的準確性、效能、速度和成本優勢。這一進展將強化各種規模的企業
Thumbnail
分享關於 AWS CLF-C02 考試的準備心得,包括考試主要範圍、準備過程中的學習資源及建議,以及考試當日的流程和心得。希望本文能為欲嘗試取得此認證的人提供心得與參考。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
研究這個部分起因是因為公司某些功能服務是使用AWS Serverless來處理計算,故而外訂立了三個月學習NodeJS的計畫,並開始試著實作Serverless服務,Jest測試還沒研究到,下次再補充說明。
Thumbnail
最近看到一些網路教學AWS S3可以部署靜態網頁,就想說那不如試試看將local swagger部署上去,之後還可以透過github action 自動部署swagger到s3上,於是花點時間看個影片並搭配chatgpt來實現
Thumbnail
Amazon Web Services(AWS)日前舉行2023年製造轉型戰略峰會,以「強化供應韌性,引領智造創新」為主題,邀請AWS台灣暨香港總經理王定愷、AWS日本製造業架構師資深經理岡本京,以及台灣塑膠工業旗下福欣特殊鋼公司、樺緯物聯、天氣風險等多家技術領先的客戶與合作夥伴。
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
Simple Storage Service (S3) 是 AWS 最常應用到的服務,只要是需要將檔案上傳到雲端的狀況都可以使用S3,本篇文章將介紹如何設定與使用AWS S3。
Thumbnail
             Amazon Web Services(AWS)宣布致力於AI安全和研究的公司Anthropic的模型Claude 3系列將於Amazon Bedrock提供服務。Claude 3系列模型具備業界領先的準確性、效能、速度和成本優勢。這一進展將強化各種規模的企業
Thumbnail
分享關於 AWS CLF-C02 考試的準備心得,包括考試主要範圍、準備過程中的學習資源及建議,以及考試當日的流程和心得。希望本文能為欲嘗試取得此認證的人提供心得與參考。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
研究這個部分起因是因為公司某些功能服務是使用AWS Serverless來處理計算,故而外訂立了三個月學習NodeJS的計畫,並開始試著實作Serverless服務,Jest測試還沒研究到,下次再補充說明。
Thumbnail
最近看到一些網路教學AWS S3可以部署靜態網頁,就想說那不如試試看將local swagger部署上去,之後還可以透過github action 自動部署swagger到s3上,於是花點時間看個影片並搭配chatgpt來實現
Thumbnail
Amazon Web Services(AWS)日前舉行2023年製造轉型戰略峰會,以「強化供應韌性,引領智造創新」為主題,邀請AWS台灣暨香港總經理王定愷、AWS日本製造業架構師資深經理岡本京,以及台灣塑膠工業旗下福欣特殊鋼公司、樺緯物聯、天氣風險等多家技術領先的客戶與合作夥伴。
Thumbnail
大概是近期三個月,我才開始認真思考是不是要投資時間、金錢、精力去考AWS(Amazon Web Services)的證照,前後參加了他們在台北舉辦的活動後,我心中大概漸漸篤定了。