Google Cloud Vision 運算元

先決任務

要使用這些運算元,您必須完成一些事項

CloudVisionAddProductToProductSetOperator

建立一個新的 ReferenceImage 資源。

有關引數定義,請參閱 CloudVisionAddProductToProductSetOperator

使用運算元

我們使用 Google 庫中的 ProductProductSetRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ProductSet  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import Product  # isort:skip

如果 product_set_idproduct_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

add_product_to_product_set = CloudVisionAddProductToProductSetOperator(
    location=LOCATION,
    product_set_id=product_set_create_output,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="add_product_to_product_set",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

add_product_to_product_set_2 = CloudVisionAddProductToProductSetOperator(
    location=LOCATION,
    product_set_id=GCP_VISION_PRODUCT_SET_ID,
    product_id=GCP_VISION_PRODUCT_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="add_product_to_product_set_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "product_set_id",
    "product_id",
    "project_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Add Product To Product Set 文件

CloudVisionImageAnnotateOperator

對影像執行影像檢測和標註。

有關引數定義,請參閱 CloudVisionImageAnnotateOperator

使用運算元

我們使用 Google 庫中的 enumsRetry 物件

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.cloud.vision_v1 import Feature  # isort:skip
from system.google import DEFAULT_GCP_SYSTEM_TEST_PROJECT_ID

tests/system/google/cloud/vision/example_vision_annotate_image.py

annotate_image = CloudVisionImageAnnotateOperator(
    request=annotate_image_request,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="annotate_image",
)

結果可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_annotate_image.py

annotate_image_result = BashOperator(
    bash_command="echo {{ task_instance.xcom_pull('annotate_image')"
    "['logoAnnotations'][0]['description'] }}",
    task_id="annotate_image_result",
)

模板化

template_fields: Sequence[str] = (
    "request",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Annotate Image 文件

CloudVisionCreateProductOperator

建立並返回一個新的產品資源。

關於提供的 Product 物件可能出現的錯誤

  • 如果 display_name 缺失或長度超過 4096 個字元,則返回 INVALID_ARGUMENT。

  • 如果 description 長度超過 4096 個字元,則返回 INVALID_ARGUMENT。

  • 如果 product_category 缺失或無效,則返回 INVALID_ARGUMENT。

有關引數定義,請參閱 CloudVisionCreateProductOperator

使用運算元

我們使用 Google 庫中的 ProductRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import Product  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

product = Product(display_name="My Product 1", product_category="toys")

product_id 引數可以省略(它將由 API 生成)

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_create = CloudVisionCreateProductOperator(
    location=LOCATION,
    product=product,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="product_create",
)

或者可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_create_2 = CloudVisionCreateProductOperator(
    product_id=GCP_VISION_PRODUCT_ID,
    location=LOCATION,
    product=product,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="product_create_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Product 建立文件

CloudVisionDeleteProductOperator

永久刪除一個產品及其參考影像。

產品的元資料及其所有影像將立即刪除,但包含該產品的 ProductSets 上的搜尋查詢可能仍然有效,直到所有相關快取重新整理。

可能出現的錯誤

  • 如果產品不存在,則返回 NOT_FOUND。

有關引數定義,請參閱 CloudVisionDeleteProductOperator

使用運算元

如果 product_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_delete = CloudVisionDeleteProductOperator(
    location=LOCATION,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    task_id="product_delete",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_delete_2 = CloudVisionDeleteProductOperator(
    location=LOCATION, product_id=GCP_VISION_PRODUCT_ID, task_id="product_delete_2"
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Product 刪除文件

CloudVisionGetProductOperator

獲取與 Product 相關的資訊。

可能出現的錯誤

  • 如果 Product 不存在,則返回 NOT_FOUND。

有關引數定義,請參閱 CloudVisionGetProductOperator

使用運算元

如果 product_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_get = CloudVisionGetProductOperator(
    location=LOCATION,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    task_id="product_get",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_get_2 = CloudVisionGetProductOperator(
    location=LOCATION, product_id=GCP_VISION_PRODUCT_ID, task_id="product_get_2"
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Product 獲取文件

CloudVisionProductSetCreateOperator

建立一個新的 ProductSet 資源。

有關引數定義,請參閱 CloudVisionCreateProductSetOperator

使用運算元

我們使用 Google 庫中的 ProductSetRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ProductSet  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set = ProductSet(display_name="My Product Set")

product_set_id 引數可以省略(它將由 API 生成)

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set_create = CloudVisionCreateProductSetOperator(
    location=LOCATION,
    product_set=product_set,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="product_set_create",
)

或者可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_set_create_2 = CloudVisionCreateProductSetOperator(
    product_set_id=GCP_VISION_PRODUCT_SET_ID,
    location=LOCATION,
    product_set=product_set,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="product_set_create_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_set_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ProductSet 建立文件

CloudVisionDeleteProductSetOperator

永久刪除一個 ProductSetProductSet 中的 ProductsReferenceImages 不會被刪除。實際的影像檔案不會從 Google Cloud Storage 中刪除。

有關引數定義,請參閱 CloudVisionDeleteProductSetOperator

使用運算元

如果 product_set_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set_delete = CloudVisionDeleteProductSetOperator(
    location=LOCATION,
    product_set_id=product_set_create_output,
    task_id="product_set_delete",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_set_delete_2 = CloudVisionDeleteProductSetOperator(
    location=LOCATION, product_set_id=GCP_VISION_PRODUCT_SET_ID, task_id="product_set_delete_2"
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_set_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ProductSet 刪除文件

CloudVisionGetProductSetOperator

獲取與 ProductSet 相關的資訊。

有關引數定義,請參閱 CloudVisionGetProductSetOperator

使用運算元

如果 product_set_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set_get = CloudVisionGetProductSetOperator(
    location=LOCATION,
    product_set_id=product_set_create_output,
    task_id="product_set_get",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_set_get_2 = CloudVisionGetProductSetOperator(
    location=LOCATION, product_set_id=GCP_VISION_PRODUCT_SET_ID, task_id="product_set_get_2"
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_set_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ProductSet 獲取文件

CloudVisionUpdateProductSetOperator

更改 ProductSet 資源。當前只能更新 display_name

注意

要定位 ProductSet 資源,其 name 的形式 projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID 是必需的。

您可以將 name 直接作為 product_set 物件的屬性提供。或者,您可以將其留空,而是提供 locationproduct_set_id(以及可選的 project_id - 如果未提供,將使用連線預設值),name 將由運算元本身建立。

此機制旨在方便您,允許將 project_id 留空,並讓 Airflow 使用連線預設的 project_id

有關引數定義,請參閱 CloudVisionUpdateProductSetOperator

使用運算元

我們使用 Google Cloud Vision 庫中的 ProductSet 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ProductSet  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set = ProductSet(display_name="My Product Set")

任務初始化

如果 product_set_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_set_update = CloudVisionUpdateProductSetOperator(
    location=LOCATION,
    product_set_id=product_set_create_output,
    product_set=ProductSet(display_name="My Product Set 2"),
    task_id="product_set_update",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_set_update_2 = CloudVisionUpdateProductSetOperator(
    location=LOCATION,
    product_set_id=GCP_VISION_PRODUCT_SET_ID,
    product_set=ProductSet(display_name="My Product Set 2"),
    task_id="product_set_update_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_set_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ProductSet 更新文件

CloudVisionUpdateProductOperator

更改 Product 資源。當前只能更新 display_namedescriptionlabels 欄位。如果 labels 更新了,更改直到下次索引時才會反映在查詢中。

注意

要定位 Product 資源,其 name 的形式 projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID 是必需的。

您可以將 name 直接作為 product 物件的屬性提供。或者,您可以將其留空,而是提供 locationproduct_id(以及可選的 project_id - 如果未提供,將使用連線預設值),name 將由運算元本身建立。

此機制旨在方便您,允許將 project_id 留空,並讓 Airflow 使用連線預設的 project_id

可能出現的錯誤

  • 如果 Product 不存在,則返回 NOT_FOUND。

  • 如果 display_name 存在於 update_mask 中但請求中缺失或長度超過 4096 個字元,則返回 INVALID_ARGUMENT。

  • 如果 description 存在於 update_mask 中但長度超過 4096 個字元,則返回 INVALID_ARGUMENT。

  • 如果 product_category 存在於 update_mask 中,則返回 INVALID_ARGUMENT。

有關引數定義,請參閱 CloudVisionUpdateProductOperator

使用運算元

我們使用 Google Cloud Vision 庫中的 Product 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import Product  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

product = Product(display_name="My Product 1", product_category="toys")

如果 product_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

product_update = CloudVisionUpdateProductOperator(
    location=LOCATION,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    product=Product(display_name="My Product 2", description="My updated description"),
    task_id="product_update",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

product_update_2 = CloudVisionUpdateProductOperator(
    location=LOCATION,
    product_id=GCP_VISION_PRODUCT_ID,
    product=Product(display_name="My Product 2", description="My updated description"),
    task_id="product_update_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "project_id",
    "product_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Product 更新文件

CloudVisionCreateReferenceImageOperator

建立一個新的 ReferenceImage 資源。

有關引數定義,請參閱 CloudVisionCreateReferenceImageOperator

使用運算元

我們使用 Google 庫中的 ReferenceImageRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ReferenceImage  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

reference_image = ReferenceImage(uri=VISION_IMAGE_URL)

product_set_id 引數可以省略(它將由 API 生成)

tests/system/google/cloud/vision/example_vision_autogenerated.py

reference_image_create = CloudVisionCreateReferenceImageOperator(
    location=LOCATION,
    reference_image=reference_image,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    reference_image_id=GCP_VISION_REFERENCE_IMAGE_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="reference_image_create",
)

或者可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

reference_image_create_2 = CloudVisionCreateReferenceImageOperator(
    location=LOCATION,
    reference_image=reference_image,
    product_id=GCP_VISION_PRODUCT_ID,
    reference_image_id=GCP_VISION_REFERENCE_IMAGE_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="reference_image_create_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "reference_image",
    "product_id",
    "reference_image_id",
    "project_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ReferenceImage 建立文件

CloudVisionDeleteReferenceImageOperator

刪除一個 ReferenceImage 資源。

有關引數定義,請參閱 CloudVisionDeleteReferenceImageOperator

使用運算元

我們使用 Google 庫中的 ReferenceImageRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ReferenceImage  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

reference_image = ReferenceImage(uri=VISION_IMAGE_URL)

product_set_id 引數可以省略(它將由 API 生成)

tests/system/google/cloud/vision/example_vision_autogenerated.py

reference_image_delete = CloudVisionDeleteReferenceImageOperator(
    location=LOCATION,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    reference_image_id=GCP_VISION_REFERENCE_IMAGE_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="reference_image_delete",
)

或者可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

reference_image_delete_2 = CloudVisionDeleteReferenceImageOperator(
    location=LOCATION,
    reference_image_id=GCP_VISION_REFERENCE_IMAGE_ID,
    product_id=GCP_VISION_PRODUCT_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="reference_image_delete_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "reference_image",
    "product_id",
    "reference_image_id",
    "project_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision ReferenceImage 刪除文件

CloudVisionRemoveProductFromProductSetOperator

建立一個新的 ReferenceImage 資源。

有關引數定義,請參閱 CloudVisionRemoveProductFromProductSetOperator

使用運算元

我們使用 Google 庫中的 ProductProductSetRetry 物件

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import ProductSet  # isort:skip

tests/system/google/cloud/vision/example_vision_autogenerated.py

from google.cloud.vision_v1.types import Product  # isort:skip

如果 product_set_idproduct_id 是由 API 生成的,可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_autogenerated.py

remove_product_from_product_set = CloudVisionRemoveProductFromProductSetOperator(
    location=LOCATION,
    product_set_id=product_set_create_output,
    product_id="{{ task_instance.xcom_pull('product_create') }}",
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="remove_product_from_product_set",
)

否則可以明確指定

tests/system/google/cloud/vision/example_vision_explicit.py

remove_product_from_product_set_2 = CloudVisionRemoveProductFromProductSetOperator(
    location=LOCATION,
    product_set_id=GCP_VISION_PRODUCT_SET_ID,
    product_id=GCP_VISION_PRODUCT_ID,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="remove_product_from_product_set_2",
)

模板化

template_fields: Sequence[str] = (
    "location",
    "product_set_id",
    "product_id",
    "project_id",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision Remove Product From Product Set 文件

CloudVisionDetectTextOperator

對影像執行文字檢測。

有關引數定義,請參閱 CloudVisionDetectTextOperator

使用運算元

我們使用 Google 庫中的 Retry 物件

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_text = CloudVisionDetectTextOperator(
    image=DETECT_IMAGE,
    retry=Retry(maximum=10.0),
    timeout=5,
    task_id="detect_text",
    language_hints="en",
    web_detection_params={"include_geo_results": True},
)

結果可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_text_result = BashOperator(
    bash_command="echo {{ task_instance.xcom_pull('detect_text')['textAnnotations'][0] }}",
    task_id="detect_text_result",
)

模板化

template_fields: Sequence[str] = (
    "image",
    "max_results",
    "timeout",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision 文字檢測文件

CloudVisionTextDetectOperator

對影像執行文件文字檢測。

有關引數定義,請參閱 CloudVisionTextDetectOperator

使用運算元

我們使用 Google 庫中的 Retry 物件

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_annotate_image.py

document_detect_text = CloudVisionTextDetectOperator(
    image=DETECT_IMAGE, retry=Retry(maximum=10.0), timeout=5, task_id="document_detect_text"
)

結果可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_annotate_image.py

document_detect_text_result = BashOperator(
    bash_command="echo {{ task_instance.xcom_pull('document_detect_text')['textAnnotations'][0] }}",
    task_id="document_detect_text_result",
)

模板化

template_fields: Sequence[str] = (
    "image",
    "max_results",
    "timeout",
    "gcp_conn_id",
    "impersonation_chain",
)  # Iterable[str]

更多資訊

請參閱 Google Cloud Vision 文件文字檢測文件

CloudVisionDetectImageLabelsOperator

對影像執行影像標籤檢測。

有關引數定義,請參閱 CloudVisionDetectImageLabelsOperator

使用運算元

我們使用 Google 庫中的 Retry 物件

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_labels = CloudVisionDetectImageLabelsOperator(
    image=DETECT_IMAGE, retry=Retry(maximum=10.0), timeout=5, task_id="detect_labels"
)

結果可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_labels_result = BashOperator(
    bash_command="echo {{ task_instance.xcom_pull('detect_labels')['labelAnnotations'][0] }}",
    task_id="detect_labels_result",
)

模板化

template_fields: Sequence[str] = (
    "image",
    "max_results",
    "timeout",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision 標籤檢測文件

CloudVisionDetectImageSafeSearchOperator

對影像執行影像標籤檢測。

有關引數定義,請參閱 CloudVisionDetectImageSafeSearchOperator

使用運算元

我們使用 Google 庫中的 Retry 物件

tests/system/google/cloud/vision/example_vision_annotate_image.py

from google.api_core.retry import Retry  # isort:skip

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_safe_search = CloudVisionDetectImageSafeSearchOperator(
    image=DETECT_IMAGE, retry=Retry(maximum=10.0), timeout=5, task_id="detect_safe_search"
)

結果可以從 XCOM 中提取

tests/system/google/cloud/vision/example_vision_annotate_image.py

detect_safe_search_result = BashOperator(
    bash_command=f"echo {detect_safe_search.output}",
    task_id="detect_safe_search_result",
)

模板化

template_fields: Sequence[str] = (
    "image",
    "max_results",
    "timeout",
    "gcp_conn_id",
    "impersonation_chain",
)

更多資訊

請參閱 Google Cloud Vision 安全搜尋檢測文件

參考

更多資訊請參閱

此條目是否有幫助?