Update November 2024
Symbolic Links
Foto's bewerken in Lightroom kan een trage bezigheid zijn. Tenzij de foto's op een snelle schijf staan. Maar ik wilde ook weer niet alle foto's op die snelle schijf zetten. Dus alleen de foto's die ik ging bewerken op de snelle schijf. Laat ook meteen weer mijn leeftijd zien, ik heb het over schijf maar die NVME drives zijn sticks met chips. Om toch te profiteren van de snelle schijf en tegelijkertijd alle foto's beschikbaar te hebben en gebackupt te hebben de symbolic link. Dan staat 1 folder stiekem op de snelle drive tussen de archief folders.
De snelle drive gebruiken, maar bestanden op de "archief" plaats laten staan.
new-item -ItemType SymbolicLink -Path {Snelkoppeling} -Target {Plaats van bestanden}
Verwijderen van de link zonder verwijderen van de bestanden Optie 1. Via de explorer Optie 2.
(Get-Item {Snelkoppeling}).Delete()
Bicep output is niet secure
Bij het bewaren van wachtwoorden en connectionstrings wordt natuurlijk gebruik gemaakt van Keyvaults om deze op een veilige plaats te bewaren. Dit spreekt voor zich. Wat minder voor zich spreekt is dat het gebruik van dergelijke secrets in bicep files ook risico's met zich mee brengt.
Belangrijk punt hier bij is dat een secret wel als @secure()
bij de parameters gebruikt moet worden anders staat het geheim leesbaar in de deployment logging van Azure.
Dit kan echter niet als het secret een output is van een module. Output komt altijd in de logging terecht. Dit kan opgelost worden door in de module al het secret op te slaan in de keyvault waardoor hij niet meer als output terugkomt.
Anti filter in KQL
Soms wil je wel eens een filter toepassen op een KQL resultaat. Dat kan met het anti filter. Hieronder een voorbeeld van alle urls behalve / en /index.php:
let filterUrls = datatable(RequestURL:string)
["/","/index.php"];
result
| project RequestURL = UrlPath, AllRequest, AllRequestTrend,["AllErrors"],ErrorTrend
//Filter some standard stuff
| join kind=anti (filterUrls) on RequestURL
| order by AllErrors desc
Verwijderen veel CosmosDB records via powershell
Het verwijdren van CosmosDB records in grote getalen is een gedoe. Zeker tijdens testen of voortschrijdend inzicht. Powershell to the rescue, het is niet supersnel maar wel sneller dan handmatig weghalen.
$primaryKey = ConvertTo-SecureString -String '{geheime sleutel cosmosdb}' -AsPlainText -Force;
$cosmosDbContext = New-CosmosDbContext -Account {cosmosdb-database-account} -Database {databasenaam} -Key $primaryKey;
$query = "SELECT * FROM Items AS i where contains(i.id, '-') and i.origin = '{somewhereclause}'"
$documents = Get-CosmosDBdocument -Context $cosmosDbContext -CollectionId {collectionname} -Query $query;
$doccount = $documents.count
Write-Host "Retrieved $doccount";
for ($i = 0; $i -le $documents.count; $i++) {
$docid = $documents[$i].id
Write-Host "ID to delete: $docid and count $i of $doccount"
Remove-CosmosDbDocument -Context $cosmosDbContext -CollectionId {collectionname} -Id $docid -PartitionKey '{partitionkey}'
}
Raspberry pi 5 update met NVME
Die ligt in de kast. De homeserver wordt nu een oude Lenovo P520 waar proxmox op komt te draaien. Eerste indruk is dat er veel kan en dat ik nog niet alle potentie heb benut. Wat wel gelukt is om de omvormer betrouwbaar uit te lezen, home assistant te gebruiken en Frigate werkend te krijgen inclusief Google Coral TPU. Later nog wat uitgebreider als ik na de eerste pogingen wat beter ga structureren. Ook wil ik het stroomverbruik van de server nog wat omlaag brengen.