Skip to main content
Skip table of contents

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

CODE
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

CODE
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.

CODE
export token = gAAAAABj-Mc5jy75JWDNjk7u4d3wQiJ14ZJkVfHa-j0EhXOfC5xRm9AnDMlmygt_JKOu281zI5OzYIc_23Hj_21c6SsgnREk3oFQzExpFoTY4qIHNZBNmzVJiE_oGGWM-vDXNI4QvKZJVnAv1d0AT8eL5NiqX64BEbbmjcZlD9zbrBgo-YFtyZ4

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.