連接外部應用程式

您的應用程式及驅動程式會使用連線字串來建立與 IBM Cloud® Databases for Redis的連線。 該服務特別為驅動程式和應用程式提供連線字串。 連線字串顯示在部署概述頁面的端點面板中,也可以從 Cloud Databases CLI 外掛程式Cloud Databases API

您在部署中建立的任何憑證都可以使用連接字串。 雖然您可以對所有連接和應用程式使用管理員用戶,但最好專門為您的應用程式建立要連接的用戶。 有關詳細信息,請參閱 獲取連接字串

應用程式的連接字串

驅動程式連接到您的部署所需的所有資訊都位於在服務憑證頁面上建立的憑證的「redis」部分。 表格包含參照的明細。

redis /URI連接訊息
欄位名稱 索引 說明
Type 連接類型 - 對於Redis,它是“URI”。
Scheme URI 方案 - 對於Redis,它是「rediss」。
Path URI 的路徑 - 對Redis來說,它是資料庫編號。
Authentication Username 您用來連接的使用者名稱。
Authentication Password 使用者的密碼 - 可能顯示為 $PASSWORD
Authentication Method 如何進行鑑別; 由驅動程式處理「直接」鑑別。
Hosts 0... 要連接的主機名稱和連接埠。
Composed 0... 結合方案、身份驗證、主機和路徑的 URI。
Certificate Name 用於資料庫部署的服務專屬憑證的已分配名稱。
Certificate Base64 憑證的 base64 編碼版本。
  • 0... 表示陣列中可能有一或多個這些項目。

當在連線資訊的「編製」欄位中找到 URI 格式的連線字串時,Redis 驅動程式通常可以建立與部署的連線。 例如,如果您在環境變數 REDIS_URL 中設定連接字串,如下例所示:

export REDIS_URL=rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0

然後,Node.js客戶端就可以建立連線。

let connectionString = process.env.REDIS_URL;

if (connectionString === undefined) {  
  console.error("Please set the REDIS_URL environment variable");
  process.exit(1);
}

let client = null;

client = redis.createClient(connectionString, {
  tls: { servername: new URL(connectionString).hostname }
});

或者,可以剖析連線字串並將其組件傳送至連線處理程式,如下列 Python 用戶端範例所示:

parsed = urlparse(connection_string)

r = redis.StrictRedis(
    host=parsed.hostname,
    port=parsed.port,
    password=parsed.password,
    ssl=True,
    ssl_ca_certs='/etc/ssl/certs/ca-certificates.crt',
    decode_responses=True)

Redis 具有可供應用程式使用的用戶端陣列。 相當 在 Redis 網站上維護綜合性清單。 在選擇用戶端時,一些有用的東西要記住,就是能讓您輕鬆為雲端設計應用程式的功能,例如設定 高可用性、安全性和服務專屬證書支援。

TLS 和服務專屬憑證支援

Databases for Redis 的所有連線都已啟用 TLS 1.2,因此您用來連接的驅動程式需要能夠支援 TLS 加密。

如果您的驅動程式不支援 rediss: 通訊協定或 TLS/SSL 連線,仍然可以使用 TLS/SSL 通道應用程式 (例如 Stunnel) 來建立與 Redis 資料庫端點的通道連線。 使用 Stunnel 的範例可以在 連線命令列用戶端 頁面上找到,它用於連接 redis-cli 應用程式。

部署還隨附服務專屬憑證,因此您可以在啟動連線時驗證伺服器。 雖然不需要,但如果您的用戶端支援它,則建議使用額外的安全步驟。

如需相關資訊,請參閱 Cloud Databases 憑證常見問題(FAQ)

使用服務專屬憑證

  1. 從_端點_面板或服務憑證連接資訊的Base64欄位複製證書資訊。
  2. 必要的話,將 Base64 字串解碼為文字。
  3. 將憑證儲存至檔案。 (您可以使用所提供的「名稱」或您自己的檔名)。
  4. 提供驅動程式或用戶端的憑證路徑。

CLI 外掛程式支援服務專屬憑證

您可以使用下列指令,使用 CLI 外掛程式來顯示部署的已解碼憑證:

ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>

這個指令會將 Base64 解碼為文字。 將指令輸出複製並儲存至檔案,並提供檔案的用戶端路徑。