Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Stack Edge cihazınız için Azure IoT Edge rol yönetimi için Api, SDK ve Azure PowerShell Ocak 2021 sürümü için zamanlanan güncelleştirilmiş sürümünü kullanın.
Bu makalede, bu en yeni sürümü kullanırken yapmanız gereken değişiklikler ayrıntılı olarak açıklanmaktadır.
Ocak 2021 güncelleştirmesi yalnızca Azure Stack Edge Pro - GPU, Azure Stack Edge Pro R ve Azure Stack Edge Mini R cihazları için kullanılabilir. Bu makaledeki bilgiler yalnızca bu cihazlar için geçerlidir.
Not
Ocak 2021 sürümüne yükseltmeniz gerekmez. Geçerli sürümünüzü kullanmaya devam etmeyi seçerseniz IoT Edge rol yönetimini etkilemez. Ancak, yeni özelliklerden yararlanmak ve güvenlik risklerini azaltmaya yardımcı olmak için daha yeni sürümü yüklemenizi öneririz.
Rol yönetimi değişikliklerini IoT Edge
İsteğe bağlı Ocak 2021 güncelleştirmesini Azure Stack Edge cihazınıza yükledikten sonra, IoT Edge rol yönetimi için API, SDK ve PowerShell cmdlet'lerinin en son sürümünü kullanmanız gerekir.
Aşağıdaki değişiklikler yalnızca Ocak 2021 güncelleştirmesini uyguladığınızda gereklidir:
- Şu anda Rol Yönetimi API'sinin 2019-08-01 sürümünü kullanıyorsanız, Ocak 2021'de yayımlanacak API sürümüne yükseltin.
- Şu anda SDK sürüm 1.0.0 aracılığıyla rol yönetimi kullanıyorsanız, Ocak 2021'de yayınlanacak sürüme yükseltin.
- Rol yönetimini , ,
New-AzStackEdgeRoleSet-AzStackEdgeRoleveyaRemove-AzStackEdgeRolegibiGet-AzStackEdgeRoleAzure PowerShell cmdlet'leri (Önizleme) ile kullanıyorsanız, yeni cmdlet'lerin Şubat 2021'de yayımlanmasını bekleyin.
API kullanımı
Şu anda API aracılığıyla IoT Edge rol yönetimi gerçekleştiriyorsanız, daha sonra yayımlanacak olan yeni API 2020-12-01 sürümünü kullanmanız gerekir. Geçerli Rol API'sini kullanıyorsanız, yaklaşan cihaz yazılımı sürümünü yükledikten sonra PUT, GET veya DELETE Kubernetes rolüne ve ardından PUT IoT Eklentisi API'sine geçmeniz gerekir.
PUT yöntemi için
Geçerli HTTP isteği
API çağrıları şu URI'de yapılır: 'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1?api-version=2019-08-01'
İstek gövdesi şöyle görünür:
{ "kind": "IOT", "properties": { "hostPlatform": "Linux", "ioTDeviceDetails": { "deviceId": "iotdevice", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": { "connectionString": { "value": "Encrypted<<HostName=iothub.azure-devices.net;DeviceId=iotDevice;SharedAccessKey=2C750FscEas3JmQ8Bnui5yQWZPyml0/UiRt1bQwd8=>>", "encryptionCertThumbprint": "348586569999244", "encryptionAlgorithm": "AES256" } } } }, "ioTEdgeDeviceDetails": { "deviceId": "iotEdge", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": { "connectionString": { "value": "Encrypted<<HostName=iothub.azure-devices.net;DeviceId=iotEdge;SharedAccessKey=2C750FscEas3JmQ8Bnui5yQWZPyml0/UiRt1bQwd8=>>", "encryptionCertThumbprint": "1245475856069999244", "encryptionAlgorithm": "AES256" } } } }, "shareMappings": [], "roleStatus": "Enabled" } }
Yaklaşan HTTP isteği
Kubernetes rolü için API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/KubernetesRole1?api-version=2020-12-01'
İstek gövdesi şöyle görünür:
{ "kind": "Kubernetes", "properties": { "hostPlatform": "Linux", "kubernetesClusterInfo": { "version": "v1.17.3" }, "kubernetesRoleResources": { "storage": { "endpoints": [] }, "compute": { "vmProfile": "DS1_v2" } } } }IoT Edge eklentisi için API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/KubernetesRole1/addons/iotaddon?api-version=2020-12-01'
İstek gövdesi şöyle görünür:
{ "kind": "IoT", "properties": { "ioTDeviceDetails": { "deviceId": "iotdevice", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": { "connectionString": { "value": "Encrypted<<HostName=iothub.azure-devices.net;DeviceId=iotDevice;SharedAccessKey=2C750FscEas3JmQ8Bnui5yQWZPyml0/UiRt1bQwd8=>>", "encryptionCertThumbprint": "348586569999244", "encryptionAlgorithm": "AES256" } } } }, "ioTEdgeDeviceDetails": { "deviceId": "iotEdge", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": { "connectionString": { "value": "Encrypted<<HostName=iothub.azure-devices.net;DeviceId=iotEdge;SharedAccessKey=2C750FscEas3JmQ8Bnui5yQWZPyml0/UiRt1bQwd8=>>", "encryptionCertThumbprint": "1245475856069999244", "encryptionAlgorithm": "AES256" } } } } } }
GET yöntemi için
Geçerli HTTP yanıtı
API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1?api-version=2019-08-01'
Yanıt gövdesi şöyle görünür:
"kind": "IOT", "properties": { "hostPlatform": "Linux", "ioTDeviceDetails": { "deviceId": "iotdevice", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": {} } }, "ioTEdgeDeviceDetails": { "deviceId": "iotEdge", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": {} } }, "shareMappings": [], "roleStatus": "Enabled" }, "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", "name": "IoTRole1", "type": "dataBoxEdgeDevices/roles" }
Yaklaşan HTTP yanıtı
API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/KubernetesRole1/addons/iotaddon?api-version=2020-12-01'
Yanıt gövdesi şöyle görünür:
{ "kind": "IoT", "properties": { "provisioningState": "Creating", "ioTDeviceDetails": { "deviceId": "iotdevice", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": {} } }, "ioTEdgeDeviceDetails": { "deviceId": "iotEdge", "ioTHostHub": "iothub.azure-devices.net", "ioTHostHubId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/Microsoft.Devices/IotHubs/testrxiothub", "authentication": { "symmetricKey": {} } }, "version": "0.1.0-beta10" }, "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/res1/roles/kubernetesRole/addons/iotName", "name": " iotName", "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addon", }
DELETE yöntemi için
Geçerli API çağrıları
API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1?api-version=2019-08-01'
Yaklaşan API çağrıları
API çağrıları aşağıdaki URI'de yapılır:
'https://management.azure.com/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/KubernetesRole1/addons/iotaddon?api-version=2020-12-01'
SDK kullanımı
SDK'yı kullanıyorsanız, Ocak 2021 güncelleştirmesini yükledikten sonra, aşağıdaki örnekte gösterildiği gibi IoT Edge rolünü ayarlama yönteminizi değiştirmeniz gerekir. Ardından, burada gösterildiği gibi yeni SDK'ya geçmek için yaklaşan NuGet paketini indirip yükleyeceksiniz.
Geçerli SDK örneği
var iotRoleStatus = "Enabled";
var iotHostPlatform = "Linux";
var id = $@"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/resourceGroup/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/deviceName/roles/iotrole";
var name = "iotrole";
var type = "Microsoft.DataBoxEdge/dataBoxEdgeDevices/role";
var iotRoleName = "iotrole";
var ioTDeviceDetails = new IoTDeviceInfo(...);
var ioTEdgeDeviceDetails = new IoTDeviceInfo(...);
var ioTEdgeAgentInfo = new IoTEdgeAgentInfo(...);
var shareMappings = new List<MountPointMap>(...);
var role = new IoTRole(roleStatus,
hostPlatform,
shareMappings,
ioTDeviceDetails,
ioTEdgeDeviceDetails,
ioTEdgeAgentInfo,
id,
name,
type);
DataBoxEdgeManagementClient.Roles.CreateOrUpdate(deviceName, iotRoleName, role, resourceGroup);
Yeni SDK örneği
var k8sRoleStatus = "Enabled";
var k8sHostPlatform = "Linux";
var k8sId = $@"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/resourceGroup/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/deviceName/roles/KubernetesRole";
var k8sRoleName = "KubernetesRole";
var k8sClusterVersion = "v1.17.3"; //Final values will be updated here around January 2021
var k8sVmProfile = "DS1_v2"; //Final values will be updated here around January 2021
var type = "Microsoft.DataBoxEdge/dataBoxEdgeDevices/role";
var k8sRole = new KubernetesRole(
roleStatus,
hostPlatform,
shareMappings,
k8sClusterVersion,
k8sVmProfile,
k8sId,
k8sRoleName,
type
);
DataBoxEdgeManagementClient.Roles.CreateOrUpdate(deviceName, k8sRoleName, k8sRole, resourceGroup); //Final usage will be updated here around January 2021
var ioTId = $@"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/resourceGroup/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/deviceName/roles/KubernetesRole/addons/iotaddon";
var ioTAddonName = "iotaddon";
var ioTAddonType = "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons";
var addon = new IoTAddon(
ioTDeviceDetails,
ioTEdgeDeviceDetails,
ioTEdgeAgentInfo,
ioTId,
ioTAddonName,
ioTAddonType);
DataBoxEdgeManagementClient.AddOns.CreateOrUpdate(deviceName, k8sRoleName, addonName, addon, resourceGroup); //Final usage will be updated here around January 2021
Cmdlet kullanımı
Şu anda , New-AzStackEdgeRole, Set-AzStackEdgeRoleveya Remove-AzStackEdgeRole cmdlet'ini Get-AzStackEdgeRolekullanıyorsanız, Şubat 2021 sürümü için planlanan yeni sürümü beklemeniz gerekir.
Sık sorulan sorular
Azure Stack Edge Pro - FPGA kullanıyorum. Ocak 2021 güncelleştirmesi FPGA modelini etkiler mi?
Hayır. Ocak 2021 güncelleştirmesi yalnızca Azure Stack Edge Pro - FPGA, Azure Stack Edge Pro R ve Azure Stack Edge Mini R cihazları için geçerlidir. Azure Stack Edge Pro - FPGA bu güncelleştirmeden etkilenmez ve IoT Edge rol yönetiminde herhangi bir değişiklik gerektirmez.
Ocak 2021'de Azure Stack Edge Pro - GPU'yu yeni cihaz yazılımına güncelleştirdikten sonra mevcut hizmetlerden herhangi biri etkilendi mi?
Hayır. Ocak 2021 cihaz güncelleştirmesini yükledikten sonra yapılandırdığınız hizmetler etkilenmez.
IoT Edge yönetim API'sinde, SDK'da veya cmdlet'inde üst düzey değişiklikler nelerdir?
IoT Edge, Kubernetes rolünün altındaki bir eklentidir. Bu, önce Kubernetes'in yapılandırıldığından emin olmanız ve ardından IoT Edge yapılandırmasını gerçekleştirmeniz gerektiği anlamına gelir.