我無法在 lambda 的 /tmp/ 檔案夾中看到從 s3 存盤桶下載的檔案。我在 IAM 策略中提供了對 S3 和 Lambda 的完全訪問權限。當我測驗此代碼時,我的 tmp 檔案夾始終為空(請參閱螢屏截圖)。
有人可以幫我嗎??
我的代碼:
import csv
import boto3
s3_client = boto3.client('s3')
s3_resource = boto3.resource('s3')
def lambda_handler(event, context):
bucket = 'test-bucket'
key = 'data/original_file1.csv'
try:
temp_path= '/tmp/test_file.csv'
s3_resource.Bucket(bucket).download_file(key,temp_path)
response = s3_client.get_object(Bucket=bucket, Key=key)
return response['ContentType']
except Exception as e:
print(e)
uj5u.com熱心網友回復:
這里有一個誤解。您似乎假設您在管理控制臺的編輯器中看到的目錄結構與 Lambda 函式中使用的目錄結構相同。不是這種情況。
您正在使用的在線編輯器基本上可以讓您編輯包含 Lambda 函式代碼的 .zip 檔案的內容。
每當執行 Lambda 函式并需要該函式的新執行背景關系(“實體”)時,Lambda 服務將啟動一個新的微型 VM,下載代碼資產并將它們提取到微型 VM。然后,您可以訪問該/tmp/執行背景關系中的目錄。
這與編輯器完全斷開連接,因此您無法/tmp/在執行背景關系中看到目錄中所做的更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/354349.html
下一篇:秘密值無法轉換為鍵名和值對
