COF-C03 Question 251
Single answerGit integrationA data engineering team wants to manage Snowflake SQL and Python worksheet code in a Git repository and let developers work with branches directly from Snowflake. The security team requires that Snowflake authenticate to the remote repository without storing individual developers' Git credentials in worksheets or sessions. An engineer is preparing the integration and needs to choose the correct Snowflake object to connect the repository to Snowflake. Which Snowflake object should the engineer create?
- A
An API integration that connects Snowflake to the Git provider
- B
A storage integration that points to the Git repository over HTTPS
- C
A notification integration that sends repository events to Snowflake
- D
An external access integration that allows worksheets to call Git APIs directly
Show answer and explanation
Correct answer: A
Explanation
For Snowflake Git integration, the correct setup pattern is to create an API integration for the Git provider and then create a Git repository clone object in Snowflake that references the remote repository. This enables Snowflake users to work with repository contents and branches from within Snowflake-managed development workflows without storing personal Git credentials in worksheets. Storage integrations are only for cloud storage access, notification integrations are for messaging/event services, and external access integrations are for outbound network calls from executable code such as UDFs and procedures. This aligns with Snowflake documentation on Git repository clones and API integrations used for repository connectivity.
- A. Correct.
Correct. Snowflake Git repository support uses an API integration to define the secure connection between Snowflake and a supported remote Git provider. This approach aligns with the requirement to avoid embedding individual user credentials in code or sessions. After the API integration is created, a Git repository clone can be created in Snowflake and linked to the remote repository and branches.
- B. Incorrect.
Incorrect. A storage integration is used for external stages and access to cloud storage services such as Amazon S3, Google Cloud Storage, or Azure Blob Storage/Data Lake Storage. A Git repository is not configured through a storage integration, even if it is accessed over HTTPS.
- C. Incorrect.
Incorrect. A notification integration is used for eventing scenarios such as cloud messaging services, not for connecting Snowflake to a source code repository. Someone might choose this because Git workflows often involve webhooks or notifications, but that is not how Snowflake Git integration is established.
- D. Incorrect.
Incorrect. An external access integration is used to allow handler code, such as UDFs or procedures, to access external network locations. It is not the object used to register and manage a Git repository for Snowflake Git integration. This distractor reflects a common confusion between outbound network access for code execution and Snowflake's built-in Git repository integration.