Google Cloud IoT Core 将于 2023 年 8 月 16 日停用。如需了解详情,请与您的 Google Cloud 客户支持团队联系。


使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

删除具有指定 ID 的网关。



use Google\Cloud\Iot\V1\DeviceManagerClient;

 * Delete the gateway with the given id.
 * @param string $registryId IOT Device Registry ID
 * @param string $gatewayId ID for the gateway to delete
 * @param string $projectId Google Cloud project ID
 * @param string $location (Optional) Google Cloud region
function delete_gateway(
    $location = 'us-central1'
) {
    print('Deleting Gateway' . PHP_EOL);

    // Instantiate a client.
    $deviceManager = new DeviceManagerClient();
    $gatewayName = $deviceManager->deviceName($projectId, $location, $registryId, $gatewayId);

    // TODO: unbind all bound devices when list_devices_for_gateway
    // is working
    $response = $deviceManager->deleteDevice($gatewayName);

    printf('Deleted %s' . PHP_EOL, $gatewayName);


# project_id  = "Your Google Cloud project ID"
# location_id = "The Cloud region the registry is located in"
# registry_id = "The registry to create a device in"
# gateway_id   = "The identifier of the gateway to delete"

require "google/apis/cloudiot_v1"

# Initialize the client and authenticate with the specified scope
Cloudiot   = Google::Apis::CloudiotV1
iot_client =
iot_client.authorization = Google::Auth.get_application_default(

# The resource name of the location associated with the project
parent = "projects/#{project_id}/locations/#{location_id}"
device_path = "#{parent}/registries/#{registry_id}/devices/#{gateway_id}"

# TODO: unbind all devices?
# Delete the gateway
result = iot_client.delete_project_location_registry_device(

puts "Deleted gateway."


如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器