As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Invocar um endpoint assíncrono
Obtenha inferências do modelo hospedado em seu endpoint assíncrono com InvokeEndpointAsync.
nota
Faça o upload de seus dados de inferência (por exemplo, modelo de machine learning, dados de amostra) para o Amazon S3 se ainda não tiver feito.
Você pode fornecer a carga útil da solicitação de duas maneiras. Essas opções são mutuamente exclusivas; forneça exatamente uma delas em uma solicitação:
Carga em linha — Para cargas de até 128.000 bytes, passe os dados diretamente na solicitação com o parâmetro.
BodyIsso evita o upload da carga para o Amazon S3 antes de cada invocação.Localização do Amazon S3 — Para cargas maiores, faça upload de seus dados de inferência para o Amazon S3 e transmita seu URI com o parâmetro.
InputLocation
: A localização da imagem do Docker primária que contém código de inferência, artefatos associados e mapas de ambiente personalizado usado pelo código de inferência quando o modelo é implantado para previsões.
Para
Body, forneça a carga de inferência em linha (até 128.000 bytes). Use isso ouInputLocation, mas não os dois.Para
InputLocation, especifique a localização dos seus dados de inferência no Amazon S3. Use isso ouBody, mas não os dois.Para
EndpointName, especifique o nome do seu endpoint.(Opcional) Para
InvocationTimeoutSeconds, defina o tempo limite máximo para as solicitações. Você pode definir esse valor para um máximo de 3600 segundos (uma hora) por solicitação. Se não especificar esse campo em sua solicitação, por padrão a solicitação expirará em 15 minutos.
O exemplo a seguir envia a carga em linha com o Body parâmetro, o que não exige primeiro o upload da entrada para o Amazon S3.
# Create a low-level client representing Amazon SageMaker Runtime sagemaker_runtime = boto3.client("sagemaker-runtime", region_name=<aws_region>) # Specify the inference payload inline (up to 128,000 bytes) payload =b'{"inputs": "your inference data here"}'# The name of the endpoint. The name must be unique within an Região da AWS in your Conta da AWS. endpoint_name='<endpoint-name>'# After you deploy a model into production using SageMaker AI hosting # services, your client applications use this API to get inferences # from the model hosted at the specified endpoint. response = sagemaker_runtime.invoke_endpoint_async( EndpointName=endpoint_name, Body=payload, ContentType="application/json", InvocationTimeoutSeconds=3600)
Como alternativa, você pode armazenar a carga no Amazon S3 e transmitir sua localização com InputLocation o parâmetro. Se você ainda não tiver feito isso, faça o upload de seus dados de inferência para o Amazon S3 antes de invocar o endpoint.
# Create a low-level client representing Amazon SageMaker Runtime sagemaker_runtime = boto3.client("sagemaker-runtime", region_name=<aws_region>) # Specify the location of the input. Here, a single SVM sample input_location ="s3://bucket-name/test_point_0.libsvm"# The name of the endpoint. The name must be unique within an Região da AWS in your Conta da AWS. endpoint_name='<endpoint-name>'# After you deploy a model into production using SageMaker AI hosting # services, your client applications use this API to get inferences # from the model hosted at the specified endpoint. response = sagemaker_runtime.invoke_endpoint_async( EndpointName=endpoint_name, InputLocation=input_location, InvocationTimeoutSeconds=3600)
Você recebe uma resposta como uma string JSON com seu ID de solicitação e o nome do bucket do Amazon S3 que terá a resposta à chamada da API após o processamento.