Memahami pengaturan aplikasi Azure Functions

Selesai

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.