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.
Önemli
Lakebase Otomatik Ölçeklendirme, otomatik ölçeklendirme işlemi, sıfıra ölçeklendirme, dallanma ve anında geri yükleme ile Lakebase'in en son sürümüdür. Desteklenen bölgeler için bkz . Bölge kullanılabilirliği. Lakebase Tedarik Edilmiş bir kullanıcıysanız, bkz. Lakebase Tedarik Edilmiş.
Bu kılavuz, Lakebase projelerinizi, dallarınızı ve işlemlerinizi (uç noktalar) yönetmek için Databricks CLI ile çalışmaya başlamanıza yardımcı olur. Yalnızca birkaç komutla çalışan bir proje oluşturmayı öğreneceksiniz.
Tam komut başvurusu ve tüm kullanılabilir seçenekler için bkz. Databricks CLI postgres komutları.
Önkoşullar
- Databricks CLI: Databricks CLI'yi yükleyin. Bkz. Databricks CLI'yi yükleme.
- Çalışma alanı erişimi: Lakebase kaynağınızın bulunduğu Azure Databricks çalışma alanına erişiminiz olmalıdır.
Azure Databricks ile kimlik doğrulaması
CLI komutlarını çalıştırmadan önce Azure Databricks çalışma alanınızla kimlik doğrulaması yapın:
databricks auth login --host https://your-workspace.cloud.databricks.com
https://your-workspace.cloud.databricks.com ifadesini gerçek çalışma alanı URL'nizle değiştirin. Bu komut, OAuth kullanarak Azure Databricks hesabınızla kimlik doğrulaması yapmanız için bir tarayıcı penceresi açar.
Uyarı
Birden çok profiliniz varsa, hangisinin kullanılacağını belirtmek için bayrağını --profile kullanın: databricks postgres <command> --profile my-profile. Yapılandırılan profillerinizi görüntülemek için komutunu çalıştırın databricks auth profiles.
Daha fazla kimlik doğrulama seçeneği için bkz. Databricks kimlik doğrulaması.
Komut yardımı al
CLI, tüm komutlar için yerleşik yardım sağlar. Kullanılabilir komutları ve seçenekleri görmek için kullanın --help .
Tüm Postgres komutlarına genel bakış elde edin:
databricks postgres --help
komutu kullanılabilir tüm komutları, genel bayrakları ve kaynak adlandırma kuralları hakkındaki bilgileri görüntüler.
Belirli bir komut için ayrıntılı yardım alın:
databricks postgres create-project --help
Bu, komutun amacını, gerekli ve isteğe bağlı parametrelerini, kullanım örneklerini ve kullanılabilir bayrakları gösterir.
Hızlı Başlangıç: İlk projenizi oluşturma
Dal ve işlem uç noktası ile eksiksiz bir çalışma projesi oluşturmak için şu adımları izleyin:
1. Proje oluşturma
Lakebase projesi oluşturma:
databricks postgres create-project my-project \
--json '{
"spec": {
"display_name": "My Lakebase Project"
}
}'
Bu komut bir proje oluşturur ve tamamlanmasını bekler. Proje kimliği (my-project), kaynak adının bir parçası olur: projects/my-project. Proje, otomatik olarak oluşturulan kimliklere sahip varsayılan bir üretim dalı ve okuma-yazma işlem uç noktasıyla oluşturulur.
İsteğe bağlı olarak, proje kimliğini sonraki komutlarda kullanmak üzere bir değişken olarak dışarı aktarın:
export PROJECT_ID="my-project"
2. Dal kimliğini alma
Varsayılan dal kimliğini bulmak için projenizdeki dalları listeleyin:
databricks postgres list-branches projects/$PROJECT_ID
Bu, projedeki tüm dallar hakkında bilgi döndürür. Durumunda "default": true olan dalı arayın. Alandaki dal kimliğini name not edin (örneğin, production varsayılan dal için).
İsteğe bağlı olarak, dal kimliğini sonraki komutlarda kullanmak üzere bir değişken olarak dışarı aktarın:
export BRANCH_ID="production"
Gerçek dal kimliğinizi liste çıktısından alarak production ile değiştirin.
3. Uç nokta kimliğini alma
Dalınızdaki uç noktaları listeleyin. Varsayılan dal otomatik olarak bir okuma-yazma uç noktası içerir:
databricks postgres list-endpoints projects/$PROJECT_ID/branches/$BRANCH_ID
Alanındaki uç nokta kimliğini name not edin (örneğin, primary varsayılan okuma-yazma uç noktası için). İsteğe bağlı olarak değişken olarak dışarı aktarın:
export ENDPOINT_ID="primary"
Liste çıktısında bulunan gerçek uç nokta kimliğinizle primary değerini değiştirin.
4. Veritabanı kimlik bilgileri oluşturma
Veritabanınıza bağlanmak için kimlik bilgileri oluşturun:
databricks postgres generate-database-credential \
projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Komut, Databricks kimliğinizi kullanarak verilerinize erişmek gibi psql PostgreSQL istemcileri ile kullanabileceğiniz bir OAuth belirteci döndürür. psql ile bağlanma hakkında adım adım yönergeler için bkz. psql ile bağlanma. Belirteç süre sonu ve kimlik doğrulaması hakkında daha fazla bilgi için bkz. Kimlik doğrulaması.
Kaynaklarınızı yönetme
Tüm projeleri listeleme
Çalışma alanınızdaki tüm projeleri listeleyin:
databricks postgres list-projects
Komut, her proje hakkında adı, görünen adı ve geçerli durumu gibi bilgileri döndürür. Ayrıca oluşturma ve güncelleştirme zaman damgalarını da içerir.
Kaynak ayrıntılarını alma
Proje hakkında ayrıntılı bilgi edinin:
databricks postgres get-project projects/$PROJECT_ID
Komut, görünen ad, PostgreSQL sürümü, sahip ve geçmiş saklama süresi gibi ayrıntılı proje yapılandırmasını döndürür. Ayrıca dal boyutu sınırlarını, varsayılan uç nokta ayarlarını, depolama boyutunu ve oluşturma ve güncelleştirme zaman damgalarını içerir.
Dal hakkında ayrıntılı bilgi edinin:
databricks postgres get-branch projects/$PROJECT_ID/branches/$BRANCH_ID
Komut, geçerli durum, varsayılan dal durumu, koruma durumu ve mantıksal boyut gibi ayrıntılı dal bilgilerini döndürür. Ayrıca kaynak dal ayrıntılarını (başka bir daldan dallanmışsa) ve oluşturma ve güncelleştirme zaman damgalarını içerir.
Uç nokta hakkında ayrıntılı bilgi edinin:
databricks postgres get-endpoint projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Komut, uç nokta türü (okuma-yazma veya salt okunur), otomatik ölçeklendirme ayarları (en düşük ve en yüksek işlem birimleri) ve geçerli durum (ETKİn, BOŞTA vb.) gibi ayrıntılı uç nokta yapılandırmasını döndürür. Ayrıca bağlantı konağı, askıya alma zaman aşımı ve oluşturma ve güncelleştirme zaman damgalarını da içerir.
Kaynakları güncelleştirme
Güncelleştirme maskesi desenini kullanarak bir kaynağı güncelleştirin. Güncelleştirme maskesi hangi alanların güncelleştirilecek olduğunu belirtir:
databricks postgres update-branch \
projects/$PROJECT_ID/branches/$BRANCH_ID \
spec.is_protected \
--json '{
"spec": {
"is_protected": true
}
}'
Bu örnek spec.is_protected öğesini true olarak ayarlar ve dalı korumalı hale getirir. Güncelleştirme maskesi (spec.is_protected), API'ye hangi alanın güncelleştirilecek olduğunu bildirir. komutu, yeni değeri ve güncelleştirilmiş bir zaman damgasını gösteren güncelleştirilmiş update_time kaynağı döndürür.
Birden çok alanı güncelleştirmek için virgülle ayrılmış bir liste kullanın:
databricks postgres update-endpoint \
projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID \
"spec.autoscaling_limit_min_cu,spec.autoscaling_limit_max_cu" \
--json '{
"spec": {
"autoscaling_limit_min_cu": 1.0,
"autoscaling_limit_max_cu": 8.0
}
}'
Yaygın iş akışları
Üretimden özellik dalı oluştur
Değişiklikleri test etmek için var olan bir dalı temel alan yeni bir dal oluşturun. belirttiğinizde source_branch, yeni dal oluşturma sırasında kaynak dal ile aynı şemaya ve verilere sahip olur. Proje ve dal kimliklerini gerçek değerlerinizle değiştirin:
databricks postgres create-branch \
projects/my-project \
feature \
--json '{
"spec": {
"source_branch": "projects/my-project/branches/production",
"no_expiry": true
}
}'
Uyarı
Dal oluştururken bir süre sonu ilkesi belirtmeniz gerekir. Kalıcı bir dal oluşturmak için kullanın no_expiry: true .
JSON belirtiminin içinde (örneğin $PROJECT_ID veya $BRANCH_ID) kabuk değişkenlerini kullanmak için, --json değerini çift tırnak içine almalı ve içteki tırnak işaretlerini karakterlerden kaçırmalısınız.
Lakebase, birincil okuma-yazma işlem uç noktasıyla özellik dalını otomatik olarak oluşturur. Özellik dalında geliştirme ve test işlemini tamamladıktan sonra silebilirsiniz:
databricks postgres delete-branch projects/$PROJECT_ID/branches/feature
Uyarı
Silme komutları hemen geri döner, ancak gerçek silme işleminin tamamlanması zaman alabilir. Kaynak tamamen silindikten sonra hata döndüren ilgili kaynak al komutunu çalıştırarak silme işlemini doğrulayabilirsiniz.
Okuma çoğaltmalarıyla okumaları ölçeklendirme
Artan okuma trafiğini işlemek için okuma replikaları ekleyin. Aşağıdaki örnek, varsayılan üretim dalı için bir okuma replikası ekler:
databricks postgres create-endpoint \
projects/$PROJECT_ID/branches/$BRANCH_ID \
read-replica-1 \
--json '{
"spec": {
"endpoint_type": "ENDPOINT_TYPE_READ_ONLY",
"autoscaling_limit_min_cu": 0.5,
"autoscaling_limit_max_cu": 4.0
}
}'
Okuma iş yüklerini dağıtmak için farklı uç nokta kimlikleriyle (read-replica-1, read-replica-2 gibi) birden fazla okuma replikası oluşturabilirsiniz.
Rolleri yönetme
Bir dal içinde veritabanı erişimi için Postgres rolleri oluşturmak ve yönetmek için CLI'yi kullanın. Rol türleri ve kimlik doğrulaması hakkında ayrıntılı yönergeler için bkz. Postgres rolleri oluşturma.
Rol oluşturma
Parola tabanlı rol oluşturma:
databricks postgres create-role projects/$PROJECT_ID/branches/$BRANCH_ID \
--role-id my-app-role \
--json '{"spec": {"postgres_role": "my-app-role"}}'
Azure Databricks kimliğine bağlı bir OAuth rolü oluşturun:
# For a user:
databricks postgres create-role projects/$PROJECT_ID/branches/$BRANCH_ID \
--role-id my-user-role \
--json '{"spec": {"identity_type": "USER", "postgres_role": "user@example.com"}}'
# For a service principal:
databricks postgres create-role projects/$PROJECT_ID/branches/$BRANCH_ID \
--role-id my-sp-role \
--json '{"spec": {"identity_type": "SERVICE_PRINCIPAL", "postgres_role": "<sp-client-id>"}}'
Rolleri listele ve al
Daldaki tüm rolleri listeleme:
databricks postgres list-roles projects/$PROJECT_ID/branches/$BRANCH_ID
Belirli bir rolle ilgili ayrıntıları alın:
databricks postgres get-role projects/$PROJECT_ID/branches/$BRANCH_ID/roles/$ROLE_ID
Yanıt, güncelleştirme ve silme çağrıları için gereken sistem tarafından oluşturulan rol kaynak adını (örneğin, rol-xxxx-xxxxxxxxxx) içerir.
Rolü güncelleştirme
Güncelleştirme maskesi desenini kullanarak bir rolü güncelleştirin. Güncelleştirme maskesini ikinci konumsal bağımsız değişken olarak geçirin.
güncelleştirirken spec.attributesüç öznitelik alanının tümünü sağlamanız gerekir; API, öznitelik nesnesinin tamamının yerini alır:
databricks postgres update-role \
projects/$PROJECT_ID/branches/$BRANCH_ID/roles/$ROLE_ID \
"spec.attributes" \
--json '{"spec": {"attributes": {"createdb": true, "createrole": false, "bypassrls": false}}}'
Rol silme
databricks postgres delete-role projects/$PROJECT_ID/branches/$BRANCH_ID/roles/$ROLE_ID
Rol veritabanı nesnelerine sahipse, silmeden önce sahipliği aktarmak için kullanın --reassign-owned-to :
databricks postgres delete-role \
projects/$PROJECT_ID/branches/$BRANCH_ID/roles/$ROLE_ID \
--reassign-owned-to projects/$PROJECT_ID/branches/$BRANCH_ID/roles/$OTHER_ROLE_ID
Temel kavramları anlama
Uzun süreli işlemler
Oluşturma, güncelleştirme ve silme komutları uzun süre çalışan işlemlerdir. Varsayılan olarak, CLI işlemin tamamlanmasını bekler. Hemen dönmek ve durumu ayrı ayrı yoklamak için kullanın --no-wait :
databricks postgres create-project $PROJECT_ID \
--json '{"spec": {"display_name": "My Project"}}' \
--no-wait
İşlem durumunu yoklama:
databricks postgres get-operation projects/$PROJECT_ID/operations/operation-id
Kaynak adlandırma
Lakebase hiyerarşik kaynak adlarını kullanır:
-
Projeler:
projects/{project_id}. Proje oluştururken proje kimliğini belirtirsiniz. -
Şubeler:
projects/{project_id}/branches/{branch_id}. Dal oluştururken dal kimliğini belirtirsiniz. -
Uç noktalar:
projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. Uç nokta oluştururken uç nokta kimliğini (veya gibiprimaryread-replica-1) belirtirsiniz.
Kimlikler 1-63 karakter uzunluğunda olmalı, küçük harfle başlamalıdır ve yalnızca küçük harf, sayı ve kısa çizgi içermelidir.
Maskeleri güncelleştirme
Güncelleştirme komutları, değiştirileceği alanları belirten bir güncelleştirme maskesi gerektirir. Maske, birden çok alan için veya virgülle ayrılmış liste gibi spec.display_name bir alan yoludur.
Yük, --json bu alanların yeni değerlerini içerir. Yalnızca güncelleştirme maskesinde listelenen alanlar değiştirilir.