Bagikan melalui


Cara menggunakan sintaks singkat dengan Azure CLI

Banyak parameter Azure CLI menerima nilai JSON, tetapi karena dapat menantang untuk meratakan JSON ke dalam string, Azure CLI mendukung sintaks singkat. Sintaks singkat adalah representasi yang disederhanakan dari string JSON.

Artikel ini menyediakan contoh sintaks singkat, dan menunjukkan cara meneruskan JSON sebagai file.

Nota

Anda akan tahu bahwa parameter menerima sintaks singkat saat deskripsi parameter dibaca mirip dengan Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more.

Sintaksis singkat nilai penuh

Sintaksis singkat dalam format Full Value adalah JSON yang dikelilingi oleh tanda kutip ganda. Tanda kutip ganda menyebabkan nilai JSON diteruskan sebagai string dalam bahasa pembuatan skrip PowerShell dan Bash. Berikut adalah contoh JSON:

{
  "name": "Bill",
  "age": 20,
  "paid": true,
  "emails": [
    "Bill@microsoft.com",
    "Bill@outlook.com"
  ],
  "address": {
    "country": "USA",
    "company": "Microsoft",
    "details": {
      "line1": "15590 NE 31st St",
      "line2": "Redmond, WA"
    }
  }
}

Ketika Anda meneruskan JSON dalam nilai parameter, JSON akan diratakan dan dikelilingi tanda kutip ganda.

az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:{country:USA,company:Microsoft,details:{line1:'15590 NE 31st St',line2:'Redmond, WA'}}}"

Sintaks singkat nilai parsial

Sintaks singkat untuk nilai parsial terdiri dari dua bagian yang digabungkan dengan tanda sama dengan (=) antara indeks key dan value. Berikut adalah contohnya: key=value.

Nilainya dapat berupa string yang disederhanakan, format nilai lengkap, JSON, atau jalur file JSON. Menggunakan contoh JSON yang disediakan, berikan properti untuk --contact parameter dengan mengikuti contoh berikut:

Gunakan Partial Value untuk pasangan kunci-nilai tunggal.

az some-command --contact name=Bill

Gunakan Partial Value untuk dua pasangan kunci-nilai. Perhatikan spasi yang memisahkan dua pasangan.

az some-command --contact age=20 paid=true

Gunakan Partial Value untuk elemen kedua.

az some-command --contact emails[1]="Bill@outlook.com"

Gunakan Partial Value untuk detil properti dari alamat.

az some-command --contact address.details="{line1:'15590 NE 31st St',line2:'Redmond, WA'}"

Menggabungkan sintaksis ringkas nilai penuh dan parsial

Anda dapat menggabungkan sintaks nilai penuh dan parsial, tetapi selalu dimulai dengan Full Value diikuti oleh Partial Value. Jika Anda membalikkan urutannya, data akhir hanya berisi Full Value tanpa properti yang ditentukan dalam Partial Value.

Gunakan Full Value diikuti dengan Partial Value:

az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com]}" motto="One man's bug is another man's lesson."

Anda juga dapat memodifikasi elemen baru dari properti daftar di Full Value. Misalnya Anda dapat mengatur alamat email kedua dengan Partial Value:

az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com]}" emails[1]="Bill@outlook.com" motto="One man's bug is another man's lesson."

Menyertakan JSON ke dalam file

Dimungkinkan juga untuk meneruskan file JSON sebagai nilai parameter. Ini adalah pendekatan yang direkomendasikan saat bekerja dengan JSON yang kompleks.

az some-command --contact address.details=./address_details.JSON

String Tanda Kutip Tunggal

String Tanda Kutip Tunggal digunakan untuk meneruskan nilai string dengan karakter khusus: :, ,, {, }, [, ], null, ??, dan spasi. Karakter ini sering memiliki arti lain saat mengurai sintaksis singkat. Tanda kutip tunggal memberitahu parser untuk memperlakukan semuanya sebagai string.

Membuat nilai string dengan spasi dan karakter khusus lainnya

Berikut adalah contoh JSON untuk diteruskan sebagai nilai dalam --contact parameter:

{
  "name": "Bill RP",
  "age": 20,
  "paid": true,
  "data": "{a: [1, 2]}"
}

Gunakan tanda kutip tunggal dalam Full Value format:

az some-command --contact "{name:'Bill RP',age:20,paid:true,data:'{a: [1, 2]}'}"

Gunakan tanda kutip tunggal dalam Partial Value format:

az some-command --contact name="'Bill RP'" data="'{a: [1, 2]}'"

Dalam contoh berikutnya, dimungkinkan juga untuk menghapus tanda kutip tunggal untuk name kunci. Pengurai tidak membedakan antara Full Value ekspresi, null nilai, atau ?? bendera.

Gunakan Partial Value format:

az some-command --contact name="Bill RP"

Bekerja dengan penggunaan apostrof

Karakter apostrof (') membutuhkan escape khusus (/') dalam String Tanda Kutip Tunggal untuk membedakan akhir String Tanda Kutip Tunggal. Garis miring (/) adalah karakter escape hanya setelah apostrof (') dalam String Tanda Kutip Tunggal. Jika / tidak ada dalam String Tanda Kutip Tunggal atau / tidak setelah ', / adalah karakter normal.

Lewati format Full Value

az some-command --contact "{name:'bill'/s',age:20,paid:true}"

Lewati Partial Value format:

az some-command --contact name="'bill'/s'"

Jika value tidak ada dalam String Tanda Kutip Tunggal, Anda tidak perlu menambahkan karakter escape setelah '.

Lewati format Partial Value

az some-command --contact name="bill's"

Berikut adalah contoh lain menggunakan JSON berikut:

{
  "name": "Bill",
  "motto": "One man's bug is another man's lesson.",
  "age": 20,
  "paid": true,
  "emails": [
    "Bill@microsoft.com",
    "Bill@outlook.com"
  ]
}

Dalam Full Value format, gunakan String Tanda Kutip Tunggal dan ganti ' dengan '/.

az some-command --contact "{name:Bill,motto:'One man'/s bug is another man'/s lesson.',age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com]}"

Dalam Partial Value format, nilai yang berisi apostrof dapat diurai sebagai string, dikelilingi oleh tanda kutip ganda.

az some-command --contact motto="One man's bug is another man's lesson."

Bekerja dengan nilai-nilai NULL

Lewatkan kata "null" sebagai nilai string

Suatu saat Anda perlu meneruskan nilai string "null". Untuk membedakan nilai null, harus berbentuk String Tanda Kutip Tunggal. Misalnya jika Anda ingin meneruskan string "null" ke properti nama dalam --contact parameter :

JSON:

{
  "name": "null",
  "age": 20,
  "paid": true
}

Gunakan Full Value format:

az some-command --contact "{name:'null',age:20,paid:true}"

Gunakan Partial Value format:

az some-command --contact name="'null'"

Meneruskan nilai null

Sintaksis singkat mendukung kata kunci null dalam format Full Value dan Partial Value.

Misalnya jika Anda ingin meneruskan objek berikut dengan properti nilai nullalamat dalam parameter --contact:

{
  "name": "Bill",
  "age": 20,
  "paid": true,
  "emails": [
    "Bill@microsoft.com",
    "Bill@outlook.com"
  ],
  "address": null
}

Gunakan Full Value format:

az some-command --contact "{name:Bill,age:20,paid:true,emails:[Bill@microsoft.com,Bill@outlook.com],address:null}"

Gunakan Partial Value format:

az some-command --contact name=Bill address=null

Gunakan nilai null dalam perintah pembaruan

Dalam perintah pembaruan, null nilai sering digunakan untuk membatalkan properti objek, atau menghapus elemen array atau kamus.

{
  "contact": {
    "name": "Bill",
    "age": 20,
    "paid": true,
    "emails": [
      "Bill@microsoft.com",
      "Bill@outlook.com"
    ],
    "address": {
      "country": "USA",
      "company": "Microsoft",
      "details": {
        "line1": "15590 NE 31st St",
        "line2": "Redmond, WA"
      }
    }
  },

  "other_properties": {}
}

Jika sudah ada sumber daya dengan nilai JSON yang ditunjukkan di atas, meneruskan null nilai dalam perintah pembaruan akan mereset nilai kunci.

az some-update-command --contact address=null

Berikut adalah contoh lain yang menghapus elemen pertama email sumber daya:

az some-update-command --emails [0]=null

Gunakan ?? untuk menampilkan bantuan

Penggunaan tanda tanya ganda ?? adalah kata kunci khusus untuk menunjukkan bantuan yang dapat diakses untuk parameter atau subproperti. Ini juga dapat digunakan dalam sintaks singkat untuk mendapatkan bantuan.

Nota

Shell Bash menggunakan ? sebagai wildcard. Pastikan tanda tanya ganda dibungkus ?? dalam tanda kutip ganda.

Gunakan ?? untuk menampilkan pesan bantuan parameter

Tampilkan pesan bantuan dari parameter --contact.

az some-command --contact "??"

Gunakan ?? dalam Full Value format

Tampilkan pesan bantuan parameter --contant saat menulis Full Value:

az some-command --contact "{??"
az some-command --contact "{name:Bill,??"

Menampilkan pesan bantuan properti dari --contant.address saat sedang menulis Full Value.

az some-command --contact "{name:Bill,address:??"

Tampilkan pesan bantuan properti --contant.address.country saat menulis Full Value.

az some-command --contact "{name:Bill,address:{country:??"

Tampilkan pesan bantuan dari properti --contant.emails ketika menulis Full Value:

az some-command --contact "{name:Bill,address:{country:USA},emails:??"

Tampilkan pesan bantuan elemen --contant.emails properti saat menulis Full Value:

az some-command --contact "{name:Bill,address:{country:USA},emails:[??"

Gunakan ?? dalam Partial Value format

Tampilkan pesan bantuan untuk properti --contant.address saat menulis Partial Value.

az some-command --contact address="??"

Tampilkan pesan bantuan tentang properti --contant.emails saat menulis Partial Value.

az some-command --contact emails="??"

Tampilkan pesan bantuan elemen --contant.emails properti saat menulis Partial Value:

az some-command --contact emails[0]="??"

Lihat juga