# Bir kapsayıcıda Qlik Data Gateway - Doğrudan Erişim kurulumu

Bu konu, kapsayıcıya alınmış Doğrudan Erişim ağ geçidi kurulumunun nasıl yapılacağını ana hatlarıyla açıklar. Önkoşulları ve kurulum talimatlarını sağlar ve kapsayıcıya alınmış Doğrudan Erişim ağ geçidi ile çalışırken bilmeniz gereken sınırlamaları ve dikkate alınması gereken hususları açıklar.

Bilgi notuDoğrudan Erişim ağ geçidi 1.8.0 sürümünden itibaren desteklenir.

## Kapsayıcıya alınmış Doğrudan Erişim ağ geçidi nedir?

Doğrudan Erişim ağ geçidi bir Docker kapsayıcısına dağıtabilirsiniz. Bu tür dağıtım, kapsayıcılı Doğrudan Erişim ağ geçidi olarak adlandırılır. Kapsayıcılı Doğrudan Erişim ağ geçidi dağıtımları Linux, macOS ve Windows için desteklenmektedir.

Kapsayıcıya alınmış Doğrudan Erişim ağ geçidi, Doğrudan Erişim ağ geçidi ortamınıza taşınabilirlik sağlar.

## Qlik Data Gateway - Doğrudan Erişim kullanırken en iyi uygulamalar

Qlik Data Gateway - Doğrudan Erişim kullanırken başarılı bir deneyim için aşağıdaki en iyi uygulamalara uyulması önemle tavsiye edilir:

* Mevcut kaynaklara aşırı yüklenme riskini artıracağından ve sistem kararlılığını etkileyeceğinden, geliştirme, kullanıcı kabul testi ve üretim için aynı Doğrudan Erişim ağ geçidi öğesini kullanmayın. İş perspektifinden bakıldığında, yetersiz kaynaklar ve azalan kararlılığın birleşimi, üretim uygulama verilerinin gecikmeli olarak güncellenmesine neden olabilir.

* Optimum performans için Doğrudan Erişim ağ geçidi öğesini veri kaynağınıza mümkün olduğunca yakın bir ortama kurun.

## Sistem önkoşulları

Bu bölüm, kapsayıcılı Doğrudan Erişim ağ geçidi kullanımına ilişkin gereksinimleri açıklar.

### Yazılım gereksinimleri

* Ana makinede yüklü Docker Engine 20.9+ sürümü ve Docker Compose eklentisi (docker compose, v2 söz dizimi).

### Gerekli bağlantı noktaları ve protokoller

Gerekli bağlantı noktaları ve protokoller için bkz. [Gerekli bağlantı noktaları ve protokoller](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Ports).

### Önerilen donanım

* Host: 8 çekirdek, 32 GB bellek, Docker için kullanılabilir 5 GB depolama alanı

* İsteğe bağlı: Ağ geçidinin ana makinedeki diğer kapsayıcılar veya işlemlerle rekabet etmek yerine ayrılmış kapasiteye sahip olması için compose dosyasındaki kapsayıcı üzerinde eşleşen sınırları ayarlayın:

  ```
  direct-access-agent:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "6"
            memory: 24G
  ...
  dcaas:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
  ```

#### Minimum donanım

Minimum donanım yalnızca sürekli düşük veri hacimleri ve sınırlı sayıda eşzamanlı yeniden yükleme ile daha küçük özel dağıtımlar (geliştirme, test veya üretim) kullanılan belirli senaryolar için uygundur.

* Ana makine: 4 çekirdek, 8 GB bellek, Docker için kullanılabilir 5 GB depolama alanı

* İsteğe bağlı: Ağ geçidinin ana makinedeki diğer kapsayıcılar veya işlemlerle rekabet etmek yerine ayrılmış kapasiteye sahip olması için compose dosyasındaki kapsayıcı üzerinde eşleşen sınırları ayarlayın:

  ```
  direct-access-agent:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
            memory: 4G
  ...
  dcaas:
      image: ...
      deploy:
        resources:
          limits:
            cpus: "2"
  ```

## Qlik Data Gateway - Doğrudan Erişim yükleme

Direct Access gateway'i kurma işlemi, gerek Yönetim etkinlik merkezinde gerekse Direct Access gateway sunucusunda gerçekleştirilmesi gereken yordamlar içerir.

Bilgi notuYönetim etkinlik merkezinde gerçekleştirilmesi gereken veri ağ geçidi prosedürleri, kiracı yöneticisi izni gerektirir.

### Birinci aşama: Qlik Data Gateway - Doğrudan Erişim indirme

1. Yönetim etkinlik merkezindeki Veri ağ geçitleri öğesini seçin.

   Mevcut veri ağ geçitleri [her ağ geçidi hakkında temel bilgiler gösteren bir tabloda](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-managing-console.htm#gateprop) listelenir.

2. Dağıt araç çubuğu düğmesine tıklayın.

   Veri Ağ Geçidini Dağıt diyalog penceresi açılır.

3. Data Gateway - Doğrudan Erişim - Kapsayıcılı Doğrudan Erişim Ağ Geçidi'ni seçin, Qlik Müşteri Sözleşmesi'ni kabul edin ve İndir'e tıklayın. Direct Access gateway kurulum dosyası (docker-compose.qlik-data-gateway-direct-access.yml) makinenize indirilecektir.

### İkinci aşama: Docker Compose dosyasını çalıştırarak dağıtımı başlatın

Doğrudan Erişim ağ geçidi dağıtımını başlatmak için aşağıdaki komutu çalıştırın:

docker compose -f docker-compose.qlik-data-gateway-direct-access.yml up

### Üçüncü aşama: Doğrudan Erişim ağ geçidi kurulumu

Ayrıntılı kurulum talimatları için bkz. [3. Aşama: Kurulum Doğrudan Erişim ağ geçidi](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#Stage3).

### Dördüncü aşama: Veri ağ geçidini kaydetme

Bir sonraki adım, veri ağ geçidini kaydetmektir. Bu işlem, Yönetim etkinlik merkezi üzerinden veya komut satırından yapılabilir.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)

#### Seçenek 1: Yönetim etkinlik merkezi aracılığıyla

Yönetim etkinlik merkezini kullanarak ağ geçidini kaydedebilirsiniz. Bkz. [Seçenek 1: Yönetim etkinlik merkezi üzerinden](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm#StageConsole).

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)

#### Seçenek 2: Komut satırını kullanarak otomatik kayıt

Ayrıca Yönetim etkinlik merkezini kullanmadan Doğrudan Erişim ağ geçidi öğesini komut satırından otomatik olarak da kaydedebilirsiniz. Bu yöntem, bir OAuth istemcisinden oluşturulan kısa ömürlü bir oturum belirteci kullanır.

Bilgi notuOtomatik kayıt yalnızca komut satırı üzerinden desteklenir. Otomatik ağ geçidi kaydı için bir REST API şu anda mevcut değildir.

Ön koşullar

OAuth istemcilerini oluşturmak ve yönetmek için kiracı yöneticisi iznine sahip bir API anahtarı.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)Ağ geçidini otomatik kayıt ile kaydetme

1. İlk olarak, direct-access-agent kapsayıcısında bir OAuth istemci kimliğinin yanı sıra bir onay anahtarı (kısa ömürlü belirteç) oluşturmak için bir Python ortamı kurmanız gerekir. Şu komutları ayrı ayrı, bu sırayla çalıştırın:

   1. docker exec -it --user root direct-access-agent-1 bash

   2. apt-get update && apt-get install -y python3 python3-pip

   3. apt install python3.11-venv

   4. python3 -m venv .venv

   5. source .venv/bin/activate

   6. pip install cryptography pyjwt

   7. [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)python3 generate\_gateway\_assertion.py --tenant-url &lt;tenant-url&gt;

2. [Yukarıdaki listedeki son komut](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#python3) için etkileşimli istemleri takip edin ve sağlandığında client\_id (OAuth istemci kimliği) ile assertion bilgilerini kopyalayın. Bu ayrıntıları şimdilik kağıda veya geçici bir metin dosyasına kaydedin—bunlar sürecin sonraki adımları için gereklidir.

3. client\_id ve assertion değerlerini not aldıktan sonra, aşağıdaki komutla Python ortamını temizleyin:

   deactivate

4. OAuth istemcisinin onay yöntemini güvenilir olarak ayarlayın.

   curl "https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;client-id&gt;/connection-configs/me" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;api-key&gt;' -d '[{"op":"replace","path":"/consentMethod","value":"trusted"}]'

5. Bir erişim belirteci isteyin. Bu, ağ geçidi tarafından kullanılan bot kullanıcı hesabının otomatik olarak oluşturulmasını da tetikler.

   curl "https://&lt;tenant-url&gt;/oauth/token" -X POST -H 'content-type: application/x-www-form-urlencoded' -d "grant\_type=client\_credentials" -d "client\_id=&lt;client-id&gt;" -d "client\_assertion\_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer" -d "client\_assertion=&lt;assertion&gt;" -d "scope=admin.direct-access-gateways:register\_gateway admin.direct-access-gateways:delete\_gateway"

   Bilgi notu

   Onaylamanın süresi dolduysa, komut dosyasını sanal ortamdan yeniden çalıştırın.

6. Otomatik olarak oluşturulan bot kullanıcısını arayın.

   curl "https://&lt;tenant-url&gt;/api/v1/users" -H 'accept: application/json' -H 'authorization: Bearer &lt;API-key&gt;'

7. my-bot-client kimliğini kopyalayın.

8. Bir "DAG Registration" rolü oluşturun.

   curl "https://&lt;tenant-url&gt;/api/v1/roles" -X POST -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '{"name":"DAG Registration","description":"Role for registering a gateway","assignedScopes":["admin.direct-access-gateways:register\_gateway", "admin.direct-access-gateways:delete\_gateway"]}'

9. Bot kullanıcısına kiracı düzeyinde roller atayın.

   curl "https://&lt;tenant-url&gt;/api/v1/users/&lt;bot-user-ID&gt;" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d ' [ { "op": "replace", "path": "/assignedRoles", "value": [ { "name": "DAG Registration" } ] } ]'

10. Direct Access Gateway alanını alın.

    curl "https://&lt;tenant-url&gt;/api/v1/spaces" -H 'authorization: Bearer &lt;API-key&gt;'

11. Direct Access Gateway alan kimliğini kopyalayın.

12. Bot kullanıcısını alana Düzenleyebilir izniyle ekleyin.

    curl "https://&lt;tenant-url&gt;/api/v1/spaces/&lt;DAG-space-ID&gt;/assignments" -X POST -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '{"assigneeId": "&lt;bot-user-ID&gt;","roles": ["consumer","dataconsumer","producer"], "type": "user"}'

13. Mevcut onaylamanın süresi dolmuşsa yeni bir tane oluşturun. Şu komutu çalıştırın:

    python3 generate\_gateway\_assertion.py --tenant-url &lt;tenant-url&gt;

14. Komut isteminde gerekli adımları izleyin. OAuth istemcisi zaten oluşturulduğundan, bu API çağrısı kullanılarak JWK'nin güncellenmesi gerekir:

    curl "https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;client-ID&gt;" -X PATCH -H 'accept: application/json' -H 'content-type: application/json' -H 'authorization: Bearer &lt;API-key&gt;' -d '[{"op":"replace","path":"/publicKeys/0/y","value":"&lt;Y-value-from-JWK&gt;"},{"op":"replace","path":"/publicKeys/0/x","value":"&lt;X-value-from-JWK&gt;"},{"op":"remove","path":"/publicKeys/0/use"},{"op":"replace","path":"/publicKeys/0/kid","value":"&lt;kid-value-from-JWK&gt;"}]'

15. Ağ geçidini kaydedin:

    dotnet ConnectorAgent.dll qcs register\_gateway --tenant\_url &lt;tenant-url&gt; --gateway\_name &lt;DAG-name&gt; --gateway\_description &lt;DAG-description&gt; --space\_name &lt;space-name&gt; --client-id &lt;client-ID&gt; --assertion &lt;assertion&gt;

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm)Otomatik olarak kaydedilen bir ağ geçidini kaldırma

Yukarıda açıklanan otomatik, oturum belirteci tabanlı yöntem kullanılarak kaydedilen bir ağ geçidinin kaydını silmek için aşağıdaki adımları uygulayın. Bu adımlar ayrıca bunun için oluşturulan OAuth istemcisini, bot kullanıcısını ve rolü de kaldırır.

1. [Yukarıdaki bölümde](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#AutoRegister) açıklandığı gibi bir onaylama oluşturun.

2. Ağ geçidini silin:

   dotnet ConnectorAgent.dll qcs delete\_gateway --tenant\_url &lt;tenant-url&gt; --gateway\_name &lt;gateway-name&gt; --client-id &lt;client-ID&gt; --assertion &lt;assertion&gt;

3. Ağ geçidi için oluşturulan bot kullanıcı hesabını arayın.

   curl "https://&lt;tenant-url&gt;/api/v1/users" -H 'accept: application/json' -H 'authorization: Bearer &lt;api-key&gt;'

4. Bot kimliğini kopyalayın.

5. Bu bot kullanıcı hesabını silin.

   curl -X DELETE "https://&lt;tenant-url&gt;/api/v1/users/&lt;bot-user-ID&gt;" -H "Authorization: Bearer &lt;api-key&gt;"

6. Ağ geçidi için oluşturulan “DAG Registration” rolünü arayın.

   curl "https://&lt;tenant-url&gt;/api/v1/roles?limit=1&filter=(name%20eq%20%22DAG%20Registration%22)" -H "Authorization: Bearer &lt;api-key&gt;"

7. Rol kimliğini kopyalayın.

8. Bu rolü silin.

   curl -X DELETE "https://&lt;tenant-url&gt;/api/v1/roles/&lt;role-ID&gt; -H "Authorization: Bearer &lt;api-key&gt;"

9. OAuth istemcisini silin.

   curl -X DELETE https://&lt;tenant-url&gt;/api/v1/oauth-clients/&lt;OAuth-client-ID&gt; -H "qlik-confirm-delete: &lt;OAuth-client-ID&gt;" -H "Authorization: Bearer &lt;api-key&gt;

### Beşinci aşama: Doğrudan Erişim ağ geçidi sunucusunda Qlik Data Gateway - Doğrudan Erişim hizmetini başlatın

Qlik Data Gateway - Doğrudan Erişim servisini başlatmak için dcaas-dg ve direct-access-agent kapsayıcılarını başlatın.

### Altıncı aşama: Veri kaynağına bir bağlantı ekleyin

Bkz. [Altıncı aşama: Veri kaynağına bir bağlantı ekleyin](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-container.htm#Stage6).

## Ortam ayarları

Bu bölüm, veri kaynaklarınızı ağ geçidi aracılığıyla düzgün bir şekilde bağlamak için yapılandırmanız gerekebilecek docker-compose.qlik-data-gateway-direct-access.yml dosyasındaki belirli ortam değişkenlerini listeler.

* ALLOW\_SOURCES: Virgülle ayrılmış ana makine adları ve IP'lerin izin verilenler listesi. Ağ geçidi aracısının kendi sunucunuzdaki veya yerel ya da özel ağdaki başka bir ana bilgisayardaki bir şeye bağlanması gerektiğinde (örneğin localhost üzerindeki bir veritabanı, bir Docker hizmet adı veya özel IP'li bir ana bilgisayar), bu adresi ALLOW\_SOURCES alanına eklersiniz — aksi takdirde Bağlantı denemesi reddedilir.

## Desteklenen veri kaynakları

* Kapsayıcılı kurulumlar için aşağıdaki ODBC bağlayıcıları desteklenmektedir:

  * PostgreSQL
  * SQL Server
  * Oracle

  ODBC bağlayıcıları hakkında daha fazla bilgi için bkz. [ODBC veritabanları ‒ Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/ODBC_Connector_help/Content/Connectors_ODBC/Introduction/ODBC-connector.htm) (yalnızca İngilizce).

* REST bağlayıcı (REST Direct Access gateway aracılığıyla). REST veri kaynakları hakkında daha fazla bilgi için bkz. [REST kaynakları ‒ Qlik Cloud](https://help.qlik.com/en-US/cloud-services/Subsystems/REST_Connector_help/Content/Connectors_REST/REST-connector.htm) (yalnızca İngilizce).

## Daha fazla bilgi

* [Qlik Data Gateway - Doğrudan Erişim uygulaması kurulumu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setting-up.htm)
* [Bir Windows sunucusunda Qlik Data Gateway - Doğrudan Erişim kurulumu](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/direct-access-gateway-setup-win.htm)