我在sagemaker中部署了一个端点,并试图通过python程序调用它。我用邮递员做了测试,效果非常好。然后我编写了如下调用代码
import boto3
import pandas as pd
import io
import numpy as np
def np2csv(arr):
csv = io.BytesIO()
np.savetxt(csv, arr, delimiter=',', fmt='%g')
return csv.getvalue().decode().rstrip()
runtime= boto3.client('runtime.sagemaker')
payload = np2csv(test_X)
runtime.invoke_endpoint(
EndpointName='<my-endpoint-name>',
Body=payload,
ContentType='text/csv',
Accept='Accept'
)
我现在运行此验证时出错
^{pr2}$在使用postman时,我已经给出了我的访问密钥和密钥,但是我不确定在使用sagemaker api时如何传递它。我在文档中也找不到。在
所以我的问题是,如何从本地计算机使用sagemaker api来调用端点?在
我也有这个问题,结果证明我的
region
是错的。在愚蠢但值得检查!在
当您使用任何AWS SDK(包括Amazon SageMaker的SDK)时,您需要在用于运行代码的计算机上配置AWS帐户的凭据。如果您使用的是本地计算机,则可以使用awscli流。您可以在pythonsdk页面上找到详细的说明:https://aws.amazon.com/developers/getting-started/python/
请注意,当您将代码部署到另一台计算机上时,您必须确保为EC2、ECS、Lambda或任何其他目标分配一个允许调用此特定端点的角色。在本地计算机中,可以授予您管理权限或其他许可权限,但在部署到远程实例时,应尽可能限制权限。在
相关问题 更多 >
编程相关推荐