Halaman ini menunjukkan cara mulai menggunakan Library Klien Cloud untuk Google Security Operations API. Library klien mempermudah aksesGoogle Cloud API dari bahasa yang didukung. Meskipun Anda dapat menggunakanGoogle Cloud API secara langsung dengan membuat permintaan mentah ke server, library klien memberikan penyederhanaan yang secara signifikan mengurangi jumlah kode yang perlu ditulis.
Baca lebih lanjut Library Klien Cloud dan Library Klien Google API versi lama di Penjelasan library klien.
Menginstal library klien
C++
Ikuti
Quickstart.
C#
Instal
Google.Cloud.Chronicle.V1
paket dari NuGet.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan C#.
Go
go get cloud.google.com/go/chronicle/apiv1
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan Go.
Java
Jika Anda menggunakan Maven, tambahkan kode berikut ke file pom.xml Anda: Untuk informasi lebih lanjut tentang
BOM, lihat BOM Library Google Cloud Platform.
Jika menggunakan Gradle, tambahkan kode berikut ke dependensi Anda:
Jika Anda menggunakan sbt, tambahkan kode berikut ke dependensi Anda:
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan Java.
Node.js
npm install @google-cloud/chronicle
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan Node.js.
PHP
composer require google/cloud-chronicle
Untuk mengetahui informasi selengkapnya, lihat Menggunakan PHP di Google Cloud.
Python
pip install --upgrade google-cloud-chronicle
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan Python.
Ruby
gem install google-cloud-chronicle-v1
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Lingkungan Pengembangan Ruby.
Menyiapkan autentikasi
Untuk mengautentikasi panggilan ke Google Cloud API, library klien mendukung Kredensial Default Aplikasi (ADC). Library ini mencari kredensial dalam kumpulan lokasi yang ditentukan dan menggunakan kredensial tersebut untuk mengautentikasi permintaan ke API. Dengan ADC, Anda dapat menyediakan kredensial untuk aplikasi di berbagai lingkungan, seperti produksi atau pengembangan lokal, tanpa perlu mengubah kode aplikasi.Untuk lingkungan produksi, cara menyiapkan ADC bergantung pada layanan dan konteksnya. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Kredensial Default Aplikasi.
Untuk lingkungan pengembangan lokal, Anda dapat menyiapkan ADC dengan kredensial yang terkait dengan Akun Google Anda:
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Layar login akan muncul. Setelah Anda login, kredensial Anda akan disimpan dalam file kredensial lokal yang digunakan oleh ADC.
Menggunakan library klien
Contoh berikut menunjukkan cara menggunakan library klien untuk mencantumkan daftar referensi.
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}"
endReferensi lainnya
C++
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk C++:
C#
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk C#:
Go
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk Go:
Java
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk Java:
Node.js
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk Node.js:
PHP
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk PHP:
Python
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk Python:
Ruby
Daftar berikut berisi link ke referensi lainnya yang terkait dengan library klien untuk Ruby: