35 lines
1.4 KiB
PowerShell
35 lines
1.4 KiB
PowerShell
# Définir les variables de configuration
|
|
$jsonKeyFile = "d6cd222549da.json" # Modifier le chemin vers votre fichier JSON d'authentification
|
|
$projectId = "abc-prj-np-mdf-001" # Remplacez par l'ID de votre projet GCP
|
|
$subscriptionName = "alerte:pull" # Remplacez par le nom de la subscription Pub/Sub
|
|
$APIUrl = "https://pubsub.googleapis.com/v1"
|
|
|
|
# Activer le compte de service avec le fichier JSON
|
|
Write-Output "Activation du compte de service..."
|
|
gcloud auth activate-service-account --key-file $jsonKeyFile
|
|
|
|
# Récupérer le token d'accès
|
|
Write-Output "Récupération du token d'accès..."
|
|
$accessToken = gcloud auth print-access-token
|
|
|
|
# Définir l'URL de l'API Pub/Sub pour une opération de pull (récupération de messages)
|
|
$uri = "$APIUrl/projects/$projectId/subscriptions/$subscriptionName"
|
|
|
|
$Headers = @{
|
|
Authorization = "Bearer $accessToken"
|
|
"accept" = "application/json"
|
|
"Content-Type" = "application/json"
|
|
}
|
|
|
|
# Préparer le corps de la requête (ici, on demande jusqu'à 10 messages)
|
|
$payloadPull = @{
|
|
maxMessages = 10
|
|
} | ConvertTo-Json -Depth 10
|
|
|
|
Write-Output "Interrogation de l'API Pub/Sub..."
|
|
# Appeler l'API Pub/Sub avec une requête POST
|
|
$responsePull = Invoke-RestMethod -Uri $uri -Method POST -Headers $Headers -Body $payloadPull
|
|
|
|
# Afficher la réponse
|
|
Write-Output "Réponse de l'API :" $responsePull | ConvertTo-Json -Depth 10
|