Udostępnij przez


Jak używać składni skróconej w przypadku interfejsu wiersza poleceń dla platformy Azure

Wiele parametrów interfejsu wiersza polecenia platformy Azure akceptuje wartości JSON, ale ponieważ może być trudno spłaszczyć JSON w ciąg znaków, interfejs wiersza polecenia platformy Azure obsługuje składnię skróconą. Składnia skrócona to uproszczona reprezentacja ciągu JSON.

W tym artykule przedstawiono przykłady składni skróconej i pokazano, jak przekazać kod JSON jako plik.

Uwaga / Notatka

Wiesz, że parametr akceptuje skróconą składnię, gdy opis parametru odczytuje wartość podobną do Support shorthand-syntax, JSON-file and YAML-file. Try "??" to show more.

Składnia skrócona pełnej wartości

Skrócona składnia w Full Value formacie JSON jest otoczona podwójnymi cudzysłowami. Przy użyciu cudzysłowów podwójnych wartość JSON zostaje przekazana jako ciąg zarówno w języku skryptowym PowerShell, jak i w powłoce Bash. Oto przykład 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"
    }
  }
}

Po przekazaniu kodu JSON w wartości parametru kod JSON jest spłaszczany i owinięty podwójnymi cudzysłowami.

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

Składnia skrócona wartości częściowej

Skrócona składnia dla wartości częściowej składa się z dwóch części połączonych znakiem równości (=) znajdującym się pomiędzy indeksem key a value. Oto przykład: key=value.

Wartość może być uproszczonym ciągiem, pełnym formatem wartości, formatem JSON lub ścieżką pliku JSON. Korzystając z podanego przykładu JSON, przekaż właściwości parametru --contact w następujących przykładach:

Użyj Partial Value dla pojedynczej pary klucz-wartość.

az some-command --contact name=Bill

Użyj Partial Value do dwóch par klucz-wartość. Zwróć uwagę na przestrzeń oddzielającą dwie pary.

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

Użyj Partial Value jako drugi element.

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

Użyj Partial Value dla właściwości szczegóły w adresie.

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

Łączenie składni skróconej pełnej i częściowej wartości

Można łączyć składnię pełnej i częściowej wartości, ale zawsze zaczynać od Full Value, a następnie Partial Value. Jeśli odwrócisz kolejność, ostateczne dane zawierają tylko Full Value bez właściwości zdefiniowanych w Partial Value.

Użyj Full Value a następnie 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."

Możesz również zastosować poprawkę nowego elementu właściwości listy w pliku Full Value. Na przykład możesz ustawić drugi adres e-mail według :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."

Przekazywanie kodu JSON w pliku

Istnieje również możliwość przekazania pliku JSON jako wartości parametru. Jest to zalecane podejście podczas pracy ze złożonym kodem JSON.

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

Ciąg pojedynczych cudzysłowów

Ciąg w apostrofach służy do przekazywania wartości ciągu ze znakami specjalnymi: :, ,, {, }, [, ], null, ??, i spacją. Te znaki często mają inne znaczenie podczas analizowania składni skróconej. Pojedyncze cudzysłowy informują analizatora, aby traktować wszystko jako ciąg.

Przekaż ciąg znaków zawierający spację i inne znaki specjalne

Oto przykładowy kod JSON do przekazania jako wartość w parametrze --contact :

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

Użyj pojedynczych cudzysłowów w Full Value formacie:

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

Użyj pojedynczych cudzysłowów w Partial Value formacie:

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

W następnym przykładzie można również usunąć pojedyncze cudzysłowy dla name klucza. Analizator nie rozróżnia wyrażenia Full Value, wartości null ani flagi ??.

Użyj Partial Value formatu:

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

Praca z apostrofami

Znak apostrofowy (') wymaga specjalnej ucieczki (/') w ciągu pojedynczych cudzysłowów , aby odróżnić koniec ciągu pojedynczego cudzysłowu. Ukośnik (/) jest znakiem ucieczki tylko po apostrofie (') w ciągu pojedynczego cudzysłowu. Jeśli / nie znajduje się w ciągu pojedynczych cudzysłowów lub / nie jest po ', / jest normalnym znakiem.

Przekaż format Full Value :

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

Przekaż format Partial Value :

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

Jeśli value nie znajduje się w ciągu pojedynczych cudzysłowów, nie musisz dodawać znaku ucieczki po 'znaku .

Przekaż format Partial Value :

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

Oto inny przykład użycia następującego kodu JSON:

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

W formacie Full Value użyj napisu w pojedynczym cudzysłowie i zastąp ' przez '/.

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

W Partial Value formacie wartość zawierająca apostrof może być analizowana jako ciąg, otoczona podwójnymi cudzysłowymi.

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

Operowanie wartościami NULL

Przekaż wyraz "null" jako wartość ciągu

Czasami należy przekazać wartość ciągu "null". Aby odróżnić wartość null , musi być ciągiem pojedynczego cudzysłowu. Jeśli na przykład chcesz przekazać ciąg "null" do właściwości name w parametrze --contact :

JSON:

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

Użyj Full Value formatu:

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

Użyj Partial Value formatu:

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

Przekaż wartość null

Składnia skrócona obsługuje zarówno słowo kluczowe null w obu formatach Full Value i Partial Value.

Jeśli na przykład chcesz przekazać następujący obiekt z właściwością nulladresu jako wartość w parametrze --contact :

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

Użyj Full Value formatu:

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

Użyj Partial Value formatu:

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

Użyj wartości null w poleceniach aktualizacji

W poleceniach aktualizacji wartość null jest często używana do resetowania właściwości obiektu lub usuwania elementów tablicy bądź słownika.

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

Jeśli istnieje już zasób z wartościami JSON przedstawionymi powyżej, przekazanie wartości null w poleceniu aktualizacji powoduje zresetowanie wartości klucza.

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

Oto kolejny przykład, który usuwa pierwszy element adresu e-mail zasobu:

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

Użyj ?? polecenia , aby wyświetlić pomoc

Użycie podwójnych znaków zapytania ?? jest specjalnym słowem kluczowym służącym do wyświetlania dostępnej pomocy dla parametru lub podwłaściwości. Można go również użyć w składni skróconej, aby uzyskać pomoc.

Uwaga / Notatka

Powłoka Bash używa ? jako symbolu wieloznacznego. Upewnij się, że podwójne znaki zapytania ?? są opakowane w cudzysłowach.

Użyj ??, aby wyświetlić komunikat pomocy dla parametru

Pokaż komunikat pomocy parametru --contact :

az some-command --contact "??"

Użyj ?? w Full Value formacie

Pokaż komunikat pomocy parametru --contant gdy piszesz Full Value:

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

Pokaż komunikat pomocy dotyczący właściwości --contant.address podczas pisania Full Value.

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

Pokaż komunikat pomocy dotyczący właściwości --contant.address.country podczas pisania Full Value.

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

Pokaż komunikat pomocy dotyczący właściwości --contant.emails podczas pisania Full Value.

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

Pokaż komunikat pomocy dla elementu --contant.emails właściwości przy pisaniu Full Value:

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

Użyj ?? w Partial Value formacie

Pokaż komunikat pomocy dotyczący właściwości --contant.address podczas pisania Partial Value.

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

Pokaż komunikat pomocy dotyczący właściwości --contant.emails podczas pisania Partial Value.

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

Pokaż komunikat pomocy dla elementu --contant.emails właściwości przy pisaniu Partial Value:

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

Zobacz także