diff --git a/gcp_docs.ipynb b/gcp_docs.ipynb index fdfc338..3cdc034 100644 --- a/gcp_docs.ipynb +++ b/gcp_docs.ipynb @@ -1421,14 +1421,611 @@ } ], "source": [ - "art_body = soupy.select('.devsite-article-body')\n", - "art_body" + "art_body = soupy.select('.devsite-article-body')" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "3a2263cb-694d-490c-8fd3-57a53e8dabfc", + "metadata": {}, + "outputs": [], + "source": [ + "content = \"\"\n", + "for ab in art_body:\n", + " a_tags = ab.find_all('a')\n", + " for a_tag in a_tags:\n", + " a_tag.decompose()\n", + " content += ab.get_text(separator=\"\\n\").strip()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "ff87addb-f13c-4884-957b-fbffe47b2d4e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Preview\\n \\n — Eventarc Advanced\\n \\n\\n\\n\\n\\n\\n \\n \\n This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\\n of the \\n.\\n \\n Pre-GA features are available \"as is\" and might have limited support.\\n \\n For more information, see the\\n \\n.\\n \\n\\n\\n\\n\\nEventarc lets you build event-driven architectures without having to implement,\\n customize, or maintain the underlying infrastructure.\\n\\n\\nEventarc is offered in two editions: \\nEventarc Advanced\\n and\\n \\nEventarc Standard\\n.\\n\\n\\nBoth editions offer a scalable, serverless, and fully managed eventing solution that lets you\\n asynchronously route messages from sources to targets using loosely coupled services that are\\n triggered by and react to state changes known as \\nevents\\n. Both editions support a range of\\n event providers and destinations—including Google Cloud services, custom applications, SaaS\\n applications, and third-party services—while managing delivery, security, authorization,\\n observability, and error-handling for you.\\n\\n\\nNote that the underlying data model for both editions of Eventarc is the same. As\\n a use case grows in complexity, you have the option of seamlessly transitioning from using\\n Eventarc Standard to using Eventarc Advanced.\\n\\n\\nEditions overview\\n\\n\\nThe following is an overview of both editions. For more detailed information, see the\\n \\n and the\\n \\n.\\n\\n\\n\\n\\n\\nEventarc Advanced\\n\\n\\nEventarc Advanced is a fully managed platform for building event-driven\\n architectures. It lets you collect events that occur in a system and publish them to a central\\n bus. Interested services can subscribe to specific messages by creating enrollments. You\\n can use the bus to route events from multiple sources in real time and publish them to\\n multiple destinations, and optionally transform events prior to delivery to a target.\\n Eventarc Advanced is feature rich and is ideal for organizations with\\n complex eventing and messaging needs, particularly those grappling with managing numerous\\n Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\\n administrators with enhanced and centralized visibility and control,\\n Eventarc Advanced enables organizations to connect multiple teams across\\n different projects.\\n\\n\\n\\n\\n\\n\\nEventarc Advanced lets you receive, filter,\\n transform, route, and deliver messages\\nbetween different event providers and\\n destinations (click diagram to enlarge).\\n\\n\\n\\n\\n\\n\\nEventarc Standard\\n\\n\\nEventarc Standard is recommended for applications where the focus is on simply\\n delivering events from event provider to event destination. It lets you quickly and easily\\n consume Google events by defining triggers that filter inbound events according to their source,\\n type, and other attributes, and then route them to a specified destination.\\n\\n\\n\\n\\n\\n\\nEventarc Standard lets you filter and\\n route events\\nfrom event providers to event destinations (click diagram to enlarge).\\n\\n\\n\\n\\n\\n\\n\\n\\nFeatures comparison table\\n\\n\\nThe following table can help you choose between Eventarc Advanced and\\nEventarc Standard. It assumes your familiarity with the basic concepts of\\n\\n \\n.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFeature\\n\\n\\nEventarc Advanced\\n\\n\\nEventarc Standard\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nAccess control\\n\\n\\nPer message access control and central governance with IAM\\n\\n See \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nCapacity\\n\\n\\nAutomatically provisioned\\n\\n\\nAutomatically provisioned\\n\\n\\n\\n\\n\\n\\nClient library languages\\n\\n\\nJava, Python, Go, Node.js, C++, C#, PHP, Ruby\\nSee\\n \\n\\n\\nJava, Python, Go, Node.js, C++, C#, PHP, Ruby\\nSee\\n \\n\\n\\n\\n\\n\\n\\nCompliance standards\\n\\n\\nDoesn\\'t apply to any feature in \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\n\\n\\nCross-project event delivery\\n\\n\\nSupported\\nSee\\n \\n\\n\\nNot supported\\n\\n\\n\\n\\n\\n\\nCustomer managed encryption keys\\n\\n\\nYes\\nSee \\n\\n\\nYes\\nSee \\n\\n\\n\\n\\n\\n\\nDead letter queues supported\\n\\n\\nNo\\n\\n\\nYes, through Pub/Sub dead letter topic\\nSee\\n \\n\\n\\n\\n\\n\\n\\nEvent format\\n\\n\\nEvents are delivered to the destination in a CloudEvents format\\nSee\\n \\n\\n Optionally, you can override this behavior by\\n \\n\\n\\nEvents are delivered to the destination in a CloudEvents format\\n\\n See \\n\\n\\n\\n\\n\\n\\nEvent size\\n\\n\\n1\\xa0MB maximum\\nSee\\n \\n\\n\\n512\\xa0KB maximum\\nSee\\n \\n\\n\\n\\n\\n\\n\\nLocations\\n\\n\\nSee \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nMessage filtering\\n\\n\\nFiltering on any and all event attributes\\n\\n\\nFiltering on event type and specific attributes\\n\\n\\n\\n\\n\\n\\nMessage routing\\n\\n\\nMany providers to many destinations\\n\\n\\nProvider to destination\\n\\n\\n\\n\\n\\n\\nMessage schema conversion\\n\\n\\nYes\\nSee\\n \\n\\n\\nNo\\n\\n\\n\\n\\n\\n\\nMessage transformation\\n\\n\\nYes, through CEL expressions\\nSee\\n \\n\\n\\nNo\\n\\n\\n\\n\\n\\n\\nObservability\\n\\n\\nThrough Google Cloud Observability such as \\n\\n and \\nSee\\n \\n\\n\\nThrough Google Cloud Observability such as \\n\\n and \\nSee\\n \\n\\n\\n\\n\\n\\n\\nOrdered delivery\\n\\n\\nThere is no in-order, first-in-first-out delivery guarantee\\n\\n\\nThere is no in-order, first-in-first-out delivery guarantee\\n\\n\\n\\n\\n\\n\\nPricing\\n\\n\\nSee \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nRegionality\\n\\n\\nRegional\\nSee \\n\\n\\nRegional, Global\\nSee \\n\\n\\n\\n\\n\\n\\nREST endpoints\\n\\n\\nSee\\n \\n\\n\\nSee\\n \\n\\n\\nSee\\n \\n\\n\\n\\n\\n\\n\\nRetry and retention\\n\\n\\nAt-least-once event delivery to targets; default message retention duration is 24 hours with\\n an exponential backoff delay\\n\\n See \\n\\n\\nAt-least-once event delivery to targets; default message retention duration is 24 hours with\\n an exponential backoff delay\\n\\n See \\n\\n\\n\\n\\n\\n\\nService limits\\n\\n\\nOne bus per Google Cloud project\\n100 pipelines per Google Cloud project per\\n region\\nSee \\n\\n\\n500 triggers per location per Google Cloud project\\nSee\\n \\n\\n\\n\\n\\n\\n\\nService perimeter using VPC Service Controls\\n\\n\\nYes\\nSee\\n \\n\\n\\nYes\\nSee\\n \\n\\n\\n\\n\\n\\n\\nSupported sources\\n\\n\\nGoogle providers\\nDirect publishers using the Eventarc Publishing API\\nSee\\n \\n\\n\\nGoogle providers\\nGoogle providers through audit logs\\nThird-party providers\\nSee\\n \\n\\n\\n\\n\\n\\n\\nSupported targets\\n\\n\\nCloud Run functions (including 1st\\xa0gen)\\nCloud Run jobs and services\\n\\n Eventarc Advanced buses\\nInternal HTTP endpoints in\\n VPC networks\\nPub/Sub topics\\nWorkflows\\nSee\\n \\n\\n\\nCloud Run functions\\nCloud Run services\\nInternal HTTP endpoints in\\n VPC networks\\nPublic endpoints of private and public GKE\\n services\\nWorkflows\\nSee'" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "content" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "3b59e884-7946-4b6c-b768-8d585d0a9bab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Preview\n", + " \n", + " — Eventarc Advanced\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + " \n", + " This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n", + " of the \n", + ".\n", + " \n", + " Pre-GA features are available \"as is\" and might have limited support.\n", + " \n", + " For more information, see the\n", + " \n", + ".\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "Eventarc lets you build event-driven architectures without having to implement,\n", + " customize, or maintain the underlying infrastructure.\n", + "\n", + "\n", + "Eventarc is offered in two editions: \n", + "Eventarc Advanced\n", + " and\n", + " \n", + "Eventarc Standard\n", + ".\n", + "\n", + "\n", + "Both editions offer a scalable, serverless, and fully managed eventing solution that lets you\n", + " asynchronously route messages from sources to targets using loosely coupled services that are\n", + " triggered by and react to state changes known as \n", + "events\n", + ". Both editions support a range of\n", + " event providers and destinations—including Google Cloud services, custom applications, SaaS\n", + " applications, and third-party services—while managing delivery, security, authorization,\n", + " observability, and error-handling for you.\n", + "\n", + "\n", + "Note that the underlying data model for both editions of Eventarc is the same. As\n", + " a use case grows in complexity, you have the option of seamlessly transitioning from using\n", + " Eventarc Standard to using Eventarc Advanced.\n", + "\n", + "\n", + "Editions overview\n", + "\n", + "\n", + "The following is an overview of both editions. For more detailed information, see the\n", + " \n", + " and the\n", + " \n", + ".\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Eventarc Advanced\n", + "\n", + "\n", + "Eventarc Advanced is a fully managed platform for building event-driven\n", + " architectures. It lets you collect events that occur in a system and publish them to a central\n", + " bus. Interested services can subscribe to specific messages by creating enrollments. You\n", + " can use the bus to route events from multiple sources in real time and publish them to\n", + " multiple destinations, and optionally transform events prior to delivery to a target.\n", + " Eventarc Advanced is feature rich and is ideal for organizations with\n", + " complex eventing and messaging needs, particularly those grappling with managing numerous\n", + " Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\n", + " administrators with enhanced and centralized visibility and control,\n", + " Eventarc Advanced enables organizations to connect multiple teams across\n", + " different projects.\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Eventarc Advanced lets you receive, filter,\n", + " transform, route, and deliver messages\n", + "between different event providers and\n", + " destinations (click diagram to enlarge).\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Eventarc Standard\n", + "\n", + "\n", + "Eventarc Standard is recommended for applications where the focus is on simply\n", + " delivering events from event provider to event destination. It lets you quickly and easily\n", + " consume Google events by defining triggers that filter inbound events according to their source,\n", + " type, and other attributes, and then route them to a specified destination.\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Eventarc Standard lets you filter and\n", + " route events\n", + "from event providers to event destinations (click diagram to enlarge).\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Features comparison table\n", + "\n", + "\n", + "The following table can help you choose between Eventarc Advanced and\n", + "Eventarc Standard. It assumes your familiarity with the basic concepts of\n", + "\n", + " \n", + ".\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Feature\n", + "\n", + "\n", + "Eventarc Advanced\n", + "\n", + "\n", + "Eventarc Standard\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Access control\n", + "\n", + "\n", + "Per message access control and central governance with IAM\n", + "\n", + " See \n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Capacity\n", + "\n", + "\n", + "Automatically provisioned\n", + "\n", + "\n", + "Automatically provisioned\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Client library languages\n", + "\n", + "\n", + "Java, Python, Go, Node.js, C++, C#, PHP, Ruby\n", + "See\n", + " \n", + "\n", + "\n", + "Java, Python, Go, Node.js, C++, C#, PHP, Ruby\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Compliance standards\n", + "\n", + "\n", + "Doesn't apply to any feature in \n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Cross-project event delivery\n", + "\n", + "\n", + "Supported\n", + "See\n", + " \n", + "\n", + "\n", + "Not supported\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Customer managed encryption keys\n", + "\n", + "\n", + "Yes\n", + "See \n", + "\n", + "\n", + "Yes\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Dead letter queues supported\n", + "\n", + "\n", + "No\n", + "\n", + "\n", + "Yes, through Pub/Sub dead letter topic\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Event format\n", + "\n", + "\n", + "Events are delivered to the destination in a CloudEvents format\n", + "See\n", + " \n", + "\n", + " Optionally, you can override this behavior by\n", + " \n", + "\n", + "\n", + "Events are delivered to the destination in a CloudEvents format\n", + "\n", + " See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Event size\n", + "\n", + "\n", + "1 MB maximum\n", + "See\n", + " \n", + "\n", + "\n", + "512 KB maximum\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Locations\n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Message filtering\n", + "\n", + "\n", + "Filtering on any and all event attributes\n", + "\n", + "\n", + "Filtering on event type and specific attributes\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Message routing\n", + "\n", + "\n", + "Many providers to many destinations\n", + "\n", + "\n", + "Provider to destination\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Message schema conversion\n", + "\n", + "\n", + "Yes\n", + "See\n", + " \n", + "\n", + "\n", + "No\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Message transformation\n", + "\n", + "\n", + "Yes, through CEL expressions\n", + "See\n", + " \n", + "\n", + "\n", + "No\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Observability\n", + "\n", + "\n", + "Through Google Cloud Observability such as \n", + "\n", + " and \n", + "See\n", + " \n", + "\n", + "\n", + "Through Google Cloud Observability such as \n", + "\n", + " and \n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Ordered delivery\n", + "\n", + "\n", + "There is no in-order, first-in-first-out delivery guarantee\n", + "\n", + "\n", + "There is no in-order, first-in-first-out delivery guarantee\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Pricing\n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Regionality\n", + "\n", + "\n", + "Regional\n", + "See \n", + "\n", + "\n", + "Regional, Global\n", + "See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "REST endpoints\n", + "\n", + "\n", + "https://eventarc.googleapis.com\n", + "See\n", + " \n", + "\n", + "\n", + "https://eventarcpublishing.googleapis.com\n", + "See\n", + " \n", + "\n", + "\n", + "https://eventarc.googleapis.com\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Retry and retention\n", + "\n", + "\n", + "At-least-once event delivery to targets; default message retention duration is 24 hours with\n", + " an exponential backoff delay\n", + "\n", + " See \n", + "\n", + "\n", + "At-least-once event delivery to targets; default message retention duration is 24 hours with\n", + " an exponential backoff delay\n", + "\n", + " See \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Service limits\n", + "\n", + "\n", + "One bus per Google Cloud project\n", + "100 pipelines per Google Cloud project per\n", + " region\n", + "See \n", + "\n", + "\n", + "500 triggers per location per Google Cloud project\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Service perimeter using VPC Service Controls\n", + "\n", + "\n", + "Yes\n", + "See\n", + " \n", + "\n", + "\n", + "Yes\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Supported sources\n", + "\n", + "\n", + "Google providers\n", + "Direct publishers using the Eventarc Publishing API\n", + "See\n", + " \n", + "\n", + "\n", + "Google providers\n", + "Google providers through audit logs\n", + "Third-party providers\n", + "See\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Supported targets\n", + "\n", + "\n", + "Cloud Run functions (including 1st gen)\n", + "Cloud Run jobs and services\n", + "\n", + " Eventarc Advanced buses\n", + "Internal HTTP endpoints in\n", + " VPC networks\n", + "Pub/Sub topics\n", + "Workflows\n", + "See\n", + " \n", + "\n", + "\n", + "Cloud Run functions\n", + "Cloud Run services\n", + "Internal HTTP endpoints in\n", + " VPC networks\n", + "Public endpoints of private and public GKE\n", + " services\n", + "Workflows\n", + "See\n" + ] + } + ], + "source": [ + "print(content)" ] }, { "cell_type": "code", "execution_count": null, - "id": "3a2263cb-694d-490c-8fd3-57a53e8dabfc", + "id": "2c49a47c-f5cb-42b1-a1fc-32b888886075", "metadata": {}, "outputs": [], "source": []