首页 > 解决方案 > 创建错误条件:google.api_core.exceptions.NotFound: 404 Not found: URI

问题描述

我想知道如果您在云存储中找不到 csv 文件,是否可以创建条件,终止脚本(例如打印)。

def insert_bigquery(target_uri, dataset_id, table_id):
    bigquery_client = bigquery.Client()
    dataset_ref = bigquery_client.dataset(dataset_id)
    job_config = bigquery.LoadJobConfig()
    job_config.schema = [
        bigquery.SchemaField('id','STRING',mode='REQUIRED')
    ]
    job_config.source_format = bigquery.SourceFormat.CSV
    job_config.field_delimiter = ";"
    uri = target_uri
    load_job = bigquery_client.load_table_from_uri(
        uri,
        dataset_ref.table(table_id),
        job_config=job_config
        )
    print('Starting job {}'.format(load_job.job_id))
    load_job.result()
    print('Job finished.')

insert_bigquery(bucket_name, dataset, tabela)

标签: pythongoogle-bigquery

解决方案


由于我不知道将要出现的 csv,因此我进行了目录级别的测试并且它起作用了。

def blob_exists():
    client = storage.Client()
    bucket = client.get_bucket('bucket_name')
    bb = bucket.list_blobs(prefix='test_directory')
    for resource in bb:
        print(resource.name)
        blob = bucket.blob(resource.name)
        return blob.exists()

a = blob_exists()

if a is True:
    print("OK")
else:
    print("Not found")

推荐阅读