Memahami pengaturan aplikasi Azure Functions
Sebagai teknisi Tailwind Traders, Anda sedang mengerjakan API yang tersambung ke database. API Anda akan tersambung ke database tersebut melalui database string koneksi. Dalam modul ini, Anda akan mempelajari praktik terbaik untuk menyimpan informasi sensitif seperti string koneksi di Azure Functions API.
Menyimpan string koneksi sebagai pengaturan aplikasi
Ada baiknya untuk menghindari string koneksi pengodean secara permanen. Anda mungkin akan menggunakan string koneksi di berbagai file, dan ada kemungkinan dapat berubah di masa mendatang.
Anda mungkin ingin menyimpan string koneksi sebagai pengaturan aplikasi:
- Pengaturan aplikasi ditentukan di satu tempat dan direferensikan di seluruh aplikasi.
- Anda dapat dengan mudah mengubahnya kapan saja di masa mendatang tanpa harus mengubah kode.
- Pengaturan aplikasi tidak pernah dicek masuk ke kontrol sumber.
Proyek Azure Functions memiliki file local.settings.json
. File ini berisi sekumpulan pasangan kunci/nilai yang digunakan aplikasi sebagai nilai konfigurasi saat berkembang secara lokal. Anda dapat menambahkan item Anda sendiri ke Values
objek. Anda dapat mengakses nilai tersebut dari kode Anda.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
}
}
Jika Anda ingin menambahkan string koneksi, Anda dapat menambahkan properti lain yang disebut "CONNECTION_STRING" (atau apa pun yang ingin Anda sebut), lalu meneruskan string koneksi ke database Anda.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
"CONNECTION_STRING": "AccountEndpoint=https://tailwind-traders-7071.documents.azure.com:443/;AccountKey=123456;"
}
}
Mengakses pengaturan aplikasi dalam kode Azure Functions
Untuk mengakses nilai konfigurasi ini di Azure Functions Anda dari JavaScript, gunakan process.env
objek . Ini berisi semua pasangan kunci/nilai yang ditentukan dalam local.settings.json
file.
Kode berikut yang ditemukan saat ./api/src/services/product.services.ts
membaca string koneksi dari process.env
objek untuk membuat objek CosmosClient untuk mengakses layanan Azure Cosmos DB.
let client = new CosmosClient(process.env.CONNECTION_STRING);
Anda sekarang tahu cara menyimpan string koneksi dengan aman selama pengembangan lokal, dan cara mereferensikan string tersebut di aplikasi Anda.