New-AzureStorageContext: конечная точка против среды - PullRequest
0 голосов
/ 28 августа 2018

Для командлета New-AzureStorageContext, если я знаю значение обоих, каковы различия между параметрами конечной точки и среды?

Например, допустим, я хочу новый новый контекст хранения с именем foo в облаке Azure China, поэтому среда имеет значение AzureChinaCloud, а конечная точка будет foo.core.chinacloudapi.cn. Я могу передать любой из них как параметр для командлета, хотя из документов видно, что они являются взаимоисключающими.

Что функционально будет отличаться между прохождением одного или другого? Если я передам Среду, не будет ли у созданного контекста хранения конечная точка? Если у него есть конечная точка, не установлен ли он на foo.core.chinacloudapi.cn? Если я передам Конечную точку, контекст не будет установлен в AzureChinaCloud? Можно ли вообще не иметь ни того, ни другого?

Кроме того, возвращаемый AzureStorageContext имеет ряд свойств, связанных с конечной точкой: BlobEndPoint, EndPointSuffix, FileEndPoint, QueueEndPoint и TableEndPoint. Какие из этих свойств должны быть установлены при прохождении среды или конечной точки?

1 Ответ

0 голосов
/ 29 августа 2018

В чем различия между параметрами конечной точки и среды?

Endpoint: содержит имя учетной записи хранения и среду Azure. Если AzureCloud, это будет storagename.core.windows.net, если AzureChinaCloud, это будет storagename.core.chinacloudapi.cn, как вы упомянули, оно принадлежит Optional Parameters.

Environment: он просто указывает среду, а не содержит имя учетной записи хранения.

Если я передам Среду, не будет ли у созданного контекста хранения конечная точка? Если у него есть конечная точка, не установлен ли он в foo.core.chinacloudapi.cn? Если я передаю Конечную точку, контекст не установлен в AzureChinaCloud?

Я думаю, вам не нужно использовать их оба, если вы передадите имя учетной записи и среду, у контекста будет конечная точка, а также, если вы передадите конечную точку, у нее будет среда.

Можно ли вообще не иметь ни того, ни другого?

Конечно, вы можете использовать другие параметры для создания контекста, например, вы можете просто использовать StorageAccountName и StorageAccountKey для создания контекста, вы можете найти его в упомянутом вами документе.

Какие из этих свойств должны быть установлены при прохождении среды или конечной точки?

Все четыре свойства определяются конечной точкой, если вы передаете конечную точку, я думаю, вам не нужно устанавливать их. например Если конечной точкой является storagename.core.windows.net, BlobEndPoint будет storagename.blob.core.windows.net.

Обновление:

В чем различия между параметрами конечной точки и среды?

Разные среды определяют разные конечные точки, вы можете проверить это командой: Get-AzureRmEnvironment. если AzureCloud, это будет core.windows.net, если AzureChinaCloud, это будет core.chinacloudapi.cn

AzureCloud:

enter image description here

AzureChinaCloud:

enter image description here

Если я передам Среду, не будет ли у созданного контекста хранения конечная точка? Если у него есть конечная точка, не установлен ли он в foo.core.chinacloudapi.cn? Если я передаю Конечную точку, контекст не установлен в AzureChinaCloud?

Вы можете просто использовать один из них, см. Скриншот, примечание: на самом деле Endpoint означает EndPointSuffix, вы можете найти его в моих результатах теста. Таким образом, мы должны передать, например, -Endpoint "core.windows.net" вместо -Endpoint "storagename.core.windows.net". Если мы передадим -Endpoint "storagename.core.windows.net", это будет неверно, EndPointSuffix будет storagename.core.windows.net в результате.

enter image description here

enter image description here

Неверный результат:

enter image description here

Какие из этих свойств должны быть установлены при прохождении либо среды, либо конечной точки?

На скриншотах выше я не пропускаю ни одну из этих четырех конечных точек, но вы можете обнаружить, что результат будет иметь все из них. Также вам не нужно передавать EndPointSuffix, это равно EndPoint.

...