RPI-Pico-Arduino-AzSDK: Get Connection Strings ... Scripts
     
       
           
          
        
        February 13, 2023 10:50  
        
                                           
            
                                              
            David Jones MVP
          
        
            
                
                    
                
                ardpico
            
                                           
        
            
                
            
            arduino
        
            
            pi
        
            
            pico
        
            
            iot-hub
        
            
            c
        
            
            sdk-for-c-arduino
                                       
    
  
                          
       
           
          
        
        13 Feb 2023 10:50:26  
        
                                           
            
                                              
            David Jones MVP
        
ardpico arduino pi pico iot-hub c sdk-for-c-arduino
ardpico arduino pi pico iot-hub c sdk-for-c-arduino
A PowerScript (as a function) for generating the IoT Hub Connection Strings as environment variables.
function set-env{
    param (
    [string]$Subscription = '' ,
    [string]$GroupName = '' ,
    [string]$HubName = '' ,
    [string]$DeviceName = ''
    )
    write-host '  S E T   E N V I R O N M E N T  V A R S   '  -BackGroundColor Yellow -ForeGroundColor Red
    write-Host ''
    write-Host 'Note: Environment Variables only exist for the life of the current Shell' -BackGroundColor DarkRed -ForeGroundColor White
    write-Host ''
    #SharedAccesKeyName
    $SharedAccesKeyName = 'iothubowner'
    # $SharedAccesKeyName = 'service'
    write-Host "SharedAccesKeyName is:  $SharedAccesKeyName"
    $env:SHARED_ACCESS_KEY_NAME = $SharedAccesKeyName
    If ([string]::IsNullOrEmpty($HubName ))
    {
      write-host 'HubName required`
      return
    }
    else
    {
        write-Host "DeviceName is: $DeviceName" 
        $env:DEVICE_NAME = $DeviceName
        $env:DEVICE_ID = $DeviceName
    }
    If (-not ([string]::IsNullOrEmpty($DeviceName )))
    {
      write-host 'Device name required`
      return
    }
    else
    {
        write-Host "DeviceName is: $DeviceName" 
        $env:DEVICE_NAME = $DeviceName
        $env:DEVICE_ID = $DeviceName
    }
    # Device Connection String
    write-Host 'Getting IOTHUB_DEVICE_CONN_STRING'
    $cs = az iot hub device-identity connection-string show --hub-name $HubName --device-id $DeviceName  --output json  | out-string
    $IOTHUB_DEVICE_CONN_STRING = ($cs   | ConvertFrom-Json).connectionString
    write-Host $IOTHUB_DEVICE_CONN_STRING
    $env:IOTHUB_DEVICE_CONN_STRING = $IOTHUB_DEVICE_CONN_STRING 
    # Hub Coonection String
    write-host 'Getting IOTHUB_CONN_STRING_CSHARP'
    $cs = az iot hub connection-string show --hub-name $HubName --policy-name iothubowner --key primary  --resource-group $GroupName --output json  
    $IOTHUB_CONN_STRING_CSHARP = ($cs   | ConvertFrom-Json).connectionString
    write-host $IOTHUB_CONN_STRING_CSHARP
    $env:IOTHUB_CONN_STRING_CSHARP =$IOTHUB_CONN_STRING_CSHARP 
    # Service Connection string
     write-host 'Getting Service Connection string'
      $cs = az iot hub connection-string show --policy-name service --hub-name $HubName --output json | out-string
      $SERVICE_CONNECTION_STRING = ($cs   | ConvertFrom-Json).connectionString
      write-host $SERVICE_CONNECTION_STRING
     $env:SERVICE_CONNECTION_STRING = $SERVICE_CONNECTION_STRING
    # EventHubsCompatibleEndpoint
    write-host 'Getting EventHubsCompatibleEndpoint'
    $cs =  az iot hub show --query properties.eventHubEndpoints.events.endpoint --name $HubName --output json |out-string
    $cs = trimm($cs)
    $EventHubsCompatibleEndpoint = $cs.Replace('"','')
    write-host $EventHubsCompatibleEndpoint
    $env:EVENT_HUBS_COMPATIBILITY_ENDPOINT = $EventHubsCompatibleEndpoint
    
    # EventHubsCompatiblePath
    write-host 'Getting EventHubsCompatiblePath'
    $cs = az iot hub show --query properties.eventHubEndpoints.events.path --name $HubName --output json  |out-string
    $cs = trimm $cs
    $EventHubsCompatiblePath = $cs
    write-host $EventHubsCompatiblePath 
    $env:EVENT_HUBS_COMPATIBILITY_PATH =$EventHubsCompatiblePath
    # EventHubsSasKey
    write-host 'Getting EventHubsSasKey'
    $cs = az iot hub policy show --name iothubowner --query primaryKey --hub-name $HubName   |out-string
    $cs = trimm $cs
    $EventHubsSasKey = $cs
    write-host  $EventHubsSasKey
    $env:EVENT_HUBS_SAS_KEY=$EventHubsSasKey
    # EventHubsConnectionString
    write-host 'Calculating the Builtin Event Hub-Compatible Endpoint Connection String' 
    $EventHubsConnectionString="Enpoint=$EventHubsCompatibleEndpoint;SharedAccessKeyName=$SharedAccesKeyName;SharedAccessKey=$EventHubsSasKey;EntityPath=$EventHubsCompatiblePath"
    write-host $EventHubsConnectionString
    $env:EVENT_HUBS_CONNECTION_STRING = $EventHubsConnectionString
    write-Host 'Done'
    read-Host 'Press any key to finish' >$null
}
| Topic | Subtopic | |
| This Category Links | ||
| Category: | Pico W AzSDK Index: | Pico W AzSDK | 
| Next: > | RPI-Pico-Arduino-AzSDK | Pico W Setup with Arduino | 
| < Prev: | RPI-Pico-Arduino-AzSDK | IoT Hub Connection Strings | 
 
 
 
     
        