Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, rota için iyileştirilmiş model sunumunuzu veya özellik sunma uç noktanızı sorgulayabileceğiniz uygun kimlik doğrulama kimlik bilgilerini ve URL'yi nasıl getirebileceğiniz açıklanır.
Gereksinimler
- Uç noktaya hizmet veren bir model veya rota iyileştirmesi etkinleştirilmiş uç noktaya hizmet veren özellik. Bkz. Hizmet uç noktaları üzerinde yol iyileştirme.
- Rota için iyileştirilmiş uç noktaları sorgulama yalnızca OAuth belirteçlerinin kullanılmasını destekler. Kişisel erişim belirteçleri desteklenmez.
Rota için iyileştirilmiş URL'yi getirme
Uyarı
22 Eylül 2025'den itibaren, yeni oluşturulan tüm rota için iyileştirilmiş uç noktaların yalnızca yol için iyileştirilmiş URL aracılığıyla sorgulanması gerekir. Bu tarihten sonra oluşturulan uç noktalar, çalışma alanı URL'si üzerinden sorgulamayı desteklemez.
Rota için iyileştirilmiş uç noktanız 22 Eylül 2025'e kadar oluşturulduysa:
Standart çalışma alanı URL'si uç noktayı sorgulamak için de kullanılabilir. Standart çalışma alanı URL yolu, yol iyileştirmenin avantajlarını sağlamaz .
https://<databricks-workspace>/serving-endpoints/<endpoint-name>/invocationsBu tarihten önce oluşturulan yol için iyileştirilmiş uç noktalar, yönlendirme için iyileştirilmiş URL yolu ve standart çalışma alanı URL yolu olmak üzere çağrı URL'lerini desteklemeye devam eder.
Rota için optimize edilmiş bir uç nokta oluşturduğunuzda, bu uç nokta için aşağıdaki rota için optimize edilmiş URL oluşturulur.
https://<unique-id>.<shard>.serving.azuredatabricks.net/<workspace-id>/serving-endpoints/<endpoint-name>/invocations
Bu URL'yi aşağıdakilerden alabilirsiniz:
Kullanıcı Arayüzü Sunma
REST API
API çağrısını GET /api/2.0/serving-endpoints/{name} kullanın. URL, uç noktanın yanıt nesnesinde olarak endpoint_urlbulunur. Bu alan yalnızca uç nokta yol için iyileştirilmişse doldurulur.
GET /api/2.0/serving-endpoints/my-endpoint
{
"name": "my-endpoint"
}
Databricks SDK
Serving Endpoints API get Aramayı kullanın. URL, uç noktanın yanıt nesnesinde olarak endpoint_urlbulunur. Bu alan yalnızca uç nokta yol için iyileştirilmişse doldurulur.
from databricks.sdk import WorkspaceClient
workspace = WorkspaceClient()
workspace.serving_endpoints.get("my-endpoint")
OAuth belirtecini getirme ve uç noktayı sorgulama
Rota için iyileştirilmiş uç noktanızı sorgulamak için bir OAuth belirteci kullanmanız gerekir. Databricks, OAuth belirteçlerini program aracılığıyla getirmek için üretim uygulamalarınızda hizmet sorumlularının kullanılmasını önerir. Aşağıdaki bölümlerde, test ve üretim senaryoları için bir OAuth belirtecinin nasıl getirilmeye yönelik önerilen yönergeler açıklanmaktadır.
Sunucu Arayüzünü kullanarak OAuth belirteci al.
Aşağıdaki adımlar, Sunma kullanıcı arabiriminde bir belirtecin nasıl getirileceğini gösterir. Uç noktanızı geliştirme ve test etme için bu adımlar önerilir.
Üretim kullanımı için, örneğin rota için optimize edilmiş uç noktanızı bir uygulamada kullanırken, belirteciniz bir hizmet ilkesi kullanılarak alınır. Üretim kullanım örnekleri için OAuth belirtecinizi getirme konusunda önerilen yönergeler için OAuth belirtecini program aracılığıyla getirme bölümüne bakın.
Çalışma alanınızın Sunma kullanıcı arabiriminden:
- Uç noktaları sunma sayfasında, uç nokta ayrıntılarını görmek için rota için iyileştirilmiş uç noktanızı seçin.
- Uç nokta ayrıntıları sayfasında Kullan düğmesini seçin.
- Belirteç Getir sekmesini seçin.
- OAuth Belirtecini Getir düğmesini seçin. Bu belirteç 1 saat geçerlidir. Geçerli belirtecinizin süresi dolarsa yeni bir belirteç getirin.
OAuth belirtecini getirdikten sonra uç nokta URL'nizi ve OAuth belirtecinizi kullanarak uç noktanızı sorgularsınız.
REST API
Rest API örneği aşağıda verilmiştir:
URL="<endpoint-url>"
OAUTH_TOKEN="<token>"
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
--data "@data.json" \
"$URL"
Piton
Aşağıda bir Python örneği verilmiştir:
import requests
import json
url = "<url>"
oauth_token = "<token>"
data = {
"dataframe_split": {
"columns": ["feature_1", "feature_2"],
"data": [
[0.12, 0.34],
[0.56, 0.78],
[0.90, 0.11]
]
}
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {oauth_token}"
}
response = requests.post(url, headers=headers, json=data)
# Print the response
print("Status Code:", response.status_code)
print("Response Body:", response.text)
OAuth belirtecini program aracılığıyla getirme
Üretim senaryolarında, Databricks, OAuth belirteçlerini otomatik olarak almak için uygulamanızın içine yerleştirmek üzere hizmet ilkelerinin ayarlanmasını önerir. Bu getirilen belirteçler, rota için optimize edilmiş uç noktaları sorgulamak için kullanılır.
Hizmet sorumlunuzu oluşturmak, izinleri atamak ve hizmet sorumlunuz için bir OAuth gizli dizisi oluşturmak için 2. adım boyunca OAuth ile Azure Databricks'e hizmet sorumlusu erişimini yetkilendirme başlığındaki adımları izleyin. Hizmet sorumlunuz oluşturulduktan sonra hizmet sorumlusuna en azından uç noktada Sorgu izni vermeniz gerekir. Bkz. Uç noktaya hizmet veren bir model üzerindeki izinleri yönetme.
Databricks Python SDK'sı, rota için iyileştirilmiş uç noktayı doğrudan sorgulamak için bir API sağlar.
Uyarı
Databricks SDK'sı Go'da da kullanılabilir. Bkz. Go için Databricks SDK'sı.
Sonraki örnek, Databricks SDK'sını kullanarak yol için iyileştirilmiş bir uç noktayı sorgulamak için aşağıdakileri gerektirir:
- Uç nokta adı sunma (SDK, bu ada göre doğru uç nokta URL'sini getirir)
- Hizmet sorumlusu istemci kimliği
- Hizmet ilkesi parolası
- Çalışma alanı ana bilgisayar adı
from databricks.sdk import WorkspaceClient
import databricks.sdk.core as client
endpoint_name = "<Serving-Endpoint-Name>" ## Insert the endpoint name here
# Initialize Databricks SDK
c = client.Config(
host="<Workspace-Host>", ## For example, my-workspace.cloud.databricks.com
client_id="<Client-Id>", ## Service principal ID
client_secret="<Secret>" ## Service principal secret
)
w = WorkspaceClient(
config = c
)
response = w.serving_endpoints_data_plane.query(endpoint_name, dataframe_records = ....)
OAuth belirtecini el ile getirme
Databricks SDK'sının veya Sunum Kullanıcı Arabiriminin OAuth belirtecinizi getirmek için kullanılamadığı senaryolar için, OAuth belirtecini el ile getirebilirsiniz. Bu bölümdeki yönergeler temel olarak, kullanıcıların üretimde uç noktayı sorgulamak için kullanmak istedikleri özelleştirilmiş bir istemciye sahip olduğu senaryolar için geçerlidir.
Bir OAuth belirtecini el ile getirdiğinizde, istekte belirtmeniz authorization_details gerekir.
- Databricks dağıtımınızın çalışma alanı URL'si
<token-endpoint-URL>ilehttps://<databricks-instance>öğesinihttps://<databricks-instance>/oidc/v1/tokenyerine koyarak oluşturun. Örneğin,https://my-workspace.0.azuredatabricks.net/oidc/v1/token
-
<client-id>hizmet sorumlusunun istemci kimliğiyle, aynı zamanda uygulama kimliği olarak da bilinen, değiştirin. -
<client-secret>öğesini, oluşturduğunuz hizmet cucerisinin OAuth gizli anahtarı ile değiştirin.
- Uç nokta kimliğini rota için iyileştirilmiş uç noktanın kimliği ile değiştirin
<endpoint-id>. Bu, uç nokta URL'sinde bulabileceğinizhostNameuç noktanın alfasayısal kimliğidir. Örneğin, sunum uç noktasıhttps://abcdefg.0.serving.azuredatabricks.net/9999999/serving-endpoints/testise, uç nokta kimliğiabcdefgolur.
- değerini hizmet sorumlusuna verilen eylem izniyle değiştirin
<action>. Eylem veyaquery_inference_endpointolabilirmanage_inference_endpoint.
REST API
Rest API örneği aşağıda verilmiştir:
export CLIENT_ID=<client-id>
export CLIENT_SECRET=<client-secret>
export ENDPOINT_ID=<endpoint-id>
export ACTION=<action> # for example, 'query_inference_endpoint'
curl --request POST \
--url <token-endpoint-URL> \
--user "$CLIENT_ID:$CLIENT_SECRET" \
--data 'grant_type=client_credentials&scope=all-apis'
--data-urlencode 'authorization_details=[{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"'"/serving-endpoints/$ENDPOINT_ID"'","actions": ["'"$ACTION"'"]}]'
Piton
Aşağıda bir Python örneği verilmiştir:
import os
import requests
# Set your environment variables or replace them directly here
CLIENT_ID = os.getenv("CLIENT_ID")
CLIENT_SECRET = os.getenv("CLIENT_SECRET")
ENDPOINT_ID = os.getenv("ENDPOINT_ID")
ACTION = "query_inference_endpoint" # Can also be `manage_inference_endpoint`
# Token endpoint URL
TOKEN_URL = "<token-endpoint-URL>"
# Build the payload, note the creation of authorization_details
payload = { 'grant_type': 'client_credentials', 'scope': 'all-apis', 'authorization_details': f'''[{{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"/serving-endpoints/{ENDPOINT_ID}","actions":["{ACTION}"]}}]''' }
# Make the POST request with basic auth
response = requests.post( TOKEN_URL, auth=(CLIENT_ID, CLIENT_SECRET), data=payload )
# Check the response
if response.ok:
token_response = response.json()
access_token = token_response.get("access_token")
if access_token:
print(f"Access Token: {access_token}")
else:
print("access_token not found in response.")
else: print(f"Failed to fetch token: {response.status_code} {response.text}")
OAuth belirtecini getirdikten sonra uç nokta URL'nizi ve OAuth belirtecinizi kullanarak uç noktanızı sorgularsınız.
REST API
Rest API örneği aşağıda verilmiştir:
URL="<endpoint-url>"
OAUTH_TOKEN="<token>"
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
--data "@data.json" \
"$URL"
Piton
Aşağıda bir Python örneği verilmiştir:
import requests
import json
url = "<url>"
oauth_token = "<token>"
data = {
"dataframe_split": {
"columns": ["feature_1", "feature_2"],
"data": [
[0.12, 0.34],
[0.56, 0.78],
[0.90, 0.11]
]
}
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {oauth_token}"
}
response = requests.post(url, headers=headers, json=data)
# Print the response
print("Status Code:", response.status_code)
print("Response Body:", response.text)