عميل Java الاصطلاحي لخدمات Google Cloud Platform.
تتوفر المكتبات على GitHub وMaven Central لتطوير تطبيقات Java التي تتفاعل مع خدمات Google Cloud الفردية:
عميل | مستوى الإصدار | إصدار |
---|---|---|
دفاتر منصة الذكاء الاصطناعي | ||
بوابة API | ||
واجهة برمجة تطبيقات مفاتيح API | ||
الموافقة على الوصول | ||
واجهة برمجة تطبيقات الإشعارات الاستشارية | ||
AlloyDB | ||
موصلات AlloyDB | ||
واجهة برمجة تطبيقات مركز التحليلات | ||
أبيجي كونيكت | ||
واجهة برمجة التطبيقات لإدارة محرك التطبيقات | ||
سجل القطع الأثرية | ||
جرد الأصول | ||
أعباء العمل المؤكدة للحكومة | ||
مل التلقائي | ||
واجهة برمجة تطبيقات خدمة النسخ الاحتياطي وDR | ||
BigQuery | ||
اتصال BigQuery | ||
خدمة نقل البيانات BigQuery | ||
حجز BigQuery | ||
تخزين BigQuery | ||
Bigtable | ||
عميل Bigtable Hbase | ||
الفواتير | ||
ميزانيات الفواتير | ||
الترخيص الثنائي | ||
يبني | ||
رؤى CCAI | ||
خدمة سلطة التصديق | ||
خدمات القناة | ||
الملحن | ||
محرك الحساب | ||
ربط بوابة API | ||
تحليل الحاوية | ||
يتحكم في واجهة برمجة تطبيقات الشريك | ||
DNS | ||
كتالوج البيانات | ||
دمج البيانات | ||
نسب البيانات | ||
منع فقدان البيانات | ||
خدمة ترحيل قاعدة البيانات | ||
داتابليكس | ||
داتابروك | ||
داتابروك ميتاستور | ||
مخزن البيانات | ||
داتاستريم | ||
مصحح الأخطاء | ||
نشر | ||
واجهة برمجة تطبيقات تدفق الحوار | ||
واجهة برمجة تطبيقات محرك الاكتشاف | ||
الحافة الموزعة | ||
واجهة برمجة تطبيقات شبكة الحافة الموزعة | ||
وثيقة منظمة العفو الدولية | ||
المجالات | ||
واجهة برمجة تطبيقات جهات الاتصال الأساسية | ||
إيفينتارك | ||
واجهة برمجة تطبيقات مخزن الملفات | ||
فايرستور | ||
توجيه الأسطول | ||
وظائف | ||
واجهة برمجة تطبيقات GKE Hub | ||
أنا أكون | ||
واجهة برمجة تطبيقات مسؤول IAM | ||
واجهة برمجة تطبيقات مستكشف أخطاء سياسة IAM ومصلحها | ||
واجهة برمجة تطبيقات بيانات اعتماد حساب خدمة IAM | ||
مدير سياق الوصول إلى الهوية | ||
واجهة برمجة تطبيقات الوكيل المدرك للهوية | ||
واجهة برمجة تطبيقات إدارة البنية التحتية | ||
إنترنت الأشياء (IoT) الأساسية | ||
نظام كشف التسلل | ||
خدمة إدارة المفاتيح | ||
محرك كوبرنيتيس | ||
التسجيل | ||
الخدمة المُدارة لـ Microsoft Active Directory | ||
ميمكاش | ||
لوحات المراقبة | ||
اللغة الطبيعية | ||
مركز اتصال الشبكة | ||
واجهة برمجة تطبيقات إدارة الشبكة | ||
واجهة برمجة تطبيقات أمان الشبكة | ||
واجهة برمجة تطبيقات تكوين نظام التشغيل | ||
تسجيل الدخول لنظام التشغيل | ||
سياسة المنظمة | ||
منشئ ملفات التعريف | ||
حانة/فرعية | ||
رابط كافكا للحانة/المجموعة الفرعية | ||
حانة / الفرعية لايت | ||
حانة / الفرعية لايت كافكا شيم | ||
Pub/Sub لايت سبارك موصل | ||
واجهة برمجة تطبيقات هيئة التصديق العامة | ||
واجهة برمجة تطبيقات الحصص | ||
موصي | ||
ريديس | ||
واجهة برمجة تطبيقات إدارة الموارد | ||
واجهة برمجة تطبيقات إعدادات الموارد | ||
بيع بالتجزئة | ||
طرق API | ||
مجدول | ||
الإدارة السرية | ||
واجهة برمجة تطبيقات إدارة المصادر الآمنة | ||
واجهة برمجة تطبيقات إدارة مركز الأمان | ||
مركز القيادة الأمنية | ||
واجهة برمجة تطبيقات الوضع الأمني | ||
الماسح الضوئي الأمني | ||
الوصول إلى VPC بدون خادم | ||
واجهة برمجة تطبيقات التحكم في الخدمة | ||
دليل الخدمة | ||
واجهة برمجة تطبيقات إدارة الخدمة | ||
استخدام الخدمة | ||
صدَفَة | ||
مفتاح البراغي | ||
مفتاح البراغي JDBC | ||
خطاب | ||
مراقبة Stackdriver | ||
تتبع Stackdriver | ||
تخزين | ||
خدمة نقل التخزين | ||
تي بي يو | ||
حل الموهبة | ||
المهام | ||
واجهة برمجة تطبيقات أتمتة تلكو | ||
تحويل النص إلى كلام | ||
ترجمة | ||
الهجرة VM | ||
فيرتكس الذكاء الاصطناعي | ||
واجهة برمجة تطبيقات VertexAI | ||
ذكاء الفيديو | ||
واجهة برمجة تطبيقات خياطة الفيديو | ||
محول الفيديو | ||
رؤية | ||
مخاطر الويب | ||
عمليات تنفيذ سير العمل | ||
سير العمل | ||
واجهة برمجة تطبيقات الوظائف الإضافية لمساحة العمل | ||
محطات العمل | ||
ريكابتشا المؤسسة | ||
واجهة برمجة التطبيقات (API) لمحور API | ||
واجهة برمجة تطبيقات مدير الإعلانات | ||
واجهة برمجة التطبيقات للتحقق من صحة العنوان | ||
مسؤول التحليلات | ||
بيانات التحليلات | ||
مركز التحليلات | ||
أنثوس متعدد السحابة | ||
الخدمة المُدارة لـ Apache Kafka API | ||
واجهة برمجة تطبيقات مركز التطبيقات | ||
مساحة 120 طاولة | ||
النسخ الاحتياطي لGKE | ||
حل المعادن العارية | ||
حزمة | ||
اتصالات تطبيقات BeyondCorp | ||
BeyondCorp AppConnectors | ||
بوابات تطبيقات BeyondCorp | ||
خدمات BeyondCorp ClientConnector | ||
بوابات العميل BeyondCorp | ||
بحيرة كبيرة | ||
واجهة برمجة تطبيقات BigQuery DataPolicy | ||
ترحيل BigQuery | ||
واجهة برمجة تطبيقات CSS | ||
مدير الشهادات | ||
واجهة برمجة تطبيقات الدردشة | ||
التجارة والمشتريات الاستهلاكية | ||
واجهة برمجة تطبيقات الحوسبة السرية | ||
ربط بوابة API | ||
تصنيف البيانات | ||
تدفق البيانات | ||
نموذج البيانات | ||
واجهة برمجة تطبيقات اتصال المطور | ||
ديالوغفلو سي إكس | ||
توثيق مستودع الذكاء الاصطناعي | ||
الرسم البياني المعرفي للمؤسسة | ||
الإبلاغ عن الأخطاء | ||
ايفينتارك للنشر | ||
واجهة برمجة تطبيقات إدارة الأجهزة GDC | ||
واجهة برمجة تطبيقات جرد KMS | ||
علوم الحياة | ||
واجهة برمجة تطبيقات البث المباشر | ||
مُلحق تسجيل الدخول | ||
تسجيل مُهيئ Servlet | ||
واجهة برمجة تطبيقات مجموعات بيانات منصة الخرائط | ||
واجهة برمجة تطبيقات مسؤول منصة التسويق | ||
واجهة برمجة تطبيقات ترجمة الوسائط | ||
تعرف على واجهة برمجة التطبيقات | ||
مخزن الذاكرة لواجهة برمجة تطبيقات Redis | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات التاجر | ||
واجهة برمجة تطبيقات تحويلات التجار | ||
واجهة برمجة تطبيقات LFP للتاجر | ||
واجهة برمجة تطبيقات إشعارات التاجر | ||
واجهة برمجة التطبيقات الخاصة بحصة التاجر | ||
واجهة برمجة تطبيقات مركز الهجرة | ||
نطاقات مقاييس الرصد | ||
NIO موفر نظام الملفات للتخزين | ||
واجهة برمجة تطبيقات نت | ||
واجهة برمجة تطبيقات خدمات الشبكة | ||
قاعدة بيانات أوراكل @ API | ||
واجهة برمجة التطبيقات للمتجر الموازي | ||
الحماية من التصيد الاحتيالي | ||
واجهة برمجة تطبيقات الأماكن (جديدة) | ||
واجهة برمجة تطبيقات رؤى الأماكن | ||
واجهة برمجة تطبيقات محاكي السياسة | ||
كتالوج خاص | ||
واجهة برمجة تطبيقات مدير الوصول المميز | ||
رابط Pub/Sub Lite Flink | ||
واجهة برمجة التطبيقات لتقييم الهجرة السريعة | ||
توصيات منظمة العفو الدولية | ||
واجهة برمجة تطبيقات التسجيل | ||
واجهة برمجة تطبيقات تحسين الطريق | ||
يجري | ||
واجهة برمجة تطبيقات إعدادات مركز القيادة الأمنية | ||
واجهة برمجة تطبيقات صحة الخدمة | ||
واجهة برمجة التطبيقات الشمسية | ||
واجهة برمجة تطبيقات رؤى التخزين | ||
دعم واجهة برمجة التطبيقات | ||
محرك إم وير | ||
واجهة برمجة تطبيقات الرؤية للذكاء الاصطناعي | ||
واجهة برمجة تطبيقات أحداث مساحة العمل |
إذا لم تكن الخدمة مدرجة، واجهات عميل google-api-java مع واجهات برمجة تطبيقات Google Cloud الإضافية باستخدام واجهة REST القديمة.
عند إنشاء تطبيقات Java، يجب إعطاء الأفضلية للمكتبات المدرجة في الجدول.
تتطلب معظم مكتبات google-cloud
معرف مشروع. هناك طرق متعددة لتحديد معرف المشروع هذا.
google-cloud
من داخل Compute/App Engine، ليست هناك حاجة لتحديد معرف المشروع. يتم استنتاجه تلقائيًا من بيئة الإنتاج.google-cloud
في مكان آخر، يمكنك القيام بأحد الإجراءات التالية:قم بتوفير معرف المشروع عند بناء خيارات الخدمة. على سبيل المثال، لاستخدام مخزن البيانات من مشروع بالمعرف "PROJECT_ID"، يمكنك كتابة:
Datastore datastore = DatastoreOptions . newBuilder (). setProjectId ( "PROJECT_ID" ). build (). getService ();
حدد متغير البيئة GOOGLE_CLOUD_PROJECT
ليكون معرف المشروع المطلوب.
قم بتعيين معرف المشروع باستخدام Google Cloud SDK. لاستخدام SDK، قم بتنزيل SDK إذا لم تكن قد قمت بذلك بالفعل، وقم بتعيين معرف المشروع من سطر الأوامر. على سبيل المثال:
gcloud config set project PROJECT_ID
يحدد google-cloud
معرف المشروع من المصادر التالية بالترتيب المدرج، ويتوقف بمجرد العثور على قيمة:
GOOGLE_CLOUD_PROJECT
GOOGLE_APPLICATION_CREDENTIALS
في الحالات التي قد تتوقع فيها المكتبة معرف المشروع بشكل صريح، فإننا نقدم مساعدًا يمكنه توفير معرف المشروع المستنتج:
import com . google . cloud . ServiceOptions ;
...
String projectId = ServiceOptions . getDefaultProjectId ();
يستخدم google-cloud-java
https://github.com/googleapis/google-auth-library-java لمصادقة الطلبات. يدعم google-auth-library-java
نطاقًا واسعًا من أنواع المصادقة؛ راجع README للمشروع وjavadoc لمزيد من التفاصيل.
عند استخدام مكتبات Google Cloud من بيئة Google Cloud Platform مثل Compute Engine أو Kubernetes Engine أو App Engine، لا يلزم اتخاذ خطوات مصادقة إضافية.
على سبيل المثال:
Storage storage = StorageOptions . getDefaultInstance (). getService ();
أو:
CloudTasksClient cloudTasksClient = CloudTasksClient . create ();
قم بإنشاء مفتاح حساب خدمة JSON.
بعد تنزيل هذا المفتاح، يجب عليك القيام بأحد الإجراءات التالية:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
Storage storage = StorageOptions . newBuilder ()
. setCredentials ( ServiceAccountCredentials . fromStream ( new FileInputStream ( "/path/to/my/key.json" )))
. build ()
. getService ();
في حالة التشغيل محليًا للتطوير/الاختبار، يمكنك استخدام Google Cloud SDK. قم بإنشاء بيانات اعتماد افتراضية للتطبيق باستخدام gcloud auth application-default login
، وبعد ذلك سيكتشف google-cloud
بيانات الاعتماد هذه تلقائيًا.
إذا كان لديك بالفعل رمز وصول OAuth2، فيمكنك استخدامه للمصادقة (لاحظ أنه في هذه الحالة، لن يتم تحديث رمز الوصول تلقائيًا):
Credentials credentials = GoogleCredentials . create ( new AccessToken ( accessToken , expirationTime ));
Storage storage = StorageOptions . newBuilder ()
. setCredentials ( credentials )
. build ()
. getService ();
أو:
Credentials credentials = GoogleCredentials . create ( new AccessToken ( accessToken , expirationTime ));
CloudTasksSettings cloudTasksSettings = CloudTasksSettings . newBuilder ()
. setCredentialProvider ( FixedCredentialsProvider . create ( credentials ))
. build ();
CloudTasksClient cloudTasksClient = CloudTasksClient . create ( cloudTasksSettings );
إذا لم يتم توفير بيانات اعتماد، فسيحاول google-cloud
اكتشافها من البيئة باستخدام GoogleCredentials.getApplicationDefault()
الذي سيبحث عن بيانات اعتماد التطبيق الافتراضية في المواقع التالية (بالترتيب):
GOOGLE_APPLICATION_CREDENTIALS
gcloud auth application-default login
يتم دعم المصادقة باستخدام مفاتيح واجهة برمجة التطبيقات (API Keys) من خلال عدد قليل من واجهات برمجة تطبيقات Google Cloud.
نحن نعمل بنشاط على استكشاف طرق لتحسين تجربة مفتاح واجهة برمجة التطبيقات (API Key). حاليًا، لاستخدام مفتاح API مع مكتبة عملاء Java، تحتاج إلى تعيين رأس عميل الخدمة ذي الصلة يدويًا.
على سبيل المثال، لتعيين مفتاح API مع خدمة اللغة:
public LanguageServiceClient createGrpcClientWithApiKey ( String apiKey ) throws Exception {
// Manually set the api key via the header
Map < String , String > header = new HashMap < String , String >() { { put ( "x-goog-api-key" , apiKey );}};
FixedHeaderProvider headerProvider = FixedHeaderProvider . create ( header );
// Create the client
TransportChannelProvider transportChannelProvider = InstantiatingGrpcChannelProvider . newBuilder (). setHeaderProvider ( headerProvider ). build ();
LanguageServiceSettings settings = LanguageServiceSettings . newBuilder (). setTransportChannelProvider ( transportChannelProvider ). build ();
LanguageServiceClient client = LanguageServiceClient . create ( settings );
return client ;
}
مثال على إنشاء مثيل مع عميل اللغة باستخدام الراحة:
public LanguageServiceClient createRestClientWithApiKey ( String apiKey ) throws Exception {
// Manually set the api key header
Map < String , String > header = new HashMap < String , String >() { { put ( "x-goog-api-key" , apiKey );}};
FixedHeaderProvider headerProvider = FixedHeaderProvider . create ( header );
// Create the client
TransportChannelProvider transportChannelProvider = InstantiatingHttpJsonChannelProvider . newBuilder (). setHeaderProvider ( headerProvider ). build ();
LanguageServiceSettings settings = LanguageServiceSettings . newBuilder (). setTransportChannelProvider ( transportChannelProvider ). build ();
LanguageServiceClient client = LanguageServiceClient . create ( settings );
return client ;
}
للحصول على المساعدة، اتبع الإرشادات الموجودة في مستند استكشاف الأخطاء وإصلاحها.
تستخدم مكتبات عملاء Google Cloud HTTPS وgRPC في الاتصال الأساسي مع الخدمات. في كلا البروتوكولين، يمكنك تكوين وكيل باستخدام https.proxyHost
وخصائص https.proxyPort
(الاختيارية).
للحصول على وكيل أكثر تخصيصًا باستخدام gRPC، ستحتاج إلى توفير ProxyDetector
إلى ManagedChannelBuilder
:
import com . google . api . core . ApiFunction ;
import com . google . api . gax . rpc . TransportChannelProvider ;
import com . google . cloud . tasks . v2 . CloudTasksClient ;
import com . google . cloud . tasks . v2 . CloudTasksSettings ;
import com . google . cloud . tasks . v2 . stub . CloudTasksStubSettings ;
import io . grpc . HttpConnectProxiedSocketAddress ;
import io . grpc . ManagedChannelBuilder ;
import io . grpc . ProxiedSocketAddress ;
import io . grpc . ProxyDetector ;
import javax . annotation . Nullable ;
import java . io . IOException ;
import java . net . InetSocketAddress ;
import java . net . SocketAddress ;
public CloudTasksClient getService () throws IOException {
TransportChannelProvider transportChannelProvider =
CloudTasksStubSettings . defaultGrpcTransportProviderBuilder ()
. setChannelConfigurator (
new ApiFunction < ManagedChannelBuilder , ManagedChannelBuilder >() {
@ Override
public ManagedChannelBuilder apply ( ManagedChannelBuilder managedChannelBuilder ) {
return managedChannelBuilder . proxyDetector (
new ProxyDetector () {
@ Nullable
@ Override
public ProxiedSocketAddress proxyFor ( SocketAddress socketAddress )
throws IOException {
return HttpConnectProxiedSocketAddress . newBuilder ()
. setUsername ( PROXY_USERNAME )
. setPassword ( PROXY_PASSWORD )
. setProxyAddress ( new InetSocketAddress ( PROXY_HOST , PROXY_PORT ))
. setTargetAddress (( InetSocketAddress ) socketAddress )
. build ();
}
});
}
})
. build ();
CloudTasksSettings cloudTasksSettings =
CloudTasksSettings . newBuilder ()
. setTransportChannelProvider ( transportChannelProvider )
. build ();
return CloudTasksClient . create ( cloudTasksSettings );
}
غالبًا ما يتم استخدام العمليات طويلة المدى (LROs) لاستدعاءات واجهة برمجة التطبيقات (API) التي من المتوقع أن تستغرق وقتًا طويلاً حتى تكتمل (على سبيل المثال، توفير مثيل GCE أو خط أنابيب Dataflow). يقوم استدعاء API الأولي بإنشاء "عملية" على الخادم وإرجاع معرف العملية لتتبع تقدمها. تحتوي RPCs LRO على اللاحقة Async
الملحقة باسم المكالمة (على سبيل المثال، clusterControllerClient.createClusterAsync()
)
يوفر عملاؤنا الذين تم إنشاؤهم واجهة رائعة لبدء العملية ثم انتظار اكتمال العملية. يتم تحقيق ذلك عن طريق إرجاع OperationFuture
. عند استدعاء get()
على OperationFuture
، ستقوم مكتبة العميل باستقصاء العملية للتحقق من حالة العملية.
على سبيل المثال، خذ نموذجًا لعملية createCluster
في google-cloud-dataproc v4.20.0:
try ( ClusterControllerClient clusterControllerClient = ClusterControllerClient . create ()) {
CreateClusterRequest request =
CreateClusterRequest . newBuilder ()
. setProjectId ( "{PROJECT_ID}" )
. setRegion ( "{REGION}" )
. setCluster ( Cluster . newBuilder (). build ())
. setRequestId ( "{REQUEST_ID}" )
. setActionOnFailedPrimaryWorkers ( FailureAction . forNumber ( 0 ))
. build ();
OperationFuture < Cluster , ClusterOperationMetadata > future =
clusterControllerClient . createClusterOperationCallable (). futureCall ( request );
// Do something.
Cluster response = future . get ();
} catch ( CancellationException e ) {
// Exceeded the default RPC timeout without the Operation completing.
// Library is no longer polling for the Operation status. Consider
// increasing the timeout.
}
تتمتع عمليات الاستقصاء بمهلة افتراضية تختلف من خدمة إلى أخرى. ستقوم المكتبة بطرح java.util.concurrent.CancellationException
مع الرسالة: Task was cancelled.
إذا تجاوزت المهلة العملية. لا يعني CancellationException
أنه تم إلغاء عملية GCP الخلفية. يتم طرح هذا الاستثناء من مكتبة العميل عندما يتجاوز إجمالي المهلة دون تلقي حالة نجاح من العملية. تحترم مكتبات عملائنا القيم التي تم تكوينها في OperationTimedPollAlgorithm لكل RPC.
ملاحظة: تتولى مكتبة العميل آلية استقصاء العملية نيابةً عنك. افتراضيًا، ليست هناك حاجة لاستقصاء الحالة يدويًا بنفسك.
يحتوي كل LRO RPC على مجموعة من القيم الافتراضية المكونة مسبقًا. يمكنك العثور على هذه القيم من خلال البحث في فئة StubSettings
الخاصة بكل عميل. تتم تهيئة إعدادات LRO الافتراضية داخل طريقة initDefaults()
في فئة Builder المتداخلة.
على سبيل المثال، في google-cloud-aiplatform v3.24.0، يكون لخوارزمية OperationTimedPollAlgorithm الافتراضية هذه القيم الافتراضية:
OperationTimedPollAlgorithm . create (
RetrySettings . newBuilder ()
. setInitialRetryDelay ( Duration . ofMillis ( 5000L ))
. setRetryDelayMultiplier ( 1.5 )
. setMaxRetryDelay ( Duration . ofMillis ( 45000L ))
. setInitialRpcTimeout ( Duration . ZERO )
. setRpcTimeoutMultiplier ( 1.0 )
. setMaxRpcTimeout ( Duration . ZERO )
. setTotalTimeout ( Duration . ofMillis ( 300000L ))
. build ())
تشترك كل من عمليات إعادة المحاولة وLROs في نفس فئة RetrySettings. لاحظ الرابط المقابل:
ليس لقيم مهلة RPC أي فائدة في LROs ويمكن حذفها أو تعيينها على القيم الافتراضية ( Duration.ZERO
للمهلات أو 1.0
للمضاعف).
لتكوين قيم LRO، قم بإنشاء كائن OperationTimedPollAlgorithm وقم بتحديث خوارزمية الاستقصاء الخاصة بـ RPC. على سبيل المثال:
ClusterControllerSettings . Builder settingsBuilder = ClusterControllerSettings . newBuilder ();
TimedRetryAlgorithm timedRetryAlgorithm = OperationTimedPollAlgorithm . create (
RetrySettings . newBuilder ()
. setInitialRetryDelay ( Duration . ofMillis ( 500L ))
. setRetryDelayMultiplier ( 1.5 )
. setMaxRetryDelay ( Duration . ofMillis ( 5000L ))
. setInitialRpcTimeout ( Duration . ZERO ) // ignored
. setRpcTimeoutMultiplier ( 1.0 ) // ignored
. setMaxRpcTimeout ( Duration . ZERO ) // ignored
. setTotalTimeout ( Duration . ofHours ( 24L )) // set polling timeout to 24 hours
. build ());
settingsBuilder . createClusterOperationSettings ()
. setPollingAlgorithm ( timedRetryAlgorithm );
ClusterControllerClient clusterControllerClient = ClusterControllerClient . create ( settingsBuilder . build ());
ملاحظة: يقوم التكوين أعلاه فقط بتعديل قيم LRO الخاصة بـ createClusterOperation
RPC. ستظل RPCs الأخرى في العميل تستخدم قيم LRO التي تم تكوينها مسبقًا لكل RPC.
إذا كنت تستخدم أكثر من مكتبة عميل Google Cloud، فنوصيك باستخدام إحدى عناصر قائمة المواد (BOM) الخاصة بنا للمساعدة في إدارة إصدارات التبعية. لمزيد من المعلومات، راجع استخدام مكتبات Cloud Client.
مطلوب Java 8 أو أعلى لاستخدام العملاء في هذا المستودع.
يستخدم العملاء في هذا المستودع إما HTTP أو gRPC لطبقة النقل. يجب أن يعمل كافة العملاء المستندين إلى HTTP في كافة البيئات.
بالنسبة للعملاء الذين يستخدمون gRPC، فإن الأنظمة الأساسية المدعومة مقيدة بالأنظمة الأساسية التي يدعمها Forked Tomcat Native، والتي تعني بالنسبة للبنيات x86_64 فقط، وبالنسبة لأنظمة التشغيل تعني Mac OS X وWindows وLinux. بالإضافة إلى ذلك، يقيد gRPC استخدام الأنظمة الأساسية مع قيود الترابط.
وبالتالي، لا يتم دعم ما يلي:
يجب أن تعمل البيئات التالية (من بين بيئات أخرى):
توفر هذه المكتبة أدوات للمساعدة في كتابة اختبارات التعليمات البرمجية التي تستخدم خدمات Google السحابية.
راجع الاختبار لقراءة المزيد حول استخدام مساعدي الاختبار لدينا.
تتبع هذه المكتبة الإصدار الدلالي، مع بعض المؤهلات الإضافية:
تعتبر المكونات المميزة بـ @BetaApi
أو @Experimental
بمثابة ميزات "0.x" داخل مكتبة "1.x". وهذا يعني أنه يمكنهم التغيير بين الإصدارات الثانوية وإصدارات التصحيح بطرق غير متوافقة. لا ينبغي استخدام هذه الميزات بواسطة أي مكتبة "ب" لديها مستهلكين بحد ذاتها، ما لم يتم أيضًا تمييز مكونات المكتبة "ب" التي تستخدم ميزات @BetaApi
بـ @BetaApi
. الميزات التي تم وضع علامة عليها @BetaApi
في طريقها لتصبح في النهاية ميزات "1.x" مع إزالة العلامة.
استثناء خاص لـ google-cloud-Java : يُسمح لـ google-cloud-Java بالاعتماد على ميزات @BetaApi
في gax-Java دون الإعلان عن كود الاستهلاك @BetaApi
، لأن gax-Java وgoogle-cloud-Java يتحركان جنبًا إلى جنب . لهذا السبب، لا ينبغي استخدام gax-Java بشكل مستقل عن google-cloud-Java.
المكونات المميزة بـ @InternalApi
هي عامة من الناحية الفنية، ولكن فقط بسبب القيود المفروضة على معدلات الوصول في Java. ولأغراض سيمفر، ينبغي اعتبارها خاصة.
الواجهات المميزة بـ @InternalExtensionOnly
هي واجهات عامة، ولكن يجب تنفيذها فقط بواسطة الفئات الداخلية. ولأغراض semver، نحتفظ بالحق في الإضافة إلى هذه الواجهات دون تطبيقات افتراضية (لـ Java 7).
يرجى ملاحظة أن هؤلاء العملاء قيد التطوير النشط حاليًا. أي إصدار بإصدار 0.xy يخضع لتغييرات غير متوافقة مع الإصدارات السابقة في أي وقت.
من المتوقع أن تكون المكتبات المحددة بمستوى جودة مستقر مستقرة، كما يتم ضمان توافق جميع التحديثات في المكتبات مع الإصدارات السابقة. ستؤدي أي تغييرات غير متوافقة مع الإصدارات السابقة إلى زيادة الإصدار الرئيسي (1.xy -> 2.0.0).
لا تزال المكتبات المحددة على مستوى جودة المعاينة قيد التنفيذ ومن المرجح أن تحصل على تحديثات غير متوافقة مع الإصدارات السابقة. بالإضافة إلى ذلك، من الممكن أن يتم إهمال مكتبات المعاينة وحذفها قبل ترقيتها إلى معاينة أو مستقرة.
إذا كنت تستخدم IntelliJ أو Eclipse، فيمكنك إضافة مكتبات العميل إلى مشروعك باستخدام مكونات IDE الإضافية التالية:
إلى جانب إضافة مكتبات العملاء، توفر المكونات الإضافية وظائف إضافية، مثل إدارة مفاتيح حساب الخدمة. راجع الوثائق الخاصة بكل مكون إضافي لمزيد من التفاصيل.
يمكن استخدام مكتبات العملاء هذه على App Engine القياسي لوقت تشغيل Java 8 وApp Engine المرن (بما في ذلك وقت تشغيل Compat). لا تعمل معظم المكتبات وفقًا لمعايير App Engine لوقت تشغيل Java 7. ومع ذلك، يجب أن يعمل كل من Datastore وStorage وBigquery.
نرحب دائمًا بالمساهمات في هذه المكتبة ونشجعها بشدة.
راجع وثائق المساهمة الخاصة بـ google-cloud
والوثائق المشتركة لمزيد من المعلومات حول كيفية البدء.
يرجى ملاحظة أن هذا المشروع تم إصداره مع قواعد سلوك المساهمين. بمشاركتك في هذا المشروع فإنك توافق على الالتزام بشروطه. راجع قواعد السلوك لمزيد من المعلومات.
Apache 2.0 - راجع الترخيص لمزيد من المعلومات.