Azure CLI ile kısaltma söz dizimi nasıl kullanılır?

Birçok Azure CLI parametresi JSON değerlerini kabul eder, ancak JSON'u bir dize haline getirmek zor olabileceğinden, Azure CLI kısaltılmış söz dizimini destekler. Kısaltma söz dizimi, bir JSON dizesinin basitleştirilmiş bir gösterimidir.

Bu makalede, kısaltma söz dizimi örnekleri sağlanır ve JSON'un dosya olarak nasıl geçildiği gösterilir.

Uyarı

Parametre açıklaması benzer Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show moreşekilde okunduğunda parametrenin kısaltma söz dizimini kabul ettiğini bilirsiniz.

Tam değer kısaltma sözdizimi

Full Value biçimindeki kısaltma söz dizimi, çift tırnak içine alınmış JSON'dır. Çift tırnak işaretleri, JSON değerinin hem PowerShell hem de Bash betik dilinde dize olarak geçirilmesine neden olur. İşte bir JSON örneği:

{
  "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"
    }
  }
}

Bir parametre değerinde JSON'u geçirdiğinizde, JSON önce düzleştirilir ve ardından çift tırnak içine alınır.

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'}}}"

Kısmi değer kısaltma sözdizimi

Kısmi değer için kısaltma söz dizimi, dizin = ile key arasında eşit (value) işaretiyle birleştirilen iki bölümden oluşur. Aşağıda bir örnek verilmiştir: key=value.

Değer basitleştirilmiş bir dize, tam değer biçimi, JSON veya JSON dosya yolu olabilir. Sağlanan JSON örneğini kullanarak bu örneklere göre --contact parametresi için özellikleri aktarın.

Tek bir anahtar-değer çifti için kullanın Partial Value .

az some-command --contact name=Bill

İki anahtar-değer çifti için kullanın Partial Value . İki çifti ayıran alana dikkat edin.

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

İkinci öğe için kullanın Partial Value .

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

Partial Value adresin detaylar özelliği için kullanın.

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

Tam ve kısmi değer kısaltma söz dizimlerini birleştirme

Tam ve kısmi değer söz dizimlerini birleştirebilirsiniz, ancak her zaman ile Full Value başlayıp ardından Partial Valueöğesini kullanabilirsiniz. Sırayı tersine çevirirseniz, son veriler yalnızca Full Value'de tanımlı özellikler olmadan Partial Value öğesini içerir.

Full Value kullanın ardından 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."

ayrıca, Full Value içinde liste özelliğinin yeni bir öğesine yama yapabilirsiniz. Örneğin ikinci e-posta adresini Partial Value ayarlayabilirsiniz.

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."

Dosyaya JSON geçirme

Bir JSON dosyasını parametre değeri olarak geçirmek de mümkündür. Bu, karmaşık JSON ile çalışırken önerilen yaklaşımdır.

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

Tek Tırnak Dizesi

Tek Tırnak Dizesi, özel karakterler içeren bir dize değeri geçirmek için kullanılır: :, ,, {, }, [, ], null, ??, ve boşluk. Bu karakterlerin genellikle kısaltma söz dizimlerini ayrıştırırken başka anlamları vardır. Tek tırnak işaretleri ayrıştırıcıya her şeyi dize olarak ele almasını gösterir.

Boşluk ve diğer özel karakterler içeren bir dize değeri geçirin

Parametrede değer olarak geçirmek için JSON örneği aşağıda verilmişti --contact :

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

Tek tırnakları Full Value formatında kullanın.

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

Tek tırnakları Partial Value formatında kullanın.

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

Sonraki örnekte, name anahtarının tek tırnaklarını kaldırmak da mümkündür. Ayrıştırıcı bir Full Value ifade, null değer veya ?? bayrak arasında ayrım yapmaz.

Partial Value biçimini kullan

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

Apostroflarla çalışma

Kesme işareti karakteri ('), /' sonunu ayırt etmek için Tek Tırnak Dizesi'nde özel bir kaçış () gerektirir. Eğik çizgi (/), yalnızca' kesme işaretinden () sonra kaçış karakteri olarak kullanılır. "/Tek Tırnak Dizesinde değilse veya /''den sonra değilse, / normal bir karakterdir."

Geçiş Full Value biçimi:

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

Geçiş Partial Value biçimi:

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

value değilse, 'den sonra 'bir kaçış karakteri eklemeniz gerekmez.

Geçiş Partial Value biçimi:

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

Aşağıda aşağıdaki JSON'un kullanıldığı başka bir örnek verilmişti:

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

Full Value formatında, bir Single Quotes String kullanın ve ''yi '/ ile değiştirin.

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]}"

Partial Value biçiminde, kesme işareti içeren bir değer, çift tırnak ile çevrilip dize olarak ayrıştırılabilir.

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

NULL değerlerle çalışma

"null" sözcüğünü dize değeri olarak geçirme

Bazen "null" bir string değeri geçirmeniz gerekir. null değeri ayırt edebilmek için Tek Tırnaklı Metin Dizgisi olması gerekir. Örneğin, parametresindeki --contact özelliğine "null" dizesini geçirmek istiyorsanız:

JSON:

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

Full Value biçimini kullan

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

Partial Value biçimini kullan

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

Değeri null olarak geçirin

Kısaltma söz dizimi, null anahtar sözcüğünü hem Full Value hem de Partial Value biçimlerinde destekler.

Örneğin, null parametresinde değerine sahip --contact özelliği ile aşağıdaki nesneyi geçirmek istiyorsanız:

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

Full Value biçimini kullan

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

Partial Value biçimini kullan

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

Güncelleştirme komutlarında null değerini kullanın

Güncelleştirme komutlarında, bir değer genellikle bir null nesnenin özelliklerini kaldırmak veya bir dizinin veya sözlüğün öğelerini kaldırmak için kullanılır.

{
  "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": {}
}

Yukarıda gösterilen JSON değerlerine sahip bir kaynak zaten varsa, güncelleştirme komutuna bir null değer geçirilmesi anahtarın değerini sıfırlar.

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

Bir kaynağın e-postasının ilk öğesini kaldıran başka bir örnek aşağıda verilmiştir:

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

Yardımı göstermek için ?? kullanın

Çift soru işaretinin ?? kullanılması, bir parametre veya alt özellik için kullanılabilir yardımı göstermek için özel bir anahtar sözcüktür. Kısaltma söz dizimi içinde yardım almak için de kullanılabilir.

Uyarı

Bash kabuğu ? karakterini joker olarak kullanır. Çift soru işaretlerinin ??çift tırnak içine alındığından emin olun.

Parametrenin yardım iletisini göstermek için kullanın ??

Parametrenin --contact yardım iletisini göster:

az some-command --contact "??"

?? formatında Full Value kullan

--contant yazarken Full Value parametresinin yardım iletisini göster:

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

--contant.address özelliğinin yardım iletisini Full Value yazarken göster:

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

--contant.address.country özelliğinin yardım iletisini Full Value yazarken göster:

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

--contant.emails özelliğinin yardım iletisini Full Value yazarken göster:

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

--contant.emails özelliği öğesinin yardım iletisini Full Value yazarken göster:

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

?? formatında Partial Value kullan

--contant.address özelliğinin yardım iletisini Partial Value yazarken göster:

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

--contant.emails özelliğinin yardım iletisini Partial Value yazarken göster:

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

--contant.emails özelliği öğesinin yardım iletisini Partial Value yazarken göster:

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

Ayrıca bakınız