Login
Bu dokümanda HTTP istekleriyle API'da yapılabilecek işlemler yer alıyor. Bu doküman içerisinde yer alan tüm istekler CURL komutu ve PYTHON kodu örnekleri ile birlikte eklenmiştir. Paylaşılan örnekler üzerinden, kullandığınız programlama diline uyarlayabilirsiniz.
NOT: Python kodlarını kullanmayı tercih ederseniz API kullanabilmek için aşağıdaki kütüphanelerin kurulu olduğundan emin olmalısınız.
requests
json
os
time
Login:
SkyAtlas API üzerindeki özellikleri kullanabilmeniz için Skyatlas tarafından iletilen erişim bilgileri ile login olmanız gerekir. API üzerinden login olmak için, kullanıcı adı, parola ve tenant bilgileri kullanılmalıdır. “SkyAtlas API Authentication” başlığı altında bulunan işlemleri tamamladıysanız login olmak için gerekli tüm bilgiler bilgisayarınıza import edilmiş demektir.
Bundan sonra yapmanız gereken tek işlem API’a istek gönderebilmek için bir Auth-Token a sahip olmak.
Auth-Token oluşturmak için;
curl
curl -v -s -X POST $OS_AUTH_URL/v3/auth/tokens?nocatalog
-H "Content-Type: application/json"
-d '{ "auth": { "identity": { "methods": ["password"],"password": {"user":
{"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},"name": "'"$OS_USERNAME"'",
"password": "'"$OS_PASSWORD"'"} } }, "scope": { "project": { "domain":
{ "name": "'"$OS_PROJECT_DOMAIN_ID"'" }, "name": "'"$OS_PROJECT_NAME"'" }}}}'
Python
import os
import json
import requests
domain = os.environ['OS_USER_DOMAIN_NAME']
user = os.environ['OS_USERNAME']
passwd = os.environ['OS_PASSWORD']
projectid = os.environ['OS_PROJECT_DOMAIN_ID']
project = os.environ['OS_PROJECT_NAME']
osurl = "https://panel.skyatlas.cloud"
print(user)
credentials = {
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"domain": {
"name": domain
},
"name": user,
"password": passwd
}
}
},
"scope": {
"project": {
"domain": {
"name": projectid
},
"name": project
}
}
}
}
print(osurl+":5000/v3/auth/tokens?nocatalog")
response = requests.post(
url=osurl+":5000/v3/auth/tokens?nocatalog",
data=json.dumps(credentials),
headers={"content-type":"application/json"}
)
token_id=response.headers["x-subject-token"]
account="AUTH_"+response.json()["token"]["project"]["id"]
print(token_id)
print(account)
NOT: Dokümanın devamında yazımı basitleştirmek ve anlaşılabilirliği artırmak adına curl ile elde ettiğimiz Auth-Token çıktısını bir değişkene atayarak devam edeceğiz. Dilerseniz aynı yöntemi takip edebilirsiniz.
export token = gAAAAABj-Mc5jy75JWDNjk7u4d3wQiJ14ZJkVfHa-j0EhXOfC5xRm9AnDMlmygt_JKOu281zI5OzYIc_23Hj_21c6SsgnREk3oFQzExpFoTY4qIHNZBNmzVJiE_oGGWM-vDXNI4QvKZJVnAv1d0AT8eL5NiqX64BEbbmjcZlD9zbrBgo-YFtyZ4