Questa pagina mostra come iniziare a utilizzare le librerie client di Cloud per l'API Google Security Operations. Le librerie client semplificano l'accesso alle APIGoogle Cloud da una lingua supportata. Sebbene tu possa utilizzare le APIGoogle Cloud effettuando direttamente delle richieste non elaborate al server, le librerie client forniscono semplificazioni che riducono notevolmente la quantità di codice da scrivere.
Scopri di più sulle librerie client di Cloud e sulle precedenti librerie client delle API di Google in Descrizione delle librerie client.
Installa la libreria client
C++
Segui le
Quickstart.
C#
Installa il pacchetto
Google.Cloud.Chronicle.V1
da NuGet.
Per ulteriori informazioni, vedi Configurazione di un ambiente di sviluppo C#.
Go
go get cloud.google.com/go/chronicle/apiv1
Per ulteriori informazioni, vedi Configurazione di un ambiente di sviluppo Go.
Java
Se utilizzi Maven, aggiungi quanto segue al file pom.xml. Per saperne di più sulle
BOM, consulta The Google Cloud Platform Libraries BOM.
Se utilizzi Gradle, aggiungi quanto segue alle dipendenze:
Se utilizzi sbt, aggiungi quanto segue alle dipendenze:
Per ulteriori informazioni, vedi Configurazione di un ambiente di sviluppo Java.
Node.js
npm install @google-cloud/chronicle
Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Node.js.
PHP
composer require google/cloud-chronicle
Per ulteriori informazioni, consulta Utilizzo di PHP su Google Cloud.
Python
pip install --upgrade google-cloud-chronicle
Per ulteriori informazioni, consulta Configurazione di un ambiente di sviluppo Python.
Ruby
gem install google-cloud-chronicle-v1
Per ulteriori informazioni, vedi Configurazione di un ambiente di sviluppo Ruby.
Configura l'autenticazione
Per autenticare le chiamate alle API Google Cloud , le librerie client supportano il servizio Credenziali predefinite dell'applicazione (ADC). Le librerie cercano le credenziali in una serie di località definite e le utilizzano per autenticare le richieste all'API. Con le ADC, puoi rendere disponibili le credenziali per la tua applicazione in vari ambienti, ad esempio per lo sviluppo locale o la produzione, senza dover modificare il codice dell'applicazione.Per gli ambienti di produzione, la modalità di configurazione delle credenziali ADC dipende dal servizio e dal contesto. Per ulteriori informazioni, consulta Configura le credenziali predefinite dell'applicazione.
Per un ambiente di sviluppo locale, puoi configurare come ADC le credenziali associate al tuo Account Google:
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Viene visualizzata una schermata di accesso. Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC.
Utilizza la libreria client
L'esempio seguente mostra come utilizzare la libreria client per elencare l'elenco di riferimento.
C++
#include "google/cloud/chronicle/v1/chronicle_client.h"
#include "google/cloud/common_options.h"
#include <iostream>
#include <string>
int main(int argc, char* argv[]) {
// TODO(developer): Replace these variables before running the sample.
std::string const project_id = "";
std::string const instance_id = "";
std::string const location = "us";
std::string const endpoint = "us-chronicle.googleapis.com";
namespace chronicle = ::google::cloud::chronicle_v1;
auto options = google::cloud::Options{}.set<google::cloud::EndpointOption>(endpoint);
auto client = chronicle::ChronicleClient(chronicle::MakeChronicleConnection(options));
// Construct the parent resource name
// Format: projects/{project}/locations/{location}/instances/{instance}
std::string parent = "projects/" + project_id + "/locations/" + location + "/instances/" + instance_id;
google::cloud::chronicle::v1::ListReferenceListsRequest request;
request.set_parent(parent);
std::cout << "Listing reference lists for parent: " << parent << std::endl;
for (auto const& reference_list : client.ListReferenceLists(request)) {
if (!reference_list) {
std::cerr << "Error listing reference lists: " << reference_list.status().message() << std::endl;
return 1;
}
std::cout << "Name: " << reference_list->name() <<std::endl;
std::cout << "Display Name: " << reference_list->display_name() << std::endl;
}
return 0;
}C#
using Google.Cloud.Chronicle.V1;
// TODO(developer): Replace these variables before running the sample.
const string project = "";
const string location = "us";
const string instance = "";
const string endpoint = "us-chronicle.googleapis.com";
ReferenceListServiceClient client = new ReferenceListServiceClientBuilder
{
Endpoint = endpoint,
}.Build();
string parent = InstanceName.FromProjectLocationInstance(project, location, instance).ToString();
foreach (ReferenceList referenceList in client.ListReferenceLists(parent))
{
Console.WriteLine($"Name: {referenceList.Name}");
Console.WriteLine($"Description: {referenceList.Description}");
}Go
package main
import (
"context"
"fmt"
"log"
chronicle "cloud.google.com/go/chronicle/apiv1"
chroniclepb "cloud.google.com/go/chronicle/apiv1/chroniclepb"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
)
// TODO(developer): Replace these variables before running the sample.
const (
project = ""
location = "us"
instance = ""
apiEndpoint = "us-chronicle.googleapis.com:443"
)
func main() {
ctx := context.Background()
client, err := chronicle.NewReferenceListClient(ctx, option.WithEndpoint(apiEndpoint),)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
defer client.Close()
parent := fmt.Sprintf("projects/%s/locations/%s/instances/%s", project, location, instance)
req := &chroniclepb.ListReferenceListsRequest{
Parent: parent,
}
it := client.ListReferenceLists(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
log.Fatalf("error listing reference lists: %v", err)
}
fmt.Printf("Name: %s\n", resp.GetName())
fmt.Printf("Description: %s\n", resp.GetDescription())
fmt.Printf("---\n")
}
}Java
package com.example;
import com.google.cloud.chronicle.v1.InstanceName;
import com.google.cloud.chronicle.v1.ReferenceList;
import com.google.cloud.chronicle.v1.ReferenceListServiceClient;
import com.google.cloud.chronicle.v1.ReferenceListServiceSettings;
public class ListReferenceLists {
// TODO(developer): Replace these variables before running the sample.
private static final String PROJECT = "";
private static final String LOCATION = "us";
private static final String INSTANCE = "";
private static final String ENDPOINT = "us-chronicle.googleapis.com:443";
public static void main(String[] args) throws Exception {
ReferenceListServiceSettings settings = ReferenceListServiceSettings.newBuilder().setEndpoint(ENDPOINT).build();
try (ReferenceListServiceClient client = ReferenceListServiceClient.create(settings)) {
String parent = InstanceName.of(PROJECT, LOCATION, INSTANCE).toString();
for (ReferenceList referenceList : client.listReferenceLists(parent).iterateAll()) {
System.out.println("Name: " + referenceList.getName());
System.out.println("Description: " + referenceList.getDescription());
System.out.println("---");
}
}
}
}Node.js
'use strict';
function main(parent) {
const {ReferenceListServiceClient} = require('@google-cloud/chronicle').v1;
const chronicleClient = new ReferenceListServiceClient({
apiEndpoint: 'us-chronicle.googleapis.com',
});
async function callListReferenceLists() {
// TODO(developer): Replace these variables before running the sample.
const request = {
parent: 'projects/<project-number>/locations/us/instances/<instance-id>'
};
const iterable = chronicleClient.listReferenceListsAsync(request);
for await (const response of iterable) {
console.log(response);
}
}
callListReferenceLists();
}
process.on('unhandledRejection', err=> {
console.error(err.message);
process.exitCode = 1;
});
main(...process.argv.slice(2));PHP
use Google\ApiCore\ApiException;
use Google\ApiCore\PagedListResponse;
use Google\Cloud\Chronicle\V1\Client\ReferenceListServiceClient;
use Google\Cloud\Chronicle\V1\ListReferenceListsRequest;
use Google\Cloud\Chronicle\V1\ReferenceList;
// TODO(developer): Replace these variables before running the sample.
const PROJECT = '';
const LOCATION = 'us';
const INSTANCE = '';
const ENDPOINT = 'us-chronicle.googleapis.com';
$client = new ReferenceListServiceClient([
'apiEndpoint' => ENDPOINT,
]);
$parent = ReferenceListServiceClient::instanceName(PROJECT, LOCATION, INSTANCE);
$request = (new ListReferenceListsRequest())->setParent($parent);
try {
/** @var PagedListResponse $response /
$response = $client->listReferenceLists($request);
/* @var ReferenceList $referenceList */
foreach ($response as $referenceList) {
printf('Name: %s' . PHP_EOL, $referenceList->getName());
printf('Description: %s' . PHP_EOL, $referenceList->getDescription());
printf('---' . PHP_EOL);
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}Python
from google.cloud import chronicle_v1
# TODO(developer): Replace these variables before running the sample.
PROJECT_ID = ""
LOCATION = "us"
INSTANCE_ID = ""
def list_reference_lists():
client = chronicle_v1.ReferenceListServiceClient(client_options={"api_endpoint":"us-chronicle.googleapis.com"})
parent = f"projects/{PROJECT_ID}/locations/{LOCATION}/instances/{INSTANCE_ID}"
response = client.list_reference_lists(parent=parent)
for reference_list in response:
print(f"Name: {reference_list.name}")
print(f"Display Name: {reference_list.display_name}")
if __name__=="__main__":
list_reference_lists()Ruby
require "google/cloud/chronicle/v1"
# TODO(developer): Replace these variables before running the sample.
PROJECT_ID = ""
LOCATION = "us"
INSTANCE_ID = ""
ENDPOINT = "us-chronicle.googleapis.com"
client = Google::Cloud::Chronicle::V1::ReferenceListService::Client.new do |config|
config.endpoint = ENDPOINT
end
parent = "projects/#{PROJECT_ID}/locations/#{LOCATION}/instances/#{INSTANCE_ID}"
request = Google::Cloud::Chronicle::V1::ListReferenceListsRequest.new(parent: parent)
begin
response = client.list_reference_lists request
response.each do |reference_list|
puts "Name: #{reference_list.name}"
puts "Description: #{reference_list.description}"
end
rescue Google::Cloud::Error => e
puts "API call failed: #{e.message}"
endRisorse aggiuntive
C++
Il seguente elenco contiene link ad altre risorse relative alla libreria client per C++:
C#
Il seguente elenco contiene link ad altre risorse relative alla libreria client per C#:
Go
Il seguente elenco contiene link ad altre risorse relative alla libreria client per Go:
Java
Il seguente elenco contiene link ad altre risorse relative alla libreria client per Java:
Node.js
Il seguente elenco contiene link ad altre risorse relative alla libreria client per Node.js:
PHP
Il seguente elenco contiene link ad altre risorse relative alla libreria client per PHP:
Python
Il seguente elenco contiene link ad altre risorse relative alla libreria client per Python:
Ruby
Il seguente elenco contiene link ad altre risorse relative alla libreria client per Ruby: