簡體   English   中英

如何在沒有 lambda 的情況下訪問/調用 sagemaker 端點?

[英]How to access/invoke a sagemaker endpoint without lambda?

根據 aws 文檔,api 網關中的最大超時限制小於 30 秒。因此,如果請求/響應時間超過 30 秒,則將 sagemaker 端點與 api 網關連接起來是沒有意義的。 有什么解決方法嗎? 在 api 網關和 sagemaker 端點之間添加一個 lambda 將增加更多時間來處理請求/響應,我想避免這種情況。 此外,將增加 lambda 冷啟動時間,並且 sagemaker 無服務器端點構建在 lambda 之上,因此也會增加冷啟動時間。 有沒有一種方法可以在沒有這些開銷的情況下調用無服務器 sagemaker 端點?

確實可以在不使用任何其他 AWS 服務的情況下從 sagemaker 調用 sagemaker 端點,並且它們具有調用 URL 這一事實也表明了這一點。

以下是您的設置方式:

  1. 創建一個只有編程訪問權限的用戶並附加一個策略 json,它應該如下所示:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sagemaker:InvokeEndpoint",
            "Resource": "arn:aws:sagemaker:<region>:<account-id>:endpoint/<endpoint-name>"
        }
    ]
} 

您可以將<endpoint-name>替換為*以讓該用戶調用所有端點。

  1. 使用 ACCESS-KEY 和 SECRET-ACCESS-KEY 在 postman 中配置授權,如屏幕截圖所示。 還可以在高級選項卡中添加參數,如屏幕截圖所示。 在此處輸入圖像描述

  2. 然后用相關的內容類型填充你的正文。

  3. 然后添加或刪除其他標頭,如變體名稱或型號名稱,如果您設置了它們並且標頭應如下屏幕截圖所示: 在此處輸入圖像描述

  4. 發送請求以接收這樣的響應在此處輸入圖像描述

URL 和以上屏幕截圖中的憑據不再有效,呃!

如果您希望代碼使用某種后端語言直接調用端點,這里是 python 的代碼

您可以使用映射模板將 SageMaker 端點直接連接到 API 網關,無需中間Lambdas https://aws.amazon.com/fr/blogs/machine-learning/creating-a-machine-learning-powered-rest-api-with -amazon-api-gateway-mapping-templates-and-amazon-sagemaker/

您還可以使用 AWS SDK(例如CLIboto3 )調用端點,而不必為 API GW 執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM